Merge "[GAR] fix spoke a percentage number is not the same as displayed content" into sc-dev am: 153c3a1dc2
am: 033a6c3eec
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14956530 Change-Id: I9114c64261818c7628dae0f78e3b88b2f2979db3
This commit is contained in:
@@ -71,8 +71,9 @@ public class BatterySaverScheduleSeekBarController implements
|
||||
final int percentage = ((Integer) newValue) * 5;
|
||||
Settings.Global.putInt(mContext.getContentResolver(), Global.LOW_POWER_MODE_TRIGGER_LEVEL,
|
||||
percentage);
|
||||
preference.setTitle(mContext.getString(
|
||||
R.string.battery_saver_seekbar_title, Utils.formatPercentage(percentage)));
|
||||
final CharSequence stateDescription = formatStateDescription(percentage);
|
||||
preference.setTitle(stateDescription);
|
||||
mSeekBarPreference.overrideSeekBarStateDescription(stateDescription);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -92,9 +93,10 @@ public class BatterySaverScheduleSeekBarController implements
|
||||
final int currentSeekbarValue = Math.max(threshold / 5, MIN_SEEKBAR_VALUE);
|
||||
mSeekBarPreference.setVisible(true);
|
||||
mSeekBarPreference.setProgress(currentSeekbarValue);
|
||||
mSeekBarPreference.setTitle(mContext.getString(
|
||||
R.string.battery_saver_seekbar_title,
|
||||
Utils.formatPercentage(currentSeekbarValue * 5)));
|
||||
final CharSequence stateDescription = formatStateDescription(
|
||||
currentSeekbarValue * 5);
|
||||
mSeekBarPreference.setTitle(stateDescription);
|
||||
mSeekBarPreference.overrideSeekBarStateDescription(stateDescription);
|
||||
}
|
||||
} else {
|
||||
mSeekBarPreference.setVisible(false);
|
||||
@@ -112,4 +114,9 @@ public class BatterySaverScheduleSeekBarController implements
|
||||
mSeekBarPreference.setOrder(100);
|
||||
screen.addPreference(mSeekBarPreference);
|
||||
}
|
||||
|
||||
private CharSequence formatStateDescription(int percentage) {
|
||||
return mContext.getString(R.string.battery_saver_seekbar_title,
|
||||
Utils.formatPercentage(percentage));
|
||||
}
|
||||
}
|
||||
|
@@ -57,6 +57,7 @@ public class SeekBarPreference extends RestrictedPreference
|
||||
private SeekBar mSeekBar;
|
||||
private boolean mShouldBlink;
|
||||
private int mAccessibilityRangeInfoType = AccessibilityNodeInfo.RangeInfo.RANGE_TYPE_INT;
|
||||
private CharSequence mOverrideSeekBarStateDescription;
|
||||
private CharSequence mSeekBarContentDescription;
|
||||
private CharSequence mSeekBarStateDescription;
|
||||
|
||||
@@ -162,6 +163,9 @@ public class SeekBarPreference extends RestrictedPreference
|
||||
mAccessibilityRangeInfoType, rangeInfo.getMin(),
|
||||
rangeInfo.getMax(), rangeInfo.getCurrent()));
|
||||
}
|
||||
if (mOverrideSeekBarStateDescription != null) {
|
||||
info.setStateDescription(mOverrideSeekBarStateDescription);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -348,6 +352,13 @@ public class SeekBarPreference extends RestrictedPreference
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides the state description of {@link SeekBar} with given content.
|
||||
*/
|
||||
public void overrideSeekBarStateDescription(CharSequence stateDescription) {
|
||||
mOverrideSeekBarStateDescription = stateDescription;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Parcelable onSaveInstanceState() {
|
||||
/*
|
||||
|
Reference in New Issue
Block a user