diff options
author | Oleksandr Byelkin <sanja.byelkin@gmail.com> | 2012-12-27 19:28:31 +0100 |
---|---|---|
committer | Gerrit Code Review <gerrit@review.cyanogenmod.com> | 2013-01-04 06:11:49 -0800 |
commit | f8c9fbcb214f6881ddb6ac02fa5ae45518828be7 (patch) | |
tree | c972dfc1bae740a3f4da32cfc04e6f960db416e3 /src/com/android/settings/AccessibilitySettings.java | |
parent | 45c9a99261a2580e086ef8bdfe486fad8bda0b88 (diff) | |
download | packages_apps_settings-f8c9fbcb214f6881ddb6ac02fa5ae45518828be7.zip packages_apps_settings-f8c9fbcb214f6881ddb6ac02fa5ae45518828be7.tar.gz packages_apps_settings-f8c9fbcb214f6881ddb6ac02fa5ae45518828be7.tar.bz2 |
Adds ability to answer call with hardware HOME button (preparation to winter time)
Change-Id: I0d22a6fbb92a61f08b50cae5c14d0030b81ee6ec
Diffstat (limited to 'src/com/android/settings/AccessibilitySettings.java')
-rw-r--r-- | src/com/android/settings/AccessibilitySettings.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/com/android/settings/AccessibilitySettings.java b/src/com/android/settings/AccessibilitySettings.java index b6556a9..b7e7c42 100644 --- a/src/com/android/settings/AccessibilitySettings.java +++ b/src/com/android/settings/AccessibilitySettings.java @@ -102,6 +102,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements "toggle_large_text_preference"; private static final String TOGGLE_POWER_BUTTON_ENDS_CALL_PREFERENCE = "toggle_power_button_ends_call_preference"; + private static final String TOGGLE_HOME_BUTTON_ANSWERS_CALL_PREFERENCE = + "toggle_home_button_answers_call_preference"; private static final String TOGGLE_LOCK_SCREEN_ROTATION_PREFERENCE = "toggle_lock_screen_rotation_preference"; private static final String TOGGLE_SPEAK_PASSWORD_PREFERENCE = @@ -176,6 +178,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements private CheckBoxPreference mToggleLargeTextPreference; private CheckBoxPreference mTogglePowerButtonEndsCallPreference; + private CheckBoxPreference mToggleHomeButtonAnswersCallPreference; private CheckBoxPreference mToggleLockScreenRotationPreference; private CheckBoxPreference mToggleSpeakPasswordPreference; private ListPreference mSelectLongPressTimeoutPreference; @@ -236,6 +239,9 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements } else if (mTogglePowerButtonEndsCallPreference == preference) { handleTogglePowerButtonEndsCallPreferenceClick(); return true; + } else if (mToggleHomeButtonAnswersCallPreference == preference) { + handleToggleHomeButtonAnswersCallPreferenceClick(); + return true; } else if (mToggleLockScreenRotationPreference == preference) { handleLockScreenRotationPreferenceClick(); return true; @@ -269,6 +275,14 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements : Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_SCREEN_OFF)); } + private void handleToggleHomeButtonAnswersCallPreferenceClick() { + Settings.Secure.putInt(getContentResolver(), + Settings.Secure.RING_HOME_BUTTON_BEHAVIOR, + (mToggleHomeButtonAnswersCallPreference.isChecked() + ? Settings.Secure.RING_HOME_BUTTON_BEHAVIOR_ANSWER + : Settings.Secure.RING_HOME_BUTTON_BEHAVIOR_DO_NOTHING)); + } + private void handleLockScreenRotationPreferenceClick() { RotationPolicy.setRotationLockForAccessibility(getActivity(), !mToggleLockScreenRotationPreference.isChecked()); @@ -320,6 +334,14 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements mSystemsCategory.removePreference(mTogglePowerButtonEndsCallPreference); } + // Home button answers calls. + mToggleHomeButtonAnswersCallPreference = + (CheckBoxPreference) findPreference(TOGGLE_HOME_BUTTON_ANSWERS_CALL_PREFERENCE); + if (!KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_HOME) + || !Utils.isVoiceCapable(getActivity())) { + mSystemsCategory.removePreference(mToggleHomeButtonAnswersCallPreference); + } + // Lock screen rotation. mToggleLockScreenRotationPreference = (CheckBoxPreference) findPreference(TOGGLE_LOCK_SCREEN_ROTATION_PREFERENCE); @@ -489,6 +511,17 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements mTogglePowerButtonEndsCallPreference.setChecked(powerButtonEndsCall); } + // Home button answers calls. + if (KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_HOME) + && Utils.isVoiceCapable(getActivity())) { + final int incallHomeBehavior = Settings.Secure.getInt(getContentResolver(), + Settings.Secure.RING_HOME_BUTTON_BEHAVIOR, + Settings.Secure.RING_HOME_BUTTON_BEHAVIOR_DEFAULT); + final boolean homeButtonAnswersCall = + (incallHomeBehavior == Settings.Secure.RING_HOME_BUTTON_BEHAVIOR_ANSWER); + mToggleHomeButtonAnswersCallPreference.setChecked(homeButtonAnswersCall); + } + // Auto-rotate screen updateLockScreenRotationCheckbox(); |