Merge "Update battery usage summary" into sc-dev
This commit is contained in:
@@ -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>
|
||||
|
@@ -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
|
||||
@@ -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()) {
|
||||
@@ -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 {
|
||||
@@ -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) {
|
||||
|
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
Reference in New Issue
Block a user