From 82d58d9e4d234002e2de12e9811d5d0c16e0edca Mon Sep 17 00:00:00 2001 From: Aaron Huang Date: Tue, 2 Feb 2021 18:27:39 +0800 Subject: [PATCH] Use NetworkCallback in BatteryStatsService to get connectivity change Currently, battery stats service uses noteConnectivityChanged in connectivity service(CS) to pass connection state and the type of connection for BatteryStats. However, CS is going to be a mainline module which can only access formal API. noteConnectivityChanged is a hidden API and it pass LegacyNetworkType which has been deprecated years ago, so it should avoid to expose this API with a deprecated argument. Thus, register a NetworkCallback in BattyeryStatsService to listen the network capabilities changed to remove the noteConnectivityChanged from connectivity service. Besides, let noteConnectivityChanged take display transport instead of legacy network type. Bug: 171686421 Test: atest FrameworksNetTests atest FrameworksCoreTests:BatteryStatsTests (cherry-picked from ag/13749983) Change-Id: I3dac94ec06f673aa719e124f1ef3d8169f68f9fb Merged-In: I3dac94ec06f673aa719e124f1ef3d8169f68f9fb --- .../core/java/com/android/server/ConnectivityService.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 84de6ec8e0..e05a202ae6 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -2388,13 +2388,6 @@ public class ConnectivityService extends IConnectivityManager.Stub final BroadcastOptions opts = BroadcastOptions.makeBasic(); opts.setMaxManifestReceiverApiLevel(Build.VERSION_CODES.M); options = opts.toBundle(); - final IBatteryStats bs = mDeps.getBatteryStatsService(); - try { - bs.noteConnectivityChanged(intent.getIntExtra( - ConnectivityManager.EXTRA_NETWORK_TYPE, ConnectivityManager.TYPE_NONE), - ni.getState().toString()); - } catch (RemoteException e) { - } intent.addFlags(Intent.FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS); } try {