diff options
author | Eug89 <eugenio@eugenio-laptop.(none)> | 2010-07-10 11:52:06 +0200 |
---|---|---|
committer | Eug89 <eugenio@eugenio-laptop.(none)> | 2010-07-10 11:52:06 +0200 |
commit | 7b928d32809806bcb7c0d8d912e6c29a4fec806c (patch) | |
tree | 5c98d4d98305ac4b84528e4233e5be19f0f41d6e | |
parent | 3dde71990b064ee53b6280bc4546eca4d778a658 (diff) | |
parent | 5d825f1f8f011e9105a716aa0d5171323d15d0e9 (diff) | |
download | packages_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.xml | 1 | ||||
-rw-r--r-- | res/xml/contacts_preferences.xml | 1 | ||||
-rw-r--r-- | src/com/android/contacts/TwelveKeyDialer.java | 34 |
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; + } + } |