Add null check when restart batteryinfo loader
Even though we unregister contentObserver in onPause and register in onResume, callback still be called while fragment is detached. Anyhow add a null check in settings to stop crash Fixes: 131905853 Test: RunSettingsRoboTests Change-Id: I8c0c2c04c3b8d942e0c97cf71a7d3e735a24b467
This commit is contained in:
@@ -378,6 +378,9 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void restartBatteryInfoLoader() {
|
void restartBatteryInfoLoader() {
|
||||||
|
if (getContext() == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
getLoaderManager().restartLoader(BATTERY_INFO_LOADER, Bundle.EMPTY,
|
getLoaderManager().restartLoader(BATTERY_INFO_LOADER, Bundle.EMPTY,
|
||||||
mBatteryInfoLoaderCallbacks);
|
mBatteryInfoLoaderCallbacks);
|
||||||
if (mPowerFeatureProvider.isEstimateDebugEnabled()) {
|
if (mPowerFeatureProvider.isEstimateDebugEnabled()) {
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.android.settings.fuelgauge;
|
package com.android.settings.fuelgauge;
|
||||||
|
|
||||||
|
import static com.android.settings.fuelgauge.PowerUsageSummary.BATTERY_INFO_LOADER;
|
||||||
import static com.android.settings.fuelgauge.PowerUsageSummary.MENU_ADVANCED_BATTERY;
|
import static com.android.settings.fuelgauge.PowerUsageSummary.MENU_ADVANCED_BATTERY;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
@@ -373,6 +374,17 @@ public class PowerUsageSummaryTest {
|
|||||||
mFragment.mSettingsObserver);
|
mFragment.mSettingsObserver);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void restartBatteryInfoLoader_contextNull_doNothing() {
|
||||||
|
when(mFragment.getContext()).thenReturn(null);
|
||||||
|
when(mFragment.getLoaderManager()).thenReturn(mLoaderManager);
|
||||||
|
|
||||||
|
mFragment.restartBatteryInfoLoader();
|
||||||
|
|
||||||
|
verify(mLoaderManager, never()).restartLoader(BATTERY_INFO_LOADER, Bundle.EMPTY,
|
||||||
|
mFragment.mBatteryInfoLoaderCallbacks);
|
||||||
|
}
|
||||||
|
|
||||||
public static class TestFragment extends PowerUsageSummary {
|
public static class TestFragment extends PowerUsageSummary {
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user