summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dmitri Plotnikov <dplotnikov@google.com> 2024-06-03 15:05:54 -0700
committer Dmitri Plotnikov <dplotnikov@google.com> 2024-06-03 15:05:54 -0700
commit0cb75c6daa32bceda381814bf4d35bd90132b7d0 (patch)
tree1e6fc25096f4586a0a1d19fc70acfac28d897891
parent0800d12c6b1359d6f1da66ebf35aea10885fdf9f (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.java15
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;