diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 7d7104ce38..ce4cdc8b86 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -2186,6 +2186,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(); @@ -2206,8 +2211,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(); } /**