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:
TreeHugger Robot
2021-06-15 09:31:47 +00:00
committed by Automerger Merge Worker
4 changed files with 40 additions and 6 deletions

View File

@@ -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));
}
}

View File

@@ -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() {
/*