summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2014-11-23 15:15:05 +0100
committerGerrit Code Review <gerrit@cyanogenmod.org>2014-11-25 12:01:08 +0000
commit10d24bfeb1504e251e86ecb4ec5216699549cf7b (patch)
tree0e6e2d058f4c476e37789ff8ed02965e7bbc2402
parentb731b8e33b8b8e0a7d85281c4ebd9ebc95a97d44 (diff)
downloadandroid_packages_apps_Dialer-10d24bfeb1504e251e86ecb4ec5216699549cf7b.tar.gz
android_packages_apps_Dialer-10d24bfeb1504e251e86ecb4ec5216699549cf7b.tar.bz2
android_packages_apps_Dialer-10d24bfeb1504e251e86ecb4ec5216699549cf7b.zip
Add back in-call vibration features (2/2)
Add settings implementation. Change-Id: I48d56f28cf1caf8ab783f693887b282d5a2d4a2b
-rw-r--r--res/values/cm_strings.xml6
-rw-r--r--res/xml/general_settings.xml19
-rw-r--r--src/com/android/dialer/settings/GeneralSettingsFragment.java11
3 files changed, 34 insertions, 2 deletions
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
index f6bcdbbaf..c9b2f76c7 100644
--- a/res/values/cm_strings.xml
+++ b/res/values/cm_strings.xml
@@ -91,4 +91,10 @@
<!-- The string used to represent an unknown location for a phone number in the call log
Do not translate. -->
<string name="call_log_empty_geocode" translatable="false"></string>
+
+ <string name="incall_vibration_category_title">In-call vibration</string>
+ <string name="incall_vibrate_outgoing_title">Vibrate on answer</string>
+ <string name="incall_vibrate_hangup_title">Vibrate on hang up</string>
+ <string name="incall_vibrate_45_title">Vibrate every minute</string>
+ <string name="incall_vibrate_45_summary">Vibrates at the 45 second mark of every minute during outgoing calls</string>
</resources>
diff --git a/res/xml/general_settings.xml b/res/xml/general_settings.xml
index 71d95d9b7..36f06d1c4 100644
--- a/res/xml/general_settings.xml
+++ b/res/xml/general_settings.xml
@@ -62,6 +62,25 @@
</PreferenceCategory>
<PreferenceCategory
+ android:key="dialer_general_incall_vibration_category_key"
+ android:title="@string/incall_vibration_category_title">
+
+ <CheckBoxPreference
+ android:key="incall_vibrate_outgoing"
+ android:title="@string/incall_vibrate_outgoing_title" />
+
+ <CheckBoxPreference
+ android:key="incall_vibrate_hangup"
+ android:title="@string/incall_vibrate_hangup_title" />
+
+ <CheckBoxPreference
+ android:key="incall_vibrate_45"
+ android:title="@string/incall_vibrate_45_title"
+ android:summary="@string/incall_vibrate_45_summary" />
+
+ </PreferenceCategory>
+
+ <PreferenceCategory
android:key="dialer_general_other_settings_category_key"
android:title="@string/other_settings_title"
android:persistent="false" >
diff --git a/src/com/android/dialer/settings/GeneralSettingsFragment.java b/src/com/android/dialer/settings/GeneralSettingsFragment.java
index 30a7b6317..a5763a85f 100644
--- a/src/com/android/dialer/settings/GeneralSettingsFragment.java
+++ b/src/com/android/dialer/settings/GeneralSettingsFragment.java
@@ -43,6 +43,8 @@ import java.lang.Thread;
public class GeneralSettingsFragment extends PreferenceFragment
implements Preference.OnPreferenceChangeListener {
private static final String CATEGORY_SOUNDS_KEY = "dialer_general_sounds_category_key";
+ private static final String CATEGORY_INCALL_VIBRATION_KEY =
+ "dialer_general_incall_vibration_category_key";
private static final String BUTTON_RINGTONE_KEY = "button_ringtone_key";
private static final String BUTTON_VIBRATE_ON_RING = "button_vibrate_on_ring";
private static final String BUTTON_PLAY_DTMF_TONE = "button_play_dtmf_tone";
@@ -86,15 +88,20 @@ public class GeneralSettingsFragment extends PreferenceFragment
mSpeedDialSettings = findPreference(BUTTON_SPEED_DIAL_KEY);
PreferenceCategory soundCategory = (PreferenceCategory) findPreference(CATEGORY_SOUNDS_KEY);
+ Vibrator vibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
+ boolean hasVibrator = vibrator != null && vibrator.hasVibrator();
+
if (mVibrateWhenRinging != null) {
- Vibrator vibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
- if (vibrator != null && vibrator.hasVibrator()) {
+ if (hasVibrator) {
mVibrateWhenRinging.setOnPreferenceChangeListener(this);
} else {
soundCategory.removePreference(mVibrateWhenRinging);
mVibrateWhenRinging = null;
}
}
+ if (!hasVibrator) {
+ getPreferenceScreen().removePreference(findPreference(CATEGORY_INCALL_VIBRATION_KEY));
+ }
if (mPlayDtmfTone != null) {
mPlayDtmfTone.setOnPreferenceChangeListener(this);