diff options
| author | 2024-06-03 15:05:54 -0700 | |
|---|---|---|
| committer | 2024-06-03 15:05:54 -0700 | |
| commit | 0cb75c6daa32bceda381814bf4d35bd90132b7d0 (patch) | |
| tree | 1e6fc25096f4586a0a1d19fc70acfac28d897891 | |
| parent | 0800d12c6b1359d6f1da66ebf35aea10885fdf9f (diff) | |
Fix NullPointerException when telephony does not return ModemActivityInfo
Bug: 342865877
Test: atest FrameworksServicesTests PowerStatsTests
Test: atest --host FrameworksServicesTestsRavenwood PowerStatsTestsRavenwood
Flag: com.android.server.power.optimization.streamlined_connectivity_battery_stats
Change-Id: Iaabbf99a672e2154d2927cc58aeb97b63d6d6488
| -rw-r--r-- | services/core/java/com/android/server/power/stats/MobileRadioPowerStatsCollector.java | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/power/stats/MobileRadioPowerStatsCollector.java b/services/core/java/com/android/server/power/stats/MobileRadioPowerStatsCollector.java index a96e01bdeadf..33ea56399381 100644 --- a/services/core/java/com/android/server/power/stats/MobileRadioPowerStatsCollector.java +++ b/services/core/java/com/android/server/power/stats/MobileRadioPowerStatsCollector.java @@ -195,6 +195,9 @@ public class MobileRadioPowerStatsCollector extends PowerStatsCollector { return null; } + Arrays.fill(mPowerStats.stats, 0); + mPowerStats.uidStats.clear(); + collectModemActivityInfo(); collectNetworkStats(); @@ -239,16 +242,16 @@ public class MobileRadioPowerStatsCollector extends PowerStatsCollector { activityInfo = null; } + if (activityInfo == null) { + return; + } + ModemActivityInfo deltaInfo = mLastModemActivityInfo == null - ? (activityInfo == null ? null : activityInfo.getDelta(activityInfo)) + ? activityInfo.getDelta(activityInfo) : mLastModemActivityInfo.getDelta(activityInfo); mLastModemActivityInfo = activityInfo; - if (deltaInfo == null) { - return; - } - setTimestamp(deltaInfo.getTimestampMillis()); mLayout.setDeviceSleepTime(mDeviceStats, deltaInfo.getSleepTimeMillis()); mLayout.setDeviceIdleTime(mDeviceStats, deltaInfo.getIdleTimeMillis()); @@ -293,8 +296,6 @@ public class MobileRadioPowerStatsCollector extends PowerStatsCollector { } private void collectNetworkStats() { - mPowerStats.uidStats.clear(); - NetworkStats networkStats = mNetworkStatsSupplier.get(); if (networkStats == null) { return; |