Refine battery settings layout
- Add loading text to progress bar to prevent UI flaky - Setup enable/disable state for battery saver switch - Remove battery saver page divider Bug: 177964551 Bug: 177964753 Bug: 184626649 Test: make SettingsRoboTests, visually Change-Id: I8e05c0c0f02710729e1f59eff23fb3f425770de9
This commit is contained in:
committed by
Wesley Wang
parent
40319d9d6f
commit
f1ca264f69
@@ -37,26 +37,14 @@
|
||||
android:key="battery_saver_sticky"
|
||||
android:title="@string/battery_saver_sticky_title_new"
|
||||
android:summary="@string/summary_placeholder"
|
||||
settings:allowDividerBelow="true"
|
||||
settings:keywords="@string/keywords_battery_saver_sticky"
|
||||
settings:controller="com.android.settings.fuelgauge.batterysaver.BatterySaverStickyPreferenceController"/>
|
||||
|
||||
<!-- <com.android.settings.widget.TwoStateButtonPreference-->
|
||||
<!-- android:key="battery_saver"-->
|
||||
<!-- android:title="@string/battery_saver"-->
|
||||
<!-- android:selectable="false"-->
|
||||
<!-- android:summary="@string/battery_saver_turn_on_summary"-->
|
||||
<!-- settings:allowDividerBelow="true"-->
|
||||
<!-- settings:textOn="@string/battery_saver_button_turn_on"-->
|
||||
<!-- settings:textOff="@string/battery_saver_button_turn_off"-->
|
||||
<!-- settings:controller="com.android.settings.fuelgauge.batterysaver.BatterySaverButtonPreferenceController"/>-->
|
||||
|
||||
<com.android.settingslib.widget.FooterPreference
|
||||
android:order="100"
|
||||
android:key="battery_saver_footer_preference"
|
||||
android:selectable="true"
|
||||
android:title="@*android:string/battery_saver_description"
|
||||
settings:allowDividerAbove="true"
|
||||
settings:searchable="false"/>
|
||||
|
||||
</PreferenceScreen>
|
||||
|
@@ -50,7 +50,6 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
|
||||
BatteryPreferenceController {
|
||||
@VisibleForTesting
|
||||
static final String KEY_BATTERY_HEADER = "battery_header";
|
||||
private static final String ANNOTATION_URL = "url";
|
||||
private static final int BATTERY_MAX_LEVEL = 100;
|
||||
|
||||
@VisibleForTesting
|
||||
@@ -87,6 +86,9 @@ public class BatteryHeaderPreferenceController extends BasePreferenceController
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
mBatteryUsageProgressBarPref = screen.findPreference(getPreferenceKey());
|
||||
//Set up loading text first to prevent layout flaky before info loaded.
|
||||
mBatteryUsageProgressBarPref.setBottomSummary(
|
||||
mContext.getString(R.string.settings_license_activity_loading));
|
||||
|
||||
if (com.android.settings.Utils.isBatteryPresent(mContext)) {
|
||||
quickUpdateHeaderPreference();
|
||||
|
@@ -122,5 +122,8 @@ public class BatterySaverButtonPreferenceController extends
|
||||
|
||||
@Override
|
||||
public void onBatteryChanged(boolean pluggedIn) {
|
||||
if (mPreference != null) {
|
||||
mPreference.setEnabled(!pluggedIn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -317,6 +317,14 @@ public class BatteryHeaderPreferenceControllerTest {
|
||||
assertThat(mBatteryUsageProgressBarPref.isVisible()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void displayPreference_init_showLoading() {
|
||||
mController.displayPreference(mPreferenceScreen);
|
||||
|
||||
verify(mBatteryUsageProgressBarPref).setBottomSummary(
|
||||
mContext.getString(R.string.settings_license_activity_loading));
|
||||
}
|
||||
|
||||
private CharSequence formatBatteryPercentageText() {
|
||||
return TextUtils.expandTemplate(mContext.getText(R.string.battery_header_title_alternate),
|
||||
NumberFormat.getIntegerInstance().format(BATTERY_LEVEL));
|
||||
|
@@ -103,6 +103,20 @@ public class BatterySaverButtonPreferenceControllerTest {
|
||||
verify(mPowerManager).setPowerSaveModeEnabled(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onBatteryChanged_pluggedIn_preferenceDisabled() {
|
||||
mController.onBatteryChanged(/* pluggedIn */ true);
|
||||
|
||||
assertThat(mPreference.isEnabled()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onBatteryChanged_unplugged_preferenceEnabled() {
|
||||
mController.onBatteryChanged(/* pluggedIn */ false);
|
||||
|
||||
assertThat(mPreference.isEnabled()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPublicSlice_returnsTrue() {
|
||||
assertThat(mController.isPublicSlice()).isTrue();
|
||||
|
Reference in New Issue
Block a user