Fix b/261390301: NullPointerException at BatteryChartPreferenceController.addAllPreferences()

Bug: 261390301
Fix: 261390301
Test: manual
Change-Id: I23a2f0e73c5840b87577e734a4760423e0d62516
This commit is contained in:
Zaiyue Xue
2022-12-07 16:20:07 +08:00
parent 09d471132d
commit 76f19809c1

View File

@@ -319,7 +319,8 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
} }
if (mOnBatteryUsageUpdatedListener != null) { if (mOnBatteryUsageUpdatedListener != null && mBatteryUsageMap != null
&& mBatteryUsageMap.get(mDailyChartIndex) != null) {
final BatteryDiffData slotUsageData = final BatteryDiffData slotUsageData =
mBatteryUsageMap.get(mDailyChartIndex).get(mHourlyChartIndex); mBatteryUsageMap.get(mDailyChartIndex).get(mHourlyChartIndex);
mOnBatteryUsageUpdatedListener.onBatteryUsageUpdated( mOnBatteryUsageUpdatedListener.onBatteryUsageUpdated(
@@ -359,6 +360,9 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
mDailyChartIndex = 0; mDailyChartIndex = 0;
} else { } else {
mDailyChartView.setVisibility(View.VISIBLE); mDailyChartView.setVisibility(View.VISIBLE);
if (mDailyChartIndex >= mDailyViewModel.size()) {
mDailyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL;
}
mDailyViewModel.setSelectedIndex(mDailyChartIndex); mDailyViewModel.setSelectedIndex(mDailyChartIndex);
mDailyChartView.setViewModel(mDailyViewModel); mDailyChartView.setViewModel(mDailyViewModel);
} }
@@ -370,6 +374,9 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
animateBatteryHourlyChartView(/*visible=*/ true); animateBatteryHourlyChartView(/*visible=*/ true);
final BatteryChartViewModel hourlyViewModel = final BatteryChartViewModel hourlyViewModel =
mHourlyViewModels.get(mDailyChartIndex); mHourlyViewModels.get(mDailyChartIndex);
if (mHourlyChartIndex >= hourlyViewModel.size()) {
mHourlyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL;
}
hourlyViewModel.setSelectedIndex(mHourlyChartIndex); hourlyViewModel.setSelectedIndex(mHourlyChartIndex);
mHourlyChartView.setViewModel(hourlyViewModel); mHourlyChartView.setViewModel(hourlyViewModel);
} }