From d72a5859af61ad5c7d2af80526cde250bcdace47 Mon Sep 17 00:00:00 2001 From: One Android Date: Mon, 12 Jan 2015 14:56:04 +0800 Subject: [PATCH] Update Add volume call answer --- src/com/android/settings/ButtonSettings.java | 29 +++++++------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/src/com/android/settings/ButtonSettings.java b/src/com/android/settings/ButtonSettings.java index fc2632e122..51c38dbdfa 100644 --- a/src/com/android/settings/ButtonSettings.java +++ b/src/com/android/settings/ButtonSettings.java @@ -406,14 +406,10 @@ public void onResume() { mHomeAnswerCall.setChecked(homeButtonAnswersCall); } // Volume button answers calls. - if (mVolumeAnswerCall != null) { - final int answervolumebehavior = Settings.Secure.getInt(getContentResolver(), - Settings.Secure.ANSWER_VOLUME_BUTTON_BEHAVIOR, - Settings.Secure.ANSWER_VOLUME_BUTTON_BEHAVIOR_DEFAULT); - final boolean volumeButtonAnswersCall = - (answervolumebehavior == Settings.Secure.ANSWER_VOLUME_BUTTON_BEHAVIOR_HANGUP); - mVolumeAnswerCall.setChecked(volumeButtonAnswersCall); - } + mVolumeAnswerCall = (CheckBoxPreference) prefSet.findPreference(KEY_VOLUME_ANSWER_CALL); + mVolumeAnswerCall.setChecked((Settings.System.getInt(resolver, + Settings.System.ANSWER_VOLUME_BUTTON_BEHAVIOR_ANSWER, 0) == 1)); + mVolumeAnswerCall.setOnPreferenceChangeListener(this); } @@ -474,7 +470,12 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { handleActionListChange(mVolumeKeyCursorControl, newValue, Settings.System.VOLUME_KEY_CURSOR_CONTROL); return true; - } + } else if (preference == mVolumeAnswerCall) { + boolean value = (Boolean) newValue; + Settings.System.putInt(resolver, + Settings.System.ANSWER_VOLUME_BUTTON_BEHAVIOR_ANSWER, value ? 1 : 0); + return true; + } return false; } @@ -595,9 +596,6 @@ public void run() { } else if (preference == mHomeAnswerCall) { handleToggleHomeButtonAnswersCallPreferenceClick(); return true; - } else if (preference == mVolumeAnswerCall) { - handleToggleVolumeButtonAnswersCallPreferenceClick(); - return true; } return super.onPreferenceTreeClick(preferenceScreen, preference); @@ -625,11 +623,4 @@ private void handleToggleHomeButtonAnswersCallPreferenceClick() { ? Settings.Secure.RING_HOME_BUTTON_BEHAVIOR_ANSWER : Settings.Secure.RING_HOME_BUTTON_BEHAVIOR_DO_NOTHING)); } - - private void handleToggleVolumeButtonAnswersCallPreferenceClick() { - Settings.Secure.putInt(getContentResolver(), - Settings.Secure.ANSWER_VOLUME_BUTTON_BEHAVIOR, (mVolumeAnswerCall.isChecked() - ? Settings.Secure.ANSWER_VOLUME_BUTTON_BEHAVIOR_HANGUP - : Settings.Secure.ANSWER_VOLUME_BUTTON_BEHAVIOR_SCREEN_OFF)); - } }