Add permission check for CaptivePortal#reevaluateNetwork
CaptivePortal#reevaluateNetwork is added as a system API which
requires a proper permission check.
Bug: 148379628
Test: Manually check with captive portal
Test: atest FrameworksNetTests
Test: make test-api-stubs-docs-update-current-api \
system-api-stubs-docs-update-current-api
Change-Id: I559d42089aeb09801d14c251c5165fca793c3cb3
This commit is contained in:
@@ -6030,7 +6030,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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -3754,6 +3754,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
if (nm == null) return;
|
||||
|
||||
if (request == CaptivePortal.APP_REQUEST_REEVALUATION_REQUIRED) {
|
||||
checkNetworkStackPermission();
|
||||
nm.forceReevaluation(Binder.getCallingUid());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user