diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 81eb4b355a..1a8cf89720 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -2185,6 +2185,11 @@ public class ConnectivityService extends IConnectivityManager.Stub */ @VisibleForTesting public void systemReady() { + // Let PermissionMonitor#startMonitoring() running in the beginning of the systemReady + // before MultipathPolicyTracker.start(). Since mApps in PermissionMonitor needs to be + // populated first to ensure that listening network request which is sent by + // MultipathPolicyTracker won't be added NET_CAPABILITY_FOREGROUND capability. + mPermissionMonitor.startMonitoring(); mProxyTracker.loadGlobalProxy(); registerNetdEventCallback(); mTethering.systemReady(); @@ -2205,8 +2210,6 @@ public class ConnectivityService extends IConnectivityManager.Stub mHandler.sendMessage(mHandler.obtainMessage(EVENT_CONFIGURE_ALWAYS_ON_NETWORKS)); mHandler.sendMessage(mHandler.obtainMessage(EVENT_SYSTEM_READY)); - - mPermissionMonitor.startMonitoring(); } /**