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
4 files changed