Loading res/values/strings.xml +4 −2 Original line number Diff line number Diff line Loading @@ -5963,8 +5963,10 @@ <string name="history_details_title">History details</string> <!-- Preference title for advanced battery usage [CHAR LIMIT=40] --> <string name="advanced_battery_preference_title">View battery usage</string> <!-- Preference summary for advanced battery usage [CHAR LIMIT=40] --> <string name="advanced_battery_preference_summary">View usage for past 24 hours</string> <!-- Preference summary for advanced battery usage, for past 24 hours [CHAR LIMIT=40] --> <string name="advanced_battery_preference_summary_with_hours">View usage for past 24 hours</string> <!-- Preference summary for advanced battery usage, from last full charge [CHAR LIMIT=40] --> <string name="advanced_battery_preference_summary">View usage from last full charge</string> <!-- Activity title for battery usage details for an app. or power consumer --> <string name="battery_details_title">Battery usage</string> src/com/android/settings/fuelgauge/PowerUsageSummary.java +20 −5 Original line number Diff line number Diff line Loading @@ -52,10 +52,13 @@ import java.util.List; public class PowerUsageSummary extends PowerUsageBase implements BatteryTipPreferenceController.BatteryTipListener { private static final String KEY_BATTERY_ERROR = "battery_help_message"; static final String TAG = "PowerUsageSummary"; @VisibleForTesting static final String KEY_BATTERY_ERROR = "battery_help_message"; @VisibleForTesting static final String KEY_BATTERY_USAGE = "battery_usage_summary"; @VisibleForTesting static final int BATTERY_INFO_LOADER = 1; @VisibleForTesting Loading @@ -78,6 +81,8 @@ public class PowerUsageSummary extends PowerUsageBase implements boolean mNeedUpdateBatteryTip; @VisibleForTesting Preference mHelpPreference; @VisibleForTesting Preference mBatteryUsagePreference; @VisibleForTesting final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) { Loading Loading @@ -154,12 +159,10 @@ public class PowerUsageSummary extends PowerUsageBase implements setAnimationAllowed(true); initFeatureProvider(); initPreference(); mBatteryUtils = BatteryUtils.getInstance(getContext()); mHelpPreference = findPreference(KEY_BATTERY_ERROR); mHelpPreference.setVisible(false); if (Utils.isBatteryPresent(getContext())) { restartBatteryInfoLoader(); } else { Loading Loading @@ -248,6 +251,18 @@ public class PowerUsageSummary extends PowerUsageBase implements .getPowerUsageFeatureProvider(context); } @VisibleForTesting void initPreference() { mBatteryUsagePreference = findPreference(KEY_BATTERY_USAGE); mBatteryUsagePreference.setSummary( mPowerFeatureProvider.isChartGraphEnabled(getContext()) ? getString(R.string.advanced_battery_preference_summary_with_hours) : getString(R.string.advanced_battery_preference_summary)); mHelpPreference = findPreference(KEY_BATTERY_ERROR); mHelpPreference.setVisible(false); } @VisibleForTesting void restartBatteryInfoLoader() { if (getContext() == null) { Loading tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +35 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.fuelgauge; import static com.android.settings.fuelgauge.PowerUsageSummary.BATTERY_INFO_LOADER; import static com.android.settings.fuelgauge.PowerUsageSummary.KEY_BATTERY_ERROR; import static com.android.settings.fuelgauge.PowerUsageSummary.KEY_BATTERY_USAGE; import static com.google.common.truth.Truth.assertThat; Loading @@ -37,6 +39,7 @@ import android.os.Bundle; import android.provider.Settings; import androidx.loader.app.LoaderManager; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; Loading Loading @@ -83,6 +86,10 @@ public class PowerUsageSummaryTest { private VisibilityLoggerMixin mVisibilityLoggerMixin; @Mock private PreferenceScreen mPreferenceScreen; @Mock private Preference mBatteryUsagePreference; @Mock private Preference mHelpPreference; private Context mRealContext; private TestFragment mFragment; Loading @@ -102,12 +109,16 @@ public class PowerUsageSummaryTest { when(mFragment.getActivity()).thenReturn(mSettingsActivity); when(mFeatureFactory.powerUsageFeatureProvider.getAdditionalBatteryInfoIntent()) .thenReturn(sAdditionalBatteryInfoIntent); when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mRealContext)) .thenReturn(true); 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); when(mFragment.findPreference(KEY_BATTERY_USAGE)).thenReturn(mBatteryUsagePreference); when(mFragment.findPreference(KEY_BATTERY_ERROR)).thenReturn(mHelpPreference); } @Test Loading @@ -123,6 +134,30 @@ public class PowerUsageSummaryTest { assertThat(keys).containsAtLeastElementsIn(niks); } @Test public void initPreference_chartGraphEnabled_hasCorrectSummary() { mFragment.initPreference(); verify(mBatteryUsagePreference).setSummary("View usage for past 24 hours"); } @Test public void initPreference_chartGraphDisabled_hasCorrectSummary() { when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mRealContext)) .thenReturn(false); mFragment.initPreference(); verify(mBatteryUsagePreference).setSummary("View usage from last full charge"); } @Test public void initPreference_helpPreferenceInvisible() { mFragment.initPreference(); verify(mHelpPreference).setVisible(false); } @Test public void restartBatteryTipLoader() { //TODO: add policy logic here when BatteryTipPolicy is implemented Loading Loading
res/values/strings.xml +4 −2 Original line number Diff line number Diff line Loading @@ -5963,8 +5963,10 @@ <string name="history_details_title">History details</string> <!-- Preference title for advanced battery usage [CHAR LIMIT=40] --> <string name="advanced_battery_preference_title">View battery usage</string> <!-- Preference summary for advanced battery usage [CHAR LIMIT=40] --> <string name="advanced_battery_preference_summary">View usage for past 24 hours</string> <!-- Preference summary for advanced battery usage, for past 24 hours [CHAR LIMIT=40] --> <string name="advanced_battery_preference_summary_with_hours">View usage for past 24 hours</string> <!-- Preference summary for advanced battery usage, from last full charge [CHAR LIMIT=40] --> <string name="advanced_battery_preference_summary">View usage from last full charge</string> <!-- Activity title for battery usage details for an app. or power consumer --> <string name="battery_details_title">Battery usage</string>
src/com/android/settings/fuelgauge/PowerUsageSummary.java +20 −5 Original line number Diff line number Diff line Loading @@ -52,10 +52,13 @@ import java.util.List; public class PowerUsageSummary extends PowerUsageBase implements BatteryTipPreferenceController.BatteryTipListener { private static final String KEY_BATTERY_ERROR = "battery_help_message"; static final String TAG = "PowerUsageSummary"; @VisibleForTesting static final String KEY_BATTERY_ERROR = "battery_help_message"; @VisibleForTesting static final String KEY_BATTERY_USAGE = "battery_usage_summary"; @VisibleForTesting static final int BATTERY_INFO_LOADER = 1; @VisibleForTesting Loading @@ -78,6 +81,8 @@ public class PowerUsageSummary extends PowerUsageBase implements boolean mNeedUpdateBatteryTip; @VisibleForTesting Preference mHelpPreference; @VisibleForTesting Preference mBatteryUsagePreference; @VisibleForTesting final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) { Loading Loading @@ -154,12 +159,10 @@ public class PowerUsageSummary extends PowerUsageBase implements setAnimationAllowed(true); initFeatureProvider(); initPreference(); mBatteryUtils = BatteryUtils.getInstance(getContext()); mHelpPreference = findPreference(KEY_BATTERY_ERROR); mHelpPreference.setVisible(false); if (Utils.isBatteryPresent(getContext())) { restartBatteryInfoLoader(); } else { Loading Loading @@ -248,6 +251,18 @@ public class PowerUsageSummary extends PowerUsageBase implements .getPowerUsageFeatureProvider(context); } @VisibleForTesting void initPreference() { mBatteryUsagePreference = findPreference(KEY_BATTERY_USAGE); mBatteryUsagePreference.setSummary( mPowerFeatureProvider.isChartGraphEnabled(getContext()) ? getString(R.string.advanced_battery_preference_summary_with_hours) : getString(R.string.advanced_battery_preference_summary)); mHelpPreference = findPreference(KEY_BATTERY_ERROR); mHelpPreference.setVisible(false); } @VisibleForTesting void restartBatteryInfoLoader() { if (getContext() == null) { Loading
tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +35 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.fuelgauge; import static com.android.settings.fuelgauge.PowerUsageSummary.BATTERY_INFO_LOADER; import static com.android.settings.fuelgauge.PowerUsageSummary.KEY_BATTERY_ERROR; import static com.android.settings.fuelgauge.PowerUsageSummary.KEY_BATTERY_USAGE; import static com.google.common.truth.Truth.assertThat; Loading @@ -37,6 +39,7 @@ import android.os.Bundle; import android.provider.Settings; import androidx.loader.app.LoaderManager; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; Loading Loading @@ -83,6 +86,10 @@ public class PowerUsageSummaryTest { private VisibilityLoggerMixin mVisibilityLoggerMixin; @Mock private PreferenceScreen mPreferenceScreen; @Mock private Preference mBatteryUsagePreference; @Mock private Preference mHelpPreference; private Context mRealContext; private TestFragment mFragment; Loading @@ -102,12 +109,16 @@ public class PowerUsageSummaryTest { when(mFragment.getActivity()).thenReturn(mSettingsActivity); when(mFeatureFactory.powerUsageFeatureProvider.getAdditionalBatteryInfoIntent()) .thenReturn(sAdditionalBatteryInfoIntent); when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mRealContext)) .thenReturn(true); 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); when(mFragment.findPreference(KEY_BATTERY_USAGE)).thenReturn(mBatteryUsagePreference); when(mFragment.findPreference(KEY_BATTERY_ERROR)).thenReturn(mHelpPreference); } @Test Loading @@ -123,6 +134,30 @@ public class PowerUsageSummaryTest { assertThat(keys).containsAtLeastElementsIn(niks); } @Test public void initPreference_chartGraphEnabled_hasCorrectSummary() { mFragment.initPreference(); verify(mBatteryUsagePreference).setSummary("View usage for past 24 hours"); } @Test public void initPreference_chartGraphDisabled_hasCorrectSummary() { when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mRealContext)) .thenReturn(false); mFragment.initPreference(); verify(mBatteryUsagePreference).setSummary("View usage from last full charge"); } @Test public void initPreference_helpPreferenceInvisible() { mFragment.initPreference(); verify(mHelpPreference).setVisible(false); } @Test public void restartBatteryTipLoader() { //TODO: add policy logic here when BatteryTipPolicy is implemented Loading