summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEug89 <eugenio@eugenio-laptop.(none)>2010-07-10 11:52:06 +0200
committerEug89 <eugenio@eugenio-laptop.(none)>2010-07-10 11:52:06 +0200
commit7b928d32809806bcb7c0d8d912e6c29a4fec806c (patch)
tree5c98d4d98305ac4b84528e4233e5be19f0f41d6e
parent3dde71990b064ee53b6280bc4546eca4d778a658 (diff)
parent5d825f1f8f011e9105a716aa0d5171323d15d0e9 (diff)
downloadpackages_apps_Contacts-7b928d32809806bcb7c0d8d912e6c29a4fec806c.tar.gz
packages_apps_Contacts-7b928d32809806bcb7c0d8d912e6c29a4fec806c.tar.bz2
packages_apps_Contacts-7b928d32809806bcb7c0d8d912e6c29a4fec806c.zip
Merge branch 'froyo' of http://github.com/CyanogenMod/android_packages_apps_Contacts into froyo
-rw-r--r--res/values/strings.xml1
-rw-r--r--res/xml/contacts_preferences.xml1
-rw-r--r--src/com/android/contacts/TwelveKeyDialer.java34
3 files changed, 27 insertions, 9 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 77eec3e62..829cdae92 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1173,6 +1173,7 @@
<string name="summaryon_disable_num_check">Left action button (LAB) and menu will always be enabled</string>
<string name="summaryoff_disable_num_check">LAB and menu will be enabled only if at least one number is entered (except voicemail)</string>
<string name="title_enable_haptic_feedback">Enable haptic feedback</string>
+ <string name="summary_enable_haptic_feedback">Uses keypad tap pattern - see CyanogenMod settings to adjust</string>
<string name="title_change_digits_color">Change digits color</string>
<string name="title_digits_color_pressed">Digits color (pressed)</string>
<string name="title_digits_color_focused">Digits color (focused)</string>
diff --git a/res/xml/contacts_preferences.xml b/res/xml/contacts_preferences.xml
index 9613ac164..38ddd1786 100644
--- a/res/xml/contacts_preferences.xml
+++ b/res/xml/contacts_preferences.xml
@@ -55,6 +55,7 @@
<CheckBoxPreference
android:key="dial_enable_haptic"
android:title="@string/title_enable_haptic_feedback"
+ android:summary="@string/summary_enable_haptic_feedback"
android:defaultValue="true" />
<PreferenceScreen
android:key="dial_digits_color"
diff --git a/src/com/android/contacts/TwelveKeyDialer.java b/src/com/android/contacts/TwelveKeyDialer.java
index aa523a433..8a0309492 100644
--- a/src/com/android/contacts/TwelveKeyDialer.java
+++ b/src/com/android/contacts/TwelveKeyDialer.java
@@ -493,13 +493,8 @@ public class TwelveKeyDialer extends Activity implements View.OnClickListener,
showDialpadChooser(false);
}
- //Wysie: Use prefVibrateOn to decide whether to vibrate, in case mVibrateOn is used for something
- //in future
- if (mVibrateOn)
- prefVibrateOn = ePrefs.getBoolean("dial_enable_haptic", true);
- else
- prefVibrateOn = false;
-
+ prefVibrateOn = ePrefs.getBoolean("dial_enable_haptic", true);
+ mVibratePattern = stringToLongArray(Settings.System.getString(getContentResolver(), Settings.System.HAPTIC_TAP_ARRAY));
retrieveLastDialled = ePrefs.getBoolean("dial_retrieve_last", false);
returnToDialer = ePrefs.getBoolean("dial_return", false);
@@ -1223,13 +1218,17 @@ public class TwelveKeyDialer extends Activity implements View.OnClickListener,
* Triggers haptic feedback (if enabled) for dialer key presses.
*/
private synchronized void vibrate() {
- if (!mVibrateOn || !prefVibrateOn) {
+ if (!prefVibrateOn) {
return;
}
if (mVibrator == null) {
mVibrator = new Vibrator();
}
- mVibrator.vibrate(mVibratePattern, VIBRATE_NO_REPEAT);
+ if (mVibratePattern.length == 1) {
+ mVibrator.vibrate(mVibratePattern[0]);
+ } else {
+ mVibrator.vibrate(mVibratePattern, VIBRATE_NO_REPEAT);
+ }
}
/**
@@ -1507,4 +1506,21 @@ public class TwelveKeyDialer extends Activity implements View.OnClickListener,
return num;
}
+
+ private long[] stringToLongArray(String inpString) {
+ if (inpString == null) {
+ long[] returnLong = new long[1];
+ returnLong[0] = 0;
+ return returnLong;
+ }
+ String[] splitStr = inpString.split(",");
+ int los = splitStr.length;
+ long[] returnLong = new long[los];
+ int i;
+ for (i=0; i < los; i++ ) {
+ returnLong[i] = Long.parseLong(splitStr[i].trim());
+ }
+ return returnLong;
+ }
+
}