From c62d3c22df4d52847de96b9377128625ae6643c9 Mon Sep 17 00:00:00 2001 From: paulhu Date: Tue, 19 Nov 2019 17:55:31 +0800 Subject: [PATCH] Adjust PermissionMonitor#startMonitoring in ConnectivityService Let PermissionMonitor#startMonitoring() running in the beginning of the ConnectivityService#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. Bug: 135897744 Test: atest FrameworksNetTests Change-Id: Ibef8e7b0017a77384630d34c9edc6c40875f773e --- .../core/java/com/android/server/ConnectivityService.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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(); } /**