diff options
| author | 2018-10-09 18:50:32 +0900 | |
|---|---|---|
| committer | 2018-10-10 17:50:05 +0900 | |
| commit | 85eca488e562275de3f5395fb5ad58d3bd8218bd (patch) | |
| tree | 006813524466c90261eaadb8085520d3067dd282 | |
| parent | a788eabd7231ce2ab88a37b7762d20bcb81600ab (diff) | |
Make setAirplaneMode @SystemApi for SetupWizard.
Expose ConnectivityManager#setAirplaneMode and the
NETWORK_SETUP_WIZARD permission so that SetupWizard can call
setAirplaneMode.
Delete setAirplaneMode from the greylist because the permissions
checks on it, since at least 2013, have been for a privileged
permission (CONNECTIVITY_INTERNAL) that normal apps don't have.
Test: m
Bug: 115302596
Change-Id: I28f24d32c4b4b386407e9e0e3514ea9f8854f4a8
| -rw-r--r-- | api/system-current.txt | 2 | ||||
| -rw-r--r-- | config/hiddenapi-light-greylist.txt | 1 | ||||
| -rw-r--r-- | core/java/android/net/ConnectivityManager.java | 2 | ||||
| -rw-r--r-- | core/res/AndroidManifest.xml | 1 |
4 files changed, 4 insertions, 2 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 89ac7210de46..c8dcc82180e9 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -120,6 +120,7 @@ package android { field public static final java.lang.String MOUNT_FORMAT_FILESYSTEMS = "android.permission.MOUNT_FORMAT_FILESYSTEMS"; field public static final java.lang.String MOUNT_UNMOUNT_FILESYSTEMS = "android.permission.MOUNT_UNMOUNT_FILESYSTEMS"; field public static final java.lang.String MOVE_PACKAGE = "android.permission.MOVE_PACKAGE"; + field public static final java.lang.String NETWORK_SETUP_WIZARD = "android.permission.NETWORK_SETUP_WIZARD"; field public static final java.lang.String NOTIFICATION_DURING_SETUP = "android.permission.NOTIFICATION_DURING_SETUP"; field public static final java.lang.String NOTIFY_TV_INPUTS = "android.permission.NOTIFY_TV_INPUTS"; field public static final java.lang.String OBSERVE_APP_USAGE = "android.permission.OBSERVE_APP_USAGE"; @@ -3074,6 +3075,7 @@ package android.net { public class ConnectivityManager { method public java.lang.String getCaptivePortalServerUrl(); method public boolean isTetheringSupported(); + method public void setAirplaneMode(boolean); method public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback); method public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler); method public void stopTethering(int); diff --git a/config/hiddenapi-light-greylist.txt b/config/hiddenapi-light-greylist.txt index fbf5b5288928..7339311311c3 100644 --- a/config/hiddenapi-light-greylist.txt +++ b/config/hiddenapi-light-greylist.txt @@ -573,7 +573,6 @@ Landroid/net/IConnectivityManager;->getTetherableWifiRegexs()[Ljava/lang/String; Landroid/net/IConnectivityManager;->getTetheredIfaces()[Ljava/lang/String; Landroid/net/IConnectivityManager;->getTetheringErroredIfaces()[Ljava/lang/String; Landroid/net/IConnectivityManager;->reportInetCondition(II)V -Landroid/net/IConnectivityManager;->setAirplaneMode(Z)V Landroid/net/IConnectivityManager;->startLegacyVpn(Lcom/android/internal/net/VpnProfile;)V Landroid/net/INetworkManagementEventObserver$Stub;-><init>()V Landroid/net/INetworkPolicyListener$Stub;-><init>()V diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index 8333b817add0..ee386127bd4d 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -2728,7 +2728,7 @@ public class ConnectivityManager { * @hide */ @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) - @UnsupportedAppUsage + @SystemApi public void setAirplaneMode(boolean enable) { try { mService.setAirplaneMode(enable); diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 73bb1fc1b4a7..22194cc2ebbd 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -1441,6 +1441,7 @@ <!-- Allows SetupWizard to call methods in Networking services <p>Not for use by any other third-party or privileged applications. + @SystemApi @hide This should only be used by SetupWizard. --> <permission android:name="android.permission.NETWORK_SETUP_WIZARD" |