From f1f57cc9c5ad39f0faee37449e723f688a18fb29 Mon Sep 17 00:00:00 2001 From: Chiachang Wang Date: Thu, 25 Feb 2021 16:58:40 +0800 Subject: [PATCH] Have the DataConnectionStat started from BSS ConnectivityService is going to becoming a mainline module. The DataConnectionStat is used to listen the telephony status change and report to BSS. This does not really relate to connectivity. DataConnectionStat was created in ConnectivityService and use some hidden APIs which is not allowed for a mainline module. Thus, move the creation and monitor to BSS directly which is more appropriate place from its functional perspective. Also, move the DataConnectionStat out from module scope since it does have too much relationship with connectivity module. Bug: 171183530 Test: m ; verify the behavior with cellular state change Change-Id: I0c2c1b90df7a107ee75e81fd49d39d65678204c0 Merged-In: I0c2c1b90df7a107ee75e81fd49d39d65678204c0 (cherry picked from commit 39c303a839e37e143a2e9145e81fe506a6c3a920) --- services/core/Android.bp | 1 - .../core/java/com/android/server/ConnectivityService.java | 4 ---- .../core/java/com/android/server/am/BatteryStatsService.java | 4 ++++ 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/services/core/Android.bp b/services/core/Android.bp index 99ce2db006ce4..8ccfad6fe0618 100644 --- a/services/core/Android.bp +++ b/services/core/Android.bp @@ -223,7 +223,6 @@ filegroup { "java/com/android/server/TestNetworkService.java", "java/com/android/server/connectivity/AutodestructReference.java", "java/com/android/server/connectivity/ConnectivityConstants.java", - "java/com/android/server/connectivity/DataConnectionStats.java", "java/com/android/server/connectivity/DnsManager.java", "java/com/android/server/connectivity/KeepaliveTracker.java", "java/com/android/server/connectivity/LingerMonitor.java", diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index e05a202ae6574..7f850838f4904 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -203,7 +203,6 @@ import com.android.net.module.util.LinkPropertiesUtils.CompareResult; import com.android.net.module.util.PermissionUtils; import com.android.server.am.BatteryStatsService; import com.android.server.connectivity.AutodestructReference; -import com.android.server.connectivity.DataConnectionStats; import com.android.server.connectivity.DnsManager; import com.android.server.connectivity.DnsManager.PrivateDnsValidationUpdate; import com.android.server.connectivity.KeepaliveTracker; @@ -1213,9 +1212,6 @@ public class ConnectivityService extends IConnectivityManager.Stub mSettingsObserver = new SettingsObserver(mContext, mHandler); registerSettingsCallbacks(); - final DataConnectionStats dataConnectionStats = new DataConnectionStats(mContext, mHandler); - dataConnectionStats.startMonitoring(); - mKeepaliveTracker = new KeepaliveTracker(mContext, mHandler); mNotifier = new NetworkNotificationManager(mContext, mTelephonyManager); mQosCallbackTracker = new QosCallbackTracker(mHandler, mNetworkRequestCounter); diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index 82f72e8cc1acf..ce2852ce7727c 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -85,6 +85,7 @@ import com.android.internal.util.function.pooled.PooledLambda; import com.android.net.module.util.NetworkCapabilitiesUtils; import com.android.server.LocalServices; import com.android.server.Watchdog; +import com.android.server.connectivity.DataConnectionStats; import com.android.server.net.BaseNetworkObserver; import com.android.server.pm.UserManagerInternal; @@ -371,6 +372,9 @@ public final class BatteryStatsService extends IBatteryStats.Stub } Watchdog.getInstance().addMonitor(this); + + final DataConnectionStats dataConnectionStats = new DataConnectionStats(mContext, mHandler); + dataConnectionStats.startMonitoring(); } private final class LocalService extends BatteryStatsInternal {