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>
|
<string name="history_details_title">History details</string>
|
||||||
<!-- Preference title for advanced battery usage [CHAR LIMIT=40] -->
|
<!-- Preference title for advanced battery usage [CHAR LIMIT=40] -->
|
||||||
<string name="advanced_battery_preference_title">View battery usage</string>
|
<string name="advanced_battery_preference_title">View battery usage</string>
|
||||||
<!-- Preference summary for advanced battery usage [CHAR LIMIT=40] -->
|
<!-- Preference summary for advanced battery usage, for past 24 hours [CHAR LIMIT=40] -->
|
||||||
<string name="advanced_battery_preference_summary">View usage for past 24 hours</string>
|
<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 -->
|
<!-- Activity title for battery usage details for an app. or power consumer -->
|
||||||
<string name="battery_details_title">Battery usage</string>
|
<string name="battery_details_title">Battery usage</string>
|
||||||
|
@@ -52,10 +52,13 @@ import java.util.List;
|
|||||||
public class PowerUsageSummary extends PowerUsageBase implements
|
public class PowerUsageSummary extends PowerUsageBase implements
|
||||||
BatteryTipPreferenceController.BatteryTipListener {
|
BatteryTipPreferenceController.BatteryTipListener {
|
||||||
|
|
||||||
private static final String KEY_BATTERY_ERROR = "battery_help_message";
|
|
||||||
|
|
||||||
static final String TAG = "PowerUsageSummary";
|
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
|
@VisibleForTesting
|
||||||
static final int BATTERY_INFO_LOADER = 1;
|
static final int BATTERY_INFO_LOADER = 1;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -78,6 +81,8 @@ public class PowerUsageSummary extends PowerUsageBase implements
|
|||||||
boolean mNeedUpdateBatteryTip;
|
boolean mNeedUpdateBatteryTip;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
Preference mHelpPreference;
|
Preference mHelpPreference;
|
||||||
|
@VisibleForTesting
|
||||||
|
Preference mBatteryUsagePreference;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) {
|
final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) {
|
||||||
@@ -154,12 +159,10 @@ public class PowerUsageSummary extends PowerUsageBase implements
|
|||||||
setAnimationAllowed(true);
|
setAnimationAllowed(true);
|
||||||
|
|
||||||
initFeatureProvider();
|
initFeatureProvider();
|
||||||
|
initPreference();
|
||||||
|
|
||||||
mBatteryUtils = BatteryUtils.getInstance(getContext());
|
mBatteryUtils = BatteryUtils.getInstance(getContext());
|
||||||
|
|
||||||
mHelpPreference = findPreference(KEY_BATTERY_ERROR);
|
|
||||||
mHelpPreference.setVisible(false);
|
|
||||||
|
|
||||||
if (Utils.isBatteryPresent(getContext())) {
|
if (Utils.isBatteryPresent(getContext())) {
|
||||||
restartBatteryInfoLoader();
|
restartBatteryInfoLoader();
|
||||||
} else {
|
} else {
|
||||||
@@ -248,6 +251,18 @@ public class PowerUsageSummary extends PowerUsageBase implements
|
|||||||
.getPowerUsageFeatureProvider(context);
|
.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
|
@VisibleForTesting
|
||||||
void restartBatteryInfoLoader() {
|
void restartBatteryInfoLoader() {
|
||||||
if (getContext() == null) {
|
if (getContext() == null) {
|
||||||
|
@@ -16,6 +16,8 @@
|
|||||||
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.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;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
@@ -37,6 +39,7 @@ import android.os.Bundle;
|
|||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
import androidx.loader.app.LoaderManager;
|
import androidx.loader.app.LoaderManager;
|
||||||
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -83,6 +86,10 @@ public class PowerUsageSummaryTest {
|
|||||||
private VisibilityLoggerMixin mVisibilityLoggerMixin;
|
private VisibilityLoggerMixin mVisibilityLoggerMixin;
|
||||||
@Mock
|
@Mock
|
||||||
private PreferenceScreen mPreferenceScreen;
|
private PreferenceScreen mPreferenceScreen;
|
||||||
|
@Mock
|
||||||
|
private Preference mBatteryUsagePreference;
|
||||||
|
@Mock
|
||||||
|
private Preference mHelpPreference;
|
||||||
|
|
||||||
private Context mRealContext;
|
private Context mRealContext;
|
||||||
private TestFragment mFragment;
|
private TestFragment mFragment;
|
||||||
@@ -102,12 +109,16 @@ public class PowerUsageSummaryTest {
|
|||||||
when(mFragment.getActivity()).thenReturn(mSettingsActivity);
|
when(mFragment.getActivity()).thenReturn(mSettingsActivity);
|
||||||
when(mFeatureFactory.powerUsageFeatureProvider.getAdditionalBatteryInfoIntent())
|
when(mFeatureFactory.powerUsageFeatureProvider.getAdditionalBatteryInfoIntent())
|
||||||
.thenReturn(sAdditionalBatteryInfoIntent);
|
.thenReturn(sAdditionalBatteryInfoIntent);
|
||||||
|
when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mRealContext))
|
||||||
|
.thenReturn(true);
|
||||||
mFragment.mBatteryUtils = spy(new BatteryUtils(mRealContext));
|
mFragment.mBatteryUtils = spy(new BatteryUtils(mRealContext));
|
||||||
ReflectionHelpers.setField(mFragment, "mVisibilityLoggerMixin", mVisibilityLoggerMixin);
|
ReflectionHelpers.setField(mFragment, "mVisibilityLoggerMixin", mVisibilityLoggerMixin);
|
||||||
ReflectionHelpers.setField(mFragment, "mBatteryBroadcastReceiver",
|
ReflectionHelpers.setField(mFragment, "mBatteryBroadcastReceiver",
|
||||||
mBatteryBroadcastReceiver);
|
mBatteryBroadcastReceiver);
|
||||||
doReturn(mPreferenceScreen).when(mFragment).getPreferenceScreen();
|
doReturn(mPreferenceScreen).when(mFragment).getPreferenceScreen();
|
||||||
when(mFragment.getContentResolver()).thenReturn(mContentResolver);
|
when(mFragment.getContentResolver()).thenReturn(mContentResolver);
|
||||||
|
when(mFragment.findPreference(KEY_BATTERY_USAGE)).thenReturn(mBatteryUsagePreference);
|
||||||
|
when(mFragment.findPreference(KEY_BATTERY_ERROR)).thenReturn(mHelpPreference);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -123,6 +134,30 @@ public class PowerUsageSummaryTest {
|
|||||||
assertThat(keys).containsAtLeastElementsIn(niks);
|
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
|
@Test
|
||||||
public void restartBatteryTipLoader() {
|
public void restartBatteryTipLoader() {
|
||||||
//TODO: add policy logic here when BatteryTipPolicy is implemented
|
//TODO: add policy logic here when BatteryTipPolicy is implemented
|
||||||
|
Reference in New Issue
Block a user