diff options
-rw-r--r-- | res/values/cm_strings.xml | 6 | ||||
-rw-r--r-- | res/xml/zen_mode_priority_settings.xml | 5 | ||||
-rw-r--r-- | src/com/android/settings/notification/ZenModePrioritySettings.java | 17 |
3 files changed, 28 insertions, 0 deletions
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml index 9879df7..a28a772 100644 --- a/res/values/cm_strings.xml +++ b/res/values/cm_strings.xml @@ -1103,6 +1103,12 @@ <!-- [CHAR LIMIT=50] Like zen_mode_summary_selected_messages, but part of a list, so lower case if needed --> <string name="zen_mode_summary_selected_messages">selected messages</string> + <!-- Allow vibration in zen mode --> + <string name="zen_mode_vibration">Vibration</string> + <string name="zen_mode_vibration_never">Don\'t vibrate</string> + <string name="zen_mode_vibration_calls_only">Only vibrate for calls</string> + <string name="zen_mode_vibration_calls_and_notifications">Vibrate for calls and notifications</string> + <!-- About phone settings screen, setting option dialog title to show regulatory information [CHAR LIMIT=25] --> <string name="regulatory_information_dialog_title" translatable="false">@string/regulatory_information</string> diff --git a/res/xml/zen_mode_priority_settings.xml b/res/xml/zen_mode_priority_settings.xml index 37ec317..567b9e7 100644 --- a/res/xml/zen_mode_priority_settings.xml +++ b/res/xml/zen_mode_priority_settings.xml @@ -57,6 +57,11 @@ android:title="@string/zen_mode_repeat_callers" android:persistent="false"/> + <com.android.settings.DropDownPreference + android:key="vibration" + android:title="@string/zen_mode_vibration" + android:persistent="false" /> + <com.android.settings.cyanogenmod.CMSystemSettingSwitchPreference android:key="zen_priority_allow_lights" android:title="@string/notification_light_title" diff --git a/src/com/android/settings/notification/ZenModePrioritySettings.java b/src/com/android/settings/notification/ZenModePrioritySettings.java index e8a8bb1..08e0350 100644 --- a/src/com/android/settings/notification/ZenModePrioritySettings.java +++ b/src/com/android/settings/notification/ZenModePrioritySettings.java @@ -28,6 +28,7 @@ import com.android.internal.logging.MetricsLogger; import com.android.settings.DropDownPreference; import com.android.settings.R; import com.android.settings.search.Indexable; +import cyanogenmod.providers.CMSettings; public class ZenModePrioritySettings extends ZenModeSettingsBase implements Indexable { private static final String KEY_REMINDERS = "reminders"; @@ -35,6 +36,7 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde private static final String KEY_MESSAGES = "messages"; private static final String KEY_CALLS = "calls"; private static final String KEY_REPEAT_CALLERS = "repeat_callers"; + private static final String KEY_VIBRATION = "vibration"; private static final String KEY_ALLOW_LIGHTS = "zen_priority_allow_lights"; private static final int SOURCE_NONE = -1; @@ -146,6 +148,21 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde } }); + DropDownPreference vibration = (DropDownPreference) root.findPreference(KEY_VIBRATION); + vibration.addItem(R.string.zen_mode_vibration_never, null); + vibration.addItem(R.string.zen_mode_vibration_calls_only, null); + vibration.addItem(R.string.zen_mode_vibration_calls_and_notifications, null); + vibration.setSelectedItem(CMSettings.System.getInt(getContentResolver(), + CMSettings.System.ZEN_PRIORITY_VIBRATION_MODE, 0)); + vibration.setCallback(new DropDownPreference.Callback() { + @Override + public boolean onItemSelected(int pos, Object newValue) { + CMSettings.System.putInt(getContentResolver(), + CMSettings.System.ZEN_PRIORITY_VIBRATION_MODE, pos); + return true; + } + }); + // Remove of the "Allow notification light" setting if LED is not supported if (!getResources().getBoolean( com.android.internal.R.bool.config_intrusiveNotificationLed)) { |