Use string for CREATE_APP_SPECIFIC_NETWORK permission
This allows using the permission in 25Q4 before it becomes a public API in 26Q2. Flag: android.net.platform.flags.create_app_specific_network_permission Test: TH Bug: 435313135 Cherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:60f7743f773b05a98e651c953631e93957291bf5 Merged-In: I8d336a588eddf9a027079e208b2b96bb6c163e86 Change-Id: I8d336a588eddf9a027079e208b2b96bb6c163e86
This commit is contained in:
parent
fcc9df03ab
commit
c4fea9d31c
3 changed files with 16 additions and 4 deletions
|
|
@ -3967,6 +3967,10 @@ public class ConnectivityManager {
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: Use android.Manifest.permission.CREATE_APP_SPECIFIC_NETWORK once it's available.
|
||||
private static final String PERMISSION_CREATE_APP_SPECIFIC_NETWORK =
|
||||
"android.permission.CREATE_APP_SPECIFIC_NETWORK";
|
||||
|
||||
/**
|
||||
* @hide
|
||||
* Register a NetworkAgent with ConnectivityService.
|
||||
|
|
@ -3975,7 +3979,7 @@ public class ConnectivityManager {
|
|||
@RequiresPermission(anyOf = {
|
||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
|
||||
android.Manifest.permission.NETWORK_FACTORY,
|
||||
android.Manifest.permission.CREATE_APP_SPECIFIC_NETWORK})
|
||||
PERMISSION_CREATE_APP_SPECIFIC_NETWORK})
|
||||
public NetworkAndAgentRegistryParcelable registerNetworkAgent(
|
||||
@NonNull INetworkAgent na, @NonNull NetworkInfo ni,
|
||||
@NonNull LinkProperties lp, @NonNull NetworkCapabilities nc,
|
||||
|
|
@ -3992,7 +3996,7 @@ public class ConnectivityManager {
|
|||
@RequiresPermission(anyOf = {
|
||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
|
||||
android.Manifest.permission.NETWORK_FACTORY,
|
||||
android.Manifest.permission.CREATE_APP_SPECIFIC_NETWORK})
|
||||
PERMISSION_CREATE_APP_SPECIFIC_NETWORK})
|
||||
public NetworkAndAgentRegistryParcelable registerNetworkAgent(
|
||||
@NonNull INetworkAgent na, @NonNull NetworkInfo ni,
|
||||
@NonNull LinkProperties lp, @NonNull NetworkCapabilities nc,
|
||||
|
|
|
|||
|
|
@ -531,6 +531,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||
// CONNECTIVITY_ACTION broadcast.
|
||||
private static final char DELIVERY_GROUP_KEY_DELIMITER = ';';
|
||||
|
||||
// TODO: Use android.Manifest.permission.CREATE_APP_SPECIFIC_NETWORK once it's available.
|
||||
private static final String PERMISSION_CREATE_APP_SPECIFIC_NETWORK =
|
||||
"android.permission.CREATE_APP_SPECIFIC_NETWORK";
|
||||
|
||||
// The maximum value for the blocking validation result, in milliseconds.
|
||||
public static final int MAX_VALIDATION_IGNORE_AFTER_ROAM_TIME_MS = 10000;
|
||||
|
||||
|
|
@ -4144,7 +4148,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||
// The CREATE_APP_SPECIFIC_NETWORK permission was introduced in 25Q4.
|
||||
// It must not be granted on earlier platform versions, even if an app declares it.
|
||||
return mDeps.isAtLeast25Q4() && hasAnyPermissionOf(mContext,
|
||||
android.Manifest.permission.CREATE_APP_SPECIFIC_NETWORK);
|
||||
PERMISSION_CREATE_APP_SPECIFIC_NETWORK);
|
||||
}
|
||||
|
||||
private boolean hasNetworkFactoryPermission() {
|
||||
|
|
|
|||
|
|
@ -32,6 +32,10 @@ import com.android.testutils.TestableNetworkCallback.Event.CapabilitiesChanged
|
|||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
// TODO: Use android.Manifest.permission.CREATE_APP_SPECIFIC_NETWORK once it's available.
|
||||
private const val PERMISSION_CREATE_APP_SPECIFIC_NETWORK =
|
||||
"android.permission.CREATE_APP_SPECIFIC_NETWORK"
|
||||
|
||||
@RunWith(DevSdkIgnoreRunner::class)
|
||||
@IgnoreUpTo(Build.VERSION_CODES.R)
|
||||
class CSCreateAppSpecificNetworkPermissionTest : CSTest() {
|
||||
|
|
@ -47,7 +51,7 @@ class CSCreateAppSpecificNetworkPermissionTest : CSTest() {
|
|||
PERMISSION_DENIED
|
||||
)
|
||||
context.setPermission(
|
||||
android.Manifest.permission.CREATE_APP_SPECIFIC_NETWORK,
|
||||
PERMISSION_CREATE_APP_SPECIFIC_NETWORK,
|
||||
PERMISSION_GRANTED
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue