diff options
| author | Frank Li <lifr@google.com> | 2022-01-12 00:03:28 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2022-01-12 00:03:28 +0000 |
| commit | 5c233dfcaa67d8ac57064cb0a8a6b7a1d2d2a8d3 (patch) | |
| tree | 7aa7c11b9b87c1a876abef42c71b99d590917aa2 /core/java | |
| parent | cb2fb6825fff414c447c49aafa9252e8f970d5fe (diff) | |
| parent | f504f0912fc75f8ba62e61855b96a9df5bba133b (diff) | |
Merge "[DU03]Remove INetworkStatsService from BatteryStatsImpl"
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/os/BatteryStatsImpl.java | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java index 21f719c74aa8..9429c79697bf 100644 --- a/core/java/com/android/internal/os/BatteryStatsImpl.java +++ b/core/java/com/android/internal/os/BatteryStatsImpl.java @@ -26,6 +26,7 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.ActivityManager; +import android.app.usage.NetworkStatsManager; import android.bluetooth.BluetoothActivityEnergyInfo; import android.bluetooth.UidTraffic; import android.compat.annotation.UnsupportedAppUsage; @@ -37,7 +38,6 @@ import android.content.IntentFilter; import android.database.ContentObserver; import android.hardware.usb.UsbManager; import android.location.GnssSignalQuality; -import android.net.INetworkStatsService; import android.net.NetworkStats; import android.net.Uri; import android.net.wifi.WifiManager; @@ -137,7 +137,9 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Queue; +import java.util.Set; import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.ReentrantLock; @@ -12534,19 +12536,11 @@ public class BatteryStatsImpl extends BatteryStats { private NetworkStats mLastModemNetworkStats = new NetworkStats(0, -1); @VisibleForTesting - protected NetworkStats readNetworkStatsLocked(String[] ifaces) { - try { - if (!ArrayUtils.isEmpty(ifaces)) { - INetworkStatsService statsService = INetworkStatsService.Stub.asInterface( - ServiceManager.getService(Context.NETWORK_STATS_SERVICE)); - if (statsService != null) { - return statsService.getDetailedUidStats(ifaces); - } else { - Slog.e(TAG, "Failed to get networkStatsService "); - } - } - } catch (RemoteException e) { - Slog.e(TAG, "failed to read network stats for ifaces: " + Arrays.toString(ifaces) + e); + protected NetworkStats readNetworkStatsLocked(@NonNull NetworkStatsManager networkStatsManager, + String[] ifaces) { + Objects.requireNonNull(networkStatsManager); + if (!ArrayUtils.isEmpty(ifaces)) { + return networkStatsManager.getDetailedUidStats(Set.of(ifaces)); } return null; } @@ -12557,7 +12551,8 @@ public class BatteryStatsImpl extends BatteryStats { */ @GuardedBy("this") public void updateWifiState(@Nullable final WifiActivityEnergyInfo info, - final long consumedChargeUC, long elapsedRealtimeMs, long uptimeMs) { + final long consumedChargeUC, long elapsedRealtimeMs, long uptimeMs, + @NonNull NetworkStatsManager networkStatsManager) { if (DEBUG_ENERGY) { synchronized (mWifiNetworkLock) { Slog.d(TAG, "Updating wifi stats: " + Arrays.toString(mWifiIfaces)); @@ -12567,7 +12562,8 @@ public class BatteryStatsImpl extends BatteryStats { // Grab a separate lock to acquire the network stats, which may do I/O. NetworkStats delta = null; synchronized (mWifiNetworkLock) { - final NetworkStats latestStats = readNetworkStatsLocked(mWifiIfaces); + final NetworkStats latestStats = readNetworkStatsLocked(networkStatsManager, + mWifiIfaces); if (latestStats != null) { delta = NetworkStats.subtract(latestStats, mLastWifiNetworkStats, null, null, mNetworkStatsPool.acquire()); @@ -12920,7 +12916,8 @@ public class BatteryStatsImpl extends BatteryStats { * Distribute Cell radio energy info and network traffic to apps. */ public void noteModemControllerActivity(@Nullable final ModemActivityInfo activityInfo, - final long consumedChargeUC, long elapsedRealtimeMs, long uptimeMs) { + final long consumedChargeUC, long elapsedRealtimeMs, long uptimeMs, + @NonNull NetworkStatsManager networkStatsManager) { if (DEBUG_ENERGY) { Slog.d(TAG, "Updating mobile radio stats with " + activityInfo); } @@ -12934,7 +12931,8 @@ public class BatteryStatsImpl extends BatteryStats { // Grab a separate lock to acquire the network stats, which may do I/O. NetworkStats delta = null; synchronized (mModemNetworkLock) { - final NetworkStats latestStats = readNetworkStatsLocked(mModemIfaces); + final NetworkStats latestStats = readNetworkStatsLocked(networkStatsManager, + mModemIfaces); if (latestStats != null) { delta = NetworkStats.subtract(latestStats, mLastModemNetworkStats, null, null, mNetworkStatsPool.acquire()); |
