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 {
|
public class CaptivePortal implements android.os.Parcelable {
|
||||||
method public void logEvent(int, @NonNull String);
|
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();
|
method public void useNetwork();
|
||||||
field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64
|
field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64
|
||||||
field public static final int APP_RETURN_DISMISSED = 0; // 0x0
|
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_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
|
||||||
field public static final String MANAGE_CRATES = "android.permission.MANAGE_CRATES";
|
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 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 READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS";
|
||||||
field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
|
field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
|
||||||
field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS";
|
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 {
|
public class CaptivePortal implements android.os.Parcelable {
|
||||||
method public void logEvent(int, @NonNull String);
|
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();
|
method public void useNetwork();
|
||||||
field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64
|
field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64
|
||||||
field public static final int APP_RETURN_DISMISSED = 0; // 0x0
|
field public static final int APP_RETURN_DISMISSED = 0; // 0x0
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
package android.net;
|
package android.net;
|
||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
|
import android.annotation.RequiresPermission;
|
||||||
import android.annotation.SystemApi;
|
import android.annotation.SystemApi;
|
||||||
import android.annotation.TestApi;
|
import android.annotation.TestApi;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
@@ -153,6 +154,7 @@ public class CaptivePortal implements Parcelable {
|
|||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
@TestApi
|
@TestApi
|
||||||
|
@RequiresPermission(android.Manifest.permission.NETWORK_STACK)
|
||||||
public void reevaluateNetwork() {
|
public void reevaluateNetwork() {
|
||||||
try {
|
try {
|
||||||
ICaptivePortal.Stub.asInterface(mBinder).appRequest(APP_REQUEST_REEVALUATION_REQUIRED);
|
ICaptivePortal.Stub.asInterface(mBinder).appRequest(APP_REQUEST_REEVALUATION_REQUIRED);
|
||||||
|
|||||||
@@ -1640,7 +1640,7 @@
|
|||||||
|
|
||||||
<!-- Allows network stack services (Connectivity and Wifi) to coordinate
|
<!-- Allows network stack services (Connectivity and Wifi) to coordinate
|
||||||
<p>Not for use by third-party or privileged applications.
|
<p>Not for use by third-party or privileged applications.
|
||||||
@SystemApi
|
@SystemApi @TestApi
|
||||||
@hide This should only be used by Connectivity and Wifi Services.
|
@hide This should only be used by Connectivity and Wifi Services.
|
||||||
-->
|
-->
|
||||||
<permission android:name="android.permission.NETWORK_STACK"
|
<permission android:name="android.permission.NETWORK_STACK"
|
||||||
|
|||||||
@@ -3754,6 +3754,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
if (nm == null) return;
|
if (nm == null) return;
|
||||||
|
|
||||||
if (request == CaptivePortal.APP_REQUEST_REEVALUATION_REQUIRED) {
|
if (request == CaptivePortal.APP_REQUEST_REEVALUATION_REQUIRED) {
|
||||||
|
checkNetworkStackPermission();
|
||||||
nm.forceReevaluation(Binder.getCallingUid());
|
nm.forceReevaluation(Binder.getCallingUid());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user