Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6bf04986 authored by Zaiyue Xue's avatar Zaiyue Xue
Browse files

Fix NullPointerException when showEmptyChart

Bug: 301880705
Fix: 301880705
Test: presubmit
Change-Id: I22a1df6b791396b398038c6bdb8e6b3ca37dc9e1
parent 5d00a71a
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -327,6 +327,10 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll

    // Show empty hourly chart view only if there is no valid battery usage data.
    void showEmptyChart() {
        if (mDailyChartView == null || mHourlyChartView == null) {
            // Chart views are not initialized.
            return;
        }
        setChartSummaryVisible(true);
        mDailyChartView.setVisibility(View.GONE);
        mHourlyChartView.setVisibility(View.VISIBLE);
+23 −0
Original line number Diff line number Diff line
@@ -334,6 +334,29 @@ public final class BatteryChartPreferenceControllerTest {
        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
    public void refreshUi_dailyChartViewIsNull_ignoreRefresh() {
        mBatteryChartPreferenceController.mDailyChartView = null;