Merge "Fix b/261390301: NullPointerException at BatteryChartPreferenceController.addAllPreferences()"
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
index 707c5b2..c2eab57 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
@@ -319,7 +319,8 @@
}
- if (mOnBatteryUsageUpdatedListener != null) {
+ if (mOnBatteryUsageUpdatedListener != null && mBatteryUsageMap != null
+ && mBatteryUsageMap.get(mDailyChartIndex) != null) {
final BatteryDiffData slotUsageData =
mBatteryUsageMap.get(mDailyChartIndex).get(mHourlyChartIndex);
mOnBatteryUsageUpdatedListener.onBatteryUsageUpdated(
@@ -359,6 +360,9 @@
mDailyChartIndex = 0;
} else {
mDailyChartView.setVisibility(View.VISIBLE);
+ if (mDailyChartIndex >= mDailyViewModel.size()) {
+ mDailyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL;
+ }
mDailyViewModel.setSelectedIndex(mDailyChartIndex);
mDailyChartView.setViewModel(mDailyViewModel);
}
@@ -370,6 +374,9 @@
animateBatteryHourlyChartView(/*visible=*/ true);
final BatteryChartViewModel hourlyViewModel =
mHourlyViewModels.get(mDailyChartIndex);
+ if (mHourlyChartIndex >= hourlyViewModel.size()) {
+ mHourlyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL;
+ }
hourlyViewModel.setSelectedIndex(mHourlyChartIndex);
mHourlyChartView.setViewModel(hourlyViewModel);
}