diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java index ff95a378a8..195b5462b8 100644 --- a/service/src/com/android/server/ConnectivityService.java +++ b/service/src/com/android/server/ConnectivityService.java @@ -2174,7 +2174,7 @@ public class ConnectivityService extends IConnectivityManager.Stub final IntentFilter dataSaverIntentFilter = new IntentFilter(ACTION_RESTRICT_BACKGROUND_CHANGED); mUserAllContext.registerReceiver(mDataSaverReceiver, dataSaverIntentFilter, - null /* broadcastPermission */, mHandler); + android.Manifest.permission.NETWORK_STACK, mHandler); } // TrackMultiNetworkActivities feature should be enabled by trunk stable flag. diff --git a/service/src/com/android/server/connectivity/BroadcastReceiveHelper.java b/service/src/com/android/server/connectivity/BroadcastReceiveHelper.java index 988d33f099..5fb060a0ed 100644 --- a/service/src/com/android/server/connectivity/BroadcastReceiveHelper.java +++ b/service/src/com/android/server/connectivity/BroadcastReceiveHelper.java @@ -16,6 +16,8 @@ package com.android.server.connectivity; +import static android.Manifest.permission.NETWORK_STACK; + import android.annotation.NonNull; import android.annotation.SuppressLint; import android.content.BroadcastReceiver; @@ -134,7 +136,7 @@ public class BroadcastReceiveHelper { userIntentFilter.addAction(Intent.ACTION_USER_ADDED); userIntentFilter.addAction(Intent.ACTION_USER_REMOVED); userAllContext.registerReceiver(mUserIntentReceiver, userIntentFilter, - null /* broadcastPermission */, mHandler); + NETWORK_STACK, mHandler); // Listen to package change events. final IntentFilter packageIntentFilter = new IntentFilter(); @@ -143,7 +145,7 @@ public class BroadcastReceiveHelper { packageIntentFilter.addAction(Intent.ACTION_PACKAGE_REPLACED); packageIntentFilter.addDataScheme("package"); userAllContext.registerReceiver(mPackageIntentReceiver, packageIntentFilter, - null /* broadcastPermission */, mHandler); + NETWORK_STACK, mHandler); // For PermissionMonitor, listen to EXTERNAL_APPLICATIONS_AVAILABLE is that an app // becoming available means it may need to gain a permission. But an app that becomes @@ -152,7 +154,7 @@ public class BroadcastReceiveHelper { final IntentFilter externalIntentFilter = new IntentFilter(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE); userAllContext.registerReceiver(mExternalAppIntentReceiver, externalIntentFilter, - null /* broadcastPermission */, mHandler); + NETWORK_STACK, mHandler); } /** diff --git a/service/src/com/android/server/connectivity/PermissionMonitor.java b/service/src/com/android/server/connectivity/PermissionMonitor.java index 48f68051d1..96204d20a1 100755 --- a/service/src/com/android/server/connectivity/PermissionMonitor.java +++ b/service/src/com/android/server/connectivity/PermissionMonitor.java @@ -489,7 +489,7 @@ public class PermissionMonitor { intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED); intentFilter.addDataScheme("package"); userAllContext.registerReceiver( - mIntentReceiver, intentFilter, null /* broadcastPermission */, handler); + mIntentReceiver, intentFilter, NETWORK_STACK, handler); // Listen to EXTERNAL_APPLICATIONS_AVAILABLE is that an app becoming // available means it may need to gain a permission. But an app that @@ -499,14 +499,14 @@ public class PermissionMonitor { final IntentFilter externalIntentFilter = new IntentFilter(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE); userAllContext.registerReceiver( - mIntentReceiver, externalIntentFilter, null /* broadcastPermission */, handler); + mIntentReceiver, externalIntentFilter, NETWORK_STACK, handler); // Listen for user add/remove. final IntentFilter userIntentFilter = new IntentFilter(); userIntentFilter.addAction(Intent.ACTION_USER_ADDED); userIntentFilter.addAction(Intent.ACTION_USER_REMOVED); userAllContext.registerReceiver( - mIntentReceiver, userIntentFilter, null /* broadcastPermission */, handler); + mIntentReceiver, userIntentFilter, NETWORK_STACK, handler); } // Register UIDS_ALLOWED_ON_RESTRICTED_NETWORKS setting observer diff --git a/tests/unit/java/com/android/server/connectivity/BroadcastReceiveHelperTest.kt b/tests/unit/java/com/android/server/connectivity/BroadcastReceiveHelperTest.kt index 70dc322a86..d30bfb42c3 100644 --- a/tests/unit/java/com/android/server/connectivity/BroadcastReceiveHelperTest.kt +++ b/tests/unit/java/com/android/server/connectivity/BroadcastReceiveHelperTest.kt @@ -16,6 +16,7 @@ package com.android.server.connectivity +import android.Manifest.permission.NETWORK_STACK import android.content.BroadcastReceiver import android.content.Context import android.content.Intent @@ -33,7 +34,6 @@ import android.os.Handler import android.os.HandlerThread import android.os.UserHandle import android.os.UserManager -import com.android.compatibility.common.util.MoreMatchers.anyOrNull import com.android.server.connectivity.BroadcastReceiveHelper.Delegate import com.android.testutils.DevSdkIgnoreRunner import com.android.testutils.waitForIdle @@ -95,7 +95,7 @@ class BroadcastReceiveHelperTest { verify(mockContext, times(1)).registerReceiver( receiverCaptor.capture(), argThat { it.hasAction(action) }, - anyOrNull(String::class.java), + eq(NETWORK_STACK), eq(handler) ) // Return the first match. diff --git a/tests/unit/java/com/android/server/connectivity/PermissionMonitorTest.java b/tests/unit/java/com/android/server/connectivity/PermissionMonitorTest.java index 04cb639b30..28d25cf5f2 100644 --- a/tests/unit/java/com/android/server/connectivity/PermissionMonitorTest.java +++ b/tests/unit/java/com/android/server/connectivity/PermissionMonitorTest.java @@ -1462,7 +1462,7 @@ public class PermissionMonitorTest { } } return true; - }), any(), any()); + }), eq(NETWORK_STACK), any()); final BroadcastReceiver originalReceiver = receiverCaptor.getValue(); return new BroadcastReceiver() { @Override