Fix NullPointerException when showEmptyChart
Bug: 301880705 Fix: 301880705 Test: presubmit Change-Id: I22a1df6b791396b398038c6bdb8e6b3ca37dc9e1
This commit is contained in:
@@ -327,6 +327,10 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
|
|||||||
|
|
||||||
// Show empty hourly chart view only if there is no valid battery usage data.
|
// Show empty hourly chart view only if there is no valid battery usage data.
|
||||||
void showEmptyChart() {
|
void showEmptyChart() {
|
||||||
|
if (mDailyChartView == null || mHourlyChartView == null) {
|
||||||
|
// Chart views are not initialized.
|
||||||
|
return;
|
||||||
|
}
|
||||||
setChartSummaryVisible(true);
|
setChartSummaryVisible(true);
|
||||||
mDailyChartView.setVisibility(View.GONE);
|
mDailyChartView.setVisibility(View.GONE);
|
||||||
mHourlyChartView.setVisibility(View.VISIBLE);
|
mHourlyChartView.setVisibility(View.VISIBLE);
|
||||||
|
@@ -334,6 +334,29 @@ public final class BatteryChartPreferenceControllerTest {
|
|||||||
verify(mHourlyChartView).setVisibility(View.VISIBLE);
|
verify(mHourlyChartView).setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void showEmptyChart_dailyChartViewIsNull_ignoreShowEmptyChart() {
|
||||||
|
mBatteryChartPreferenceController.mDailyChartView = null;
|
||||||
|
doReturn(View.GONE).when(mHourlyChartView).getVisibility();
|
||||||
|
|
||||||
|
mBatteryChartPreferenceController.showEmptyChart();
|
||||||
|
|
||||||
|
verify(mChartSummaryTextView, never()).setVisibility(View.VISIBLE);
|
||||||
|
verify(mDailyChartView, never()).setVisibility(View.GONE);
|
||||||
|
verify(mHourlyChartView, never()).setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void showEmptyChart_hourlyChartViewIsNull_ignoreShowEmptyChart() {
|
||||||
|
mBatteryChartPreferenceController.mHourlyChartView = null;
|
||||||
|
|
||||||
|
mBatteryChartPreferenceController.showEmptyChart();
|
||||||
|
|
||||||
|
verify(mChartSummaryTextView, never()).setVisibility(View.VISIBLE);
|
||||||
|
verify(mDailyChartView, never()).setVisibility(View.GONE);
|
||||||
|
verify(mHourlyChartView, never()).setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void refreshUi_dailyChartViewIsNull_ignoreRefresh() {
|
public void refreshUi_dailyChartViewIsNull_ignoreRefresh() {
|
||||||
mBatteryChartPreferenceController.mDailyChartView = null;
|
mBatteryChartPreferenceController.mDailyChartView = null;
|
||||||
|
Reference in New Issue
Block a user