summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2016-10-17 16:42:20 +0200
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-10-27 05:11:41 -0700
commit046fc5c488de05cdfe6dc3a979c2d94d007b8b0b (patch)
treefb5790146d924e6814a043adeab68e0b4ef8b61f
parent8d5925b2d977570fdf6e065ebe51ca90c66d97a5 (diff)
downloadpackages_apps_Settings-046fc5c488de05cdfe6dc3a979c2d94d007b8b0b.zip
packages_apps_Settings-046fc5c488de05cdfe6dc3a979c2d94d007b8b0b.tar.gz
packages_apps_Settings-046fc5c488de05cdfe6dc3a979c2d94d007b8b0b.tar.bz2
Allow selecting vibration mode during zen priority mode.
Change-Id: I4e80e920e4d8f42b0255fd3f528c464b7f094d0e
-rw-r--r--res/values/cm_strings.xml6
-rw-r--r--res/xml/zen_mode_priority_settings.xml5
-rw-r--r--src/com/android/settings/notification/ZenModePrioritySettings.java17
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)) {