Loading src/com/android/settings/fuelgauge/PowerUsageSummary.java +18 −16 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.fuelgauge; import static com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpdateType; import android.app.settings.SettingsEnums; import android.content.ContentResolver; import android.content.Context; import android.database.ContentObserver; import android.net.Uri; Loading Loading @@ -107,7 +108,8 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList BatteryTipPreferenceController mBatteryTipPreferenceController; private int mStatsType = BatteryStats.STATS_SINCE_CHARGED; private final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) { @VisibleForTesting final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) { @Override public void onChange(boolean selfChange, Uri uri) { restartBatteryInfoLoader(); Loading Loading @@ -201,21 +203,6 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList } }; @Override public void onStop() { getContentResolver().unregisterContentObserver(mSettingsObserver); super.onStop(); } @Override public void onResume() { super.onResume(); getContentResolver().registerContentObserver( Global.getUriFor(Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME), false, mSettingsObserver); } @Override public void onAttach(Context context) { super.onAttach(context); Loading Loading @@ -251,6 +238,21 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList updateBatteryTipFlag(icicle); } @Override public void onResume() { super.onResume(); getContentResolver().registerContentObserver( Global.getUriFor(Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME), false, mSettingsObserver); } @Override public void onPause() { getContentResolver().unregisterContentObserver(mSettingsObserver); super.onPause(); } @Override public int getMetricsCategory() { return SettingsEnums.FUELGAUGE_POWER_USAGE_SUMMARY_V2; Loading tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +50 −7 Original line number Diff line number Diff line Loading @@ -33,16 +33,20 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.provider.Settings; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.TextView; import androidx.annotation.VisibleForTesting; import androidx.loader.app.LoaderManager; import androidx.preference.PreferenceScreen; import com.android.internal.os.BatterySipper; import com.android.internal.os.BatteryStatsHelper; Loading @@ -51,6 +55,7 @@ import com.android.settings.SettingsActivity; import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.XmlTestUtils; import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin; import com.android.settingslib.widget.LayoutPreference; import org.junit.Before; Loading @@ -66,6 +71,7 @@ import org.mockito.stubbing.Answer; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.util.ReflectionHelpers; import java.util.ArrayList; import java.util.List; Loading Loading @@ -117,6 +123,14 @@ public class PowerUsageSummaryTest { private MenuItem mAdvancedPageMenu; @Mock private BatteryInfo mBatteryInfo; @Mock private ContentResolver mContentResolver; @Mock private BatteryBroadcastReceiver mBatteryBroadcastReceiver; @Mock private VisibilityLoggerMixin mVisibilityLoggerMixin; @Mock private PreferenceScreen mPreferenceScreen; private List<BatterySipper> mUsageList; private Context mRealContext; Loading Loading @@ -176,6 +190,11 @@ public class PowerUsageSummaryTest { mFragment.mScreenUsagePref = mScreenUsagePref; mFragment.mLastFullChargePref = mLastFullChargePref; mFragment.mBatteryUtils = spy(new BatteryUtils(mRealContext)); ReflectionHelpers.setField(mFragment, "mVisibilityLoggerMixin", mVisibilityLoggerMixin); ReflectionHelpers.setField(mFragment, "mBatteryBroadcastReceiver", mBatteryBroadcastReceiver); doReturn(mPreferenceScreen).when(mFragment).getPreferenceScreen(); when(mFragment.getContentResolver()).thenReturn(mContentResolver); } @Test Loading Loading @@ -336,6 +355,24 @@ public class PowerUsageSummaryTest { verify(mFragment).restartBatteryTipLoader(); } @Test public void onResume_registerContentObserver() { mFragment.onResume(); verify(mContentResolver).registerContentObserver( Settings.Global.getUriFor(Settings.Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME), false, mFragment.mSettingsObserver); } @Test public void onPause_unregisterContentObserver() { mFragment.onPause(); verify(mContentResolver).unregisterContentObserver( mFragment.mSettingsObserver); } public static class TestFragment extends PowerUsageSummary { private Context mContext; Loading @@ -348,6 +385,12 @@ public class PowerUsageSummaryTest { return mContext; } @Override protected ContentResolver getContentResolver() { // Override it so we can access this method in test return super.getContentResolver(); } @Override void showBothEstimates() { List<BatteryInfo> fakeBatteryInfo = new ArrayList<>(2); Loading Loading
src/com/android/settings/fuelgauge/PowerUsageSummary.java +18 −16 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.fuelgauge; import static com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpdateType; import android.app.settings.SettingsEnums; import android.content.ContentResolver; import android.content.Context; import android.database.ContentObserver; import android.net.Uri; Loading Loading @@ -107,7 +108,8 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList BatteryTipPreferenceController mBatteryTipPreferenceController; private int mStatsType = BatteryStats.STATS_SINCE_CHARGED; private final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) { @VisibleForTesting final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) { @Override public void onChange(boolean selfChange, Uri uri) { restartBatteryInfoLoader(); Loading Loading @@ -201,21 +203,6 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList } }; @Override public void onStop() { getContentResolver().unregisterContentObserver(mSettingsObserver); super.onStop(); } @Override public void onResume() { super.onResume(); getContentResolver().registerContentObserver( Global.getUriFor(Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME), false, mSettingsObserver); } @Override public void onAttach(Context context) { super.onAttach(context); Loading Loading @@ -251,6 +238,21 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList updateBatteryTipFlag(icicle); } @Override public void onResume() { super.onResume(); getContentResolver().registerContentObserver( Global.getUriFor(Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME), false, mSettingsObserver); } @Override public void onPause() { getContentResolver().unregisterContentObserver(mSettingsObserver); super.onPause(); } @Override public int getMetricsCategory() { return SettingsEnums.FUELGAUGE_POWER_USAGE_SUMMARY_V2; Loading
tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +50 −7 Original line number Diff line number Diff line Loading @@ -33,16 +33,20 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.provider.Settings; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.TextView; import androidx.annotation.VisibleForTesting; import androidx.loader.app.LoaderManager; import androidx.preference.PreferenceScreen; import com.android.internal.os.BatterySipper; import com.android.internal.os.BatteryStatsHelper; Loading @@ -51,6 +55,7 @@ import com.android.settings.SettingsActivity; import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.XmlTestUtils; import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin; import com.android.settingslib.widget.LayoutPreference; import org.junit.Before; Loading @@ -66,6 +71,7 @@ import org.mockito.stubbing.Answer; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.util.ReflectionHelpers; import java.util.ArrayList; import java.util.List; Loading Loading @@ -117,6 +123,14 @@ public class PowerUsageSummaryTest { private MenuItem mAdvancedPageMenu; @Mock private BatteryInfo mBatteryInfo; @Mock private ContentResolver mContentResolver; @Mock private BatteryBroadcastReceiver mBatteryBroadcastReceiver; @Mock private VisibilityLoggerMixin mVisibilityLoggerMixin; @Mock private PreferenceScreen mPreferenceScreen; private List<BatterySipper> mUsageList; private Context mRealContext; Loading Loading @@ -176,6 +190,11 @@ public class PowerUsageSummaryTest { mFragment.mScreenUsagePref = mScreenUsagePref; mFragment.mLastFullChargePref = mLastFullChargePref; mFragment.mBatteryUtils = spy(new BatteryUtils(mRealContext)); ReflectionHelpers.setField(mFragment, "mVisibilityLoggerMixin", mVisibilityLoggerMixin); ReflectionHelpers.setField(mFragment, "mBatteryBroadcastReceiver", mBatteryBroadcastReceiver); doReturn(mPreferenceScreen).when(mFragment).getPreferenceScreen(); when(mFragment.getContentResolver()).thenReturn(mContentResolver); } @Test Loading Loading @@ -336,6 +355,24 @@ public class PowerUsageSummaryTest { verify(mFragment).restartBatteryTipLoader(); } @Test public void onResume_registerContentObserver() { mFragment.onResume(); verify(mContentResolver).registerContentObserver( Settings.Global.getUriFor(Settings.Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME), false, mFragment.mSettingsObserver); } @Test public void onPause_unregisterContentObserver() { mFragment.onPause(); verify(mContentResolver).unregisterContentObserver( mFragment.mSettingsObserver); } public static class TestFragment extends PowerUsageSummary { private Context mContext; Loading @@ -348,6 +385,12 @@ public class PowerUsageSummaryTest { return mContext; } @Override protected ContentResolver getContentResolver() { // Override it so we can access this method in test return super.getContentResolver(); } @Override void showBothEstimates() { List<BatteryInfo> fakeBatteryInfo = new ArrayList<>(2); Loading