Redesign vibration settings.
Under the hood there remain three axes:
1. Are we in silent mode now? | RINGER_MODE_{VIBRATE,SILENT}
2. Do we vibrate in silent mode? | VIBRATE_IN_SILENT == 1
3. Do calls vibrate: | getVibrateSetting(VIBRATE_TYPE_RINGER)
- always | == VIBRATE_SETTING_ON
- never | == VIBRATE_SETTING_OFF
- only in silent | == VIBRATE_SETTING_ONLY_SILENT
We now expose this to the user much more simply by
collapsing (2) and (3) above, and discarding states that
don't make sense:
- VIBRATE_SETTING_OFF + VIBRATE_IN_SILENT
- VIBRATE_SETTING_ONLY_SILENT + !VIBRATE_IN_SILENT
Now we offer the user four choices:
Phone vibrate:
* "Never"
--> VIBRATE_IN_SILENT=0, VIBRATE_SETTING_OFF
* "Always"
--> VIBRATE_IN_SILENT=1, VIBRATE_SETTING_ON
* "Only in silent mode"
--> VIBRATE_IN_SILENT=1, VIBRATE_SETTING_ONLY_SILENT
* "Only when not in silent mode"
--> VIBRATE_IN_SILENT=0, VIBRATE_SETTING_ON
This should make it easier to choose exactly the behavior
the user wants as well as avoid nonsensical combinations of
settings.
Bug: 2598014
Change-Id: I9244d25ec97a3e2b572b71b521049debd22fa4e0
This commit is contained in:
@@ -31,12 +31,13 @@
|
||||
android:order="1"
|
||||
android:disableDependentsState="true" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="vibrate_in_silent"
|
||||
android:title="@string/vibrate_in_silent_title"
|
||||
android:summary="@string/vibrate_in_silent_summary"
|
||||
android:order="2"
|
||||
android:persistent="false" />
|
||||
<ListPreference
|
||||
android:key="vibrate"
|
||||
android:order="6"
|
||||
android:title="@string/vibrate_title"
|
||||
android:summary="@string/vibrate_summary"
|
||||
android:entries="@array/vibrate_entries"
|
||||
android:entryValues="@array/vibrate_values" />
|
||||
|
||||
<com.android.settings.RingerVolumePreference
|
||||
android:key="ring_volume"
|
||||
@@ -63,14 +64,6 @@
|
||||
android:order="5"
|
||||
android:ringtoneType="ringtone" />
|
||||
|
||||
<ListPreference
|
||||
android:key="vibrate"
|
||||
android:order="6"
|
||||
android:title="@string/vibrate_title"
|
||||
android:summary="@string/vibrate_summary"
|
||||
android:entries="@array/vibrate_entries"
|
||||
android:entryValues="@array/vibrate_values" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
|
||||
Reference in New Issue
Block a user