diff options
author | Barnaby James <bjames@google.com> | 2015-05-24 08:36:18 -0700 |
---|---|---|
committer | Barnaby James <bjames@google.com> | 2015-05-24 12:30:21 -0700 |
commit | c54782071ad7d595162040c3471e5ed416fb52a3 (patch) | |
tree | d67207a244552caaf123187a542333cabc19ace8 | |
parent | 389cf343805c0d40af720a06ead6e92bdd512527 (diff) | |
download | packages_apps_Settings-c54782071ad7d595162040c3471e5ed416fb52a3.zip packages_apps_Settings-c54782071ad7d595162040c3471e5ed416fb52a3.tar.gz packages_apps_Settings-c54782071ad7d595162040c3471e5ed416fb52a3.tar.bz2 |
Fix TTS for Zen mode voice activity.
Don't finish activity until TTS has finished.
Incorrect TTS for mix of hours / mins - e.g. 1 hour 45 minutes.
Improve the description of TTS strings for translators.
BUG: 20248251
BUG: 21413212
BUG: 21411622
Change-Id: Id2693ea82b76492216147012216ba07ce75a9d12
-rw-r--r-- | res/values/strings.xml | 13 | ||||
-rw-r--r-- | src/com/android/settings/notification/ZenModeVoiceActivity.java | 11 | ||||
-rw-r--r-- | src/com/android/settings/utils/VoiceSettingsActivity.java | 7 |
3 files changed, 22 insertions, 9 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index b1628d9..7d8cc34 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -6241,22 +6241,25 @@ <!-- [CHAR LIMIT=60] Zen mode settings: End time option: Summary text value format when end time = next day --> <string name="zen_mode_end_time_next_day_summary_format"><xliff:g id="formatted_time" example="7:00 AM">%s</xliff:g> next day</string> - <!-- [CHAR LIMIT=NONE] Zen mode voice - spoken summary: alarms only duration indefinite. --> - <string name="zen_mode_summary_alarams_only_indefinite">Change to alarms only indefinitely</string> + <!-- [CHAR LIMIT=NONE] Zen mode summary spoken when changing mode by voice: switch to alarms only forever. --> + <string name="zen_mode_summary_alarms_only_indefinite">Change to alarms only indefinitely</string> - <!-- [CHAR LIMIT=NONE] Zen mode voice- spoken summary: alarms only duration minutes. --> + <!-- [CHAR LIMIT=NONE] Zen mode summary spoken when changing mode by voice: switch to alarms only for < 60 minutes. --> <plurals name="zen_mode_summary_alarms_only_by_minute"> <item quantity="one">Change to alarms only for one minute until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g></item> <item quantity="other">Change to alarms only for <xliff:g id="duration" example="2">%1$d</xliff:g> minutes (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item> </plurals> - <!-- [CHAR LIMIT=NONE] Zen mode voice- spoken summary: alarms only duration hours. --> + <!-- [CHAR LIMIT=NONE] Zen mode summary spoken when changing mode by voice: switch to alarms only for N hours. --> <plurals name="zen_mode_summary_alarms_only_by_hour"> <item quantity="one">Change to alarms only for one hour until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g></item> <item quantity="other">Change to alarms only for <xliff:g id="duration" example="2">%1$d</xliff:g> hours until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g></item> </plurals> - <!-- [CHAR LIMIT=NONE] Zen mode voice - spoken summary: off. --> + <!-- [CHAR LIMIT=NONE] Zen mode summary spoken when changing mode by voice: switch to alarms only until a specific time. --> + <string name="zen_mode_summary_alarms_only_by_time">Change to alarms only until <xliff:g id="formattedTime" example="10:00 PM">%1$s</xliff:g></string> + + <!-- [CHAR LIMIT=NONE] Zen mode summary spoken when changing mode by voice: Turn on all notifications. --> <string name="zen_mode_summary_always">Change to always interrupt</string> <!-- [CHAR LIMIT=20] Notifications settings: Apps section header --> diff --git a/src/com/android/settings/notification/ZenModeVoiceActivity.java b/src/com/android/settings/notification/ZenModeVoiceActivity.java index 71e56b0..270633a 100644 --- a/src/com/android/settings/notification/ZenModeVoiceActivity.java +++ b/src/com/android/settings/notification/ZenModeVoiceActivity.java @@ -58,7 +58,6 @@ public class ZenModeVoiceActivity extends VoiceSettingsActivity { mode = Global.ZEN_MODE_ALARMS; } setZenModeConfig(mode, condition); - notifySuccess(getChangeSummary(mode, minutes)); AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); if (audioManager != null) { @@ -67,10 +66,12 @@ public class ZenModeVoiceActivity extends VoiceSettingsActivity { AudioManager.ADJUST_SAME, AudioManager.FLAG_SHOW_UI); } + notifySuccess(getChangeSummary(mode, minutes)); } else { Log.v(TAG, "Missing extra android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_ENABLED"); + finish(); } - return true; + return false; } private void setZenModeConfig(int mode, Condition condition) { @@ -88,12 +89,14 @@ public class ZenModeVoiceActivity extends VoiceSettingsActivity { int indefinite = -1; int byMinute = -1; int byHour = -1; + int byTime = -1; switch (mode) { case Global.ZEN_MODE_ALARMS: - indefinite = R.string.zen_mode_summary_alarams_only_indefinite; + indefinite = R.string.zen_mode_summary_alarms_only_indefinite; byMinute = R.plurals.zen_mode_summary_alarms_only_by_minute; byHour = R.plurals.zen_mode_summary_alarms_only_by_hour; + byTime = R.string.zen_mode_summary_alarms_only_by_time; break; case Global.ZEN_MODE_OFF: indefinite = R.string.zen_mode_summary_always; @@ -112,6 +115,8 @@ public class ZenModeVoiceActivity extends VoiceSettingsActivity { if (minutes < 60) { return res.getQuantityString(byMinute, minutes, minutes, formattedTime); + } else if (minutes % 60 != 0) { + return res.getString(byTime, formattedTime); } else { int hours = minutes / 60; return res.getQuantityString(byHour, hours, hours, formattedTime); diff --git a/src/com/android/settings/utils/VoiceSettingsActivity.java b/src/com/android/settings/utils/VoiceSettingsActivity.java index e81c7e8..4477e92 100644 --- a/src/com/android/settings/utils/VoiceSettingsActivity.java +++ b/src/com/android/settings/utils/VoiceSettingsActivity.java @@ -65,7 +65,12 @@ abstract public class VoiceSettingsActivity extends Activity { */ protected void notifySuccess(CharSequence prompt) { if (getVoiceInteractor() != null) { - getVoiceInteractor().submitRequest(new CompleteVoiceRequest(prompt, null)); + getVoiceInteractor().submitRequest(new CompleteVoiceRequest(prompt, null) { + @Override + public void onCompleteResult(Bundle options) { + finish(); + } + }); } } |