Update Accessibility vibration settings.

- Get notification vibration and haptic feedback intensity respectively.
- Use xliffs to compose these strings.
- Use the version that passed in Vibrator.class to get Vibrator
  instance.
- Refactor switch/case part in getSummary() of
  VibrationIntensityPreferenceController.
  Let AccessibilitySettings and VibrationIntensityPreferenceController
  both call it.
- Add robolectric test for method: updateVibrationSummary().
- Refine test method, use real preference and test summary value.
- Remove redundancy.

Bug: 75322064
Test: make ROBOTEST_FILTER=AccessibilitySettingsTest RunSettingsRoboTests
Change-Id: Ia3c7447b1ab1e336b36ad439800b673821417e48
Merged-In: Ia3c7447b1ab1e336b36ad439800b673821417e48
This commit is contained in:
AL Ho
2018-05-11 14:58:10 +08:00
committed by AL HO
parent bf180cd6a9
commit ae2893db10
4 changed files with 75 additions and 9 deletions

View File

@@ -77,16 +77,19 @@ public abstract class VibrationIntensityPreferenceController extends BasePrefere
public CharSequence getSummary() {
final int intensity = Settings.System.getInt(mContext.getContentResolver(),
mSettingKey, getDefaultIntensity());
return getIntensityString(mContext, intensity);
}
public static CharSequence getIntensityString(Context context, int intensity) {
switch (intensity) {
case Vibrator.VIBRATION_INTENSITY_OFF:
return mContext.getText(R.string.accessibility_vibration_intensity_off);
return context.getText(R.string.accessibility_vibration_intensity_off);
case Vibrator.VIBRATION_INTENSITY_LOW:
return mContext.getText(R.string.accessibility_vibration_intensity_low);
return context.getText(R.string.accessibility_vibration_intensity_low);
case Vibrator.VIBRATION_INTENSITY_MEDIUM:
return mContext.getText(R.string.accessibility_vibration_intensity_medium);
return context.getText(R.string.accessibility_vibration_intensity_medium);
case Vibrator.VIBRATION_INTENSITY_HIGH:
return mContext.getText(R.string.accessibility_vibration_intensity_high);
return context.getText(R.string.accessibility_vibration_intensity_high);
default:
return "";
}