diff options
| -rwxr-xr-x | api/system-current.txt | 2 | ||||
| -rw-r--r-- | api/test-current.txt | 3 | ||||
| -rw-r--r-- | core/java/android/net/CaptivePortal.java | 2 | ||||
| -rw-r--r-- | core/res/AndroidManifest.xml | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/ConnectivityService.java | 1 |
5 files changed, 7 insertions, 3 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index b3a2c135add5..b07066df7b3c 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -6031,7 +6031,7 @@ package android.net { public class CaptivePortal implements android.os.Parcelable { method public void logEvent(int, @NonNull String); - method public void reevaluateNetwork(); + method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork(); method public void useNetwork(); field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64 field public static final int APP_RETURN_DISMISSED = 0; // 0x0 diff --git a/api/test-current.txt b/api/test-current.txt index 7e8eb0c965ca..84fd6f41ae5d 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -15,6 +15,7 @@ package android { field public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS"; field public static final String MANAGE_CRATES = "android.permission.MANAGE_CRATES"; field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS"; + field public static final String NETWORK_STACK = "android.permission.NETWORK_STACK"; field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS"; field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS"; field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS"; @@ -1641,7 +1642,7 @@ package android.net { public class CaptivePortal implements android.os.Parcelable { method public void logEvent(int, @NonNull String); - method public void reevaluateNetwork(); + method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork(); method public void useNetwork(); field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64 field public static final int APP_RETURN_DISMISSED = 0; // 0x0 diff --git a/core/java/android/net/CaptivePortal.java b/core/java/android/net/CaptivePortal.java index fb35b4bde303..448fe5a0511e 100644 --- a/core/java/android/net/CaptivePortal.java +++ b/core/java/android/net/CaptivePortal.java @@ -16,6 +16,7 @@ package android.net; import android.annotation.NonNull; +import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.TestApi; import android.os.IBinder; @@ -153,6 +154,7 @@ public class CaptivePortal implements Parcelable { */ @SystemApi @TestApi + @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork() { try { ICaptivePortal.Stub.asInterface(mBinder).appRequest(APP_REQUEST_REEVALUATION_REQUIRED); diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 57ba7fe1d143..60b3a19c4cf3 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -1640,7 +1640,7 @@ <!-- Allows network stack services (Connectivity and Wifi) to coordinate <p>Not for use by third-party or privileged applications. - @SystemApi + @SystemApi @TestApi @hide This should only be used by Connectivity and Wifi Services. --> <permission android:name="android.permission.NETWORK_STACK" diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index c47cde34a9af..b334b26fa86c 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -3749,6 +3749,7 @@ public class ConnectivityService extends IConnectivityManager.Stub if (nm == null) return; if (request == CaptivePortal.APP_REQUEST_REEVALUATION_REQUIRED) { + checkNetworkStackPermission(); nm.forceReevaluation(Binder.getCallingUid()); } } |