diff options
author | Michael Bestas <mikeioannina@gmail.com> | 2014-12-18 04:26:11 +0200 |
---|---|---|
committer | Adnan Begovic <adnan@cyngn.com> | 2015-10-29 17:36:26 -0700 |
commit | 53639c63a55c062a8cc9b26c53fb0131f4f7a72f (patch) | |
tree | b03a627c70bdf800aa7ff14d41d80fc422ae461d /src/com/android/settings/ButtonSettings.java | |
parent | a851c539694d50f0189d63cfd56587198f00512f (diff) | |
download | packages_apps_Settings-53639c63a55c062a8cc9b26c53fb0131f4f7a72f.zip packages_apps_Settings-53639c63a55c062a8cc9b26c53fb0131f4f7a72f.tar.gz packages_apps_Settings-53639c63a55c062a8cc9b26c53fb0131f4f7a72f.tar.bz2 |
Cleanup button wake settings (1/2)
Change-Id: I972251384eee15cf9e4915cd82d189ed7ef3050d
Diffstat (limited to 'src/com/android/settings/ButtonSettings.java')
-rw-r--r-- | src/com/android/settings/ButtonSettings.java | 58 |
1 files changed, 32 insertions, 26 deletions
diff --git a/src/com/android/settings/ButtonSettings.java b/src/com/android/settings/ButtonSettings.java index 326391a..5cf6e1f 100644 --- a/src/com/android/settings/ButtonSettings.java +++ b/src/com/android/settings/ButtonSettings.java @@ -56,13 +56,13 @@ public class ButtonSettings extends SettingsPreferenceFragment implements private static final String KEY_APP_SWITCH_PRESS = "hardware_keys_app_switch_press"; private static final String KEY_APP_SWITCH_LONG_PRESS = "hardware_keys_app_switch_long_press"; private static final String KEY_VOLUME_KEY_CURSOR_CONTROL = "volume_key_cursor_control"; - private static final String KEY_VOLUME_WAKE_DEVICE = "volume_key_wake_device"; private static final String DISABLE_NAV_KEYS = "disable_nav_keys"; private static final String KEY_POWER_END_CALL = "power_end_call"; private static final String KEY_HOME_ANSWER_CALL = "home_answer_call"; private static final String CATEGORY_POWER = "power_key"; private static final String CATEGORY_HOME = "home_key"; + private static final String CATEGORY_BACK = "back_key"; private static final String CATEGORY_MENU = "menu_key"; private static final String CATEGORY_ASSIST = "assist_key"; private static final String CATEGORY_APPSWITCH = "app_switch_key"; @@ -92,6 +92,7 @@ public class ButtonSettings extends SettingsPreferenceFragment implements public static final int KEY_MASK_ASSIST = 0x08; public static final int KEY_MASK_APP_SWITCH = 0x10; public static final int KEY_MASK_CAMERA = 0x20; + public static final int KEY_MASK_VOLUME = 0x40; private ListPreference mHomeLongPressAction; private ListPreference mHomeDoubleTapAction; @@ -103,7 +104,6 @@ public class ButtonSettings extends SettingsPreferenceFragment implements private SwitchPreference mDisableNavigationKeys; private SwitchPreference mPowerEndCall; private SwitchPreference mHomeAnswerCall; - private SwitchPreference mVolumeKeyWakeControl; private PreferenceCategory mNavigationPreferencesCat; @@ -121,18 +121,29 @@ public class ButtonSettings extends SettingsPreferenceFragment implements final int deviceKeys = getResources().getInteger( com.android.internal.R.integer.config_deviceHardwareKeys); + final int deviceWakeKeys = getResources().getInteger( + com.android.internal.R.integer.config_deviceHardwareWakeKeys); final boolean hasPowerKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_POWER); final boolean hasHomeKey = (deviceKeys & KEY_MASK_HOME) != 0; + final boolean hasBackKey = (deviceKeys & KEY_MASK_BACK) != 0; final boolean hasMenuKey = (deviceKeys & KEY_MASK_MENU) != 0; final boolean hasAssistKey = (deviceKeys & KEY_MASK_ASSIST) != 0; final boolean hasAppSwitchKey = (deviceKeys & KEY_MASK_APP_SWITCH) != 0; + final boolean hasVolumeKeys = (deviceKeys & KEY_MASK_VOLUME) != 0; + + final boolean showHomeWake = (deviceWakeKeys & KEY_MASK_HOME) != 0; + final boolean showBackWake = (deviceWakeKeys & KEY_MASK_BACK) != 0; + final boolean showMenuWake = (deviceWakeKeys & KEY_MASK_MENU) != 0; + final boolean showVolumeWake = (deviceWakeKeys & KEY_MASK_VOLUME) != 0; boolean hasAnyBindableKey = false; final PreferenceCategory powerCategory = (PreferenceCategory) prefScreen.findPreference(CATEGORY_POWER); final PreferenceCategory homeCategory = (PreferenceCategory) prefScreen.findPreference(CATEGORY_HOME); + final PreferenceCategory backCategory = + (PreferenceCategory) prefScreen.findPreference(CATEGORY_BACK); final PreferenceCategory menuCategory = (PreferenceCategory) prefScreen.findPreference(CATEGORY_MENU); final PreferenceCategory appSwitchCategory = @@ -175,13 +186,14 @@ public class ButtonSettings extends SettingsPreferenceFragment implements if (!Utils.isVoiceCapable(getActivity())) { powerCategory.removePreference(mPowerEndCall); mPowerEndCall = null; + prefScreen.removePreference(powerCategory); } } else { prefScreen.removePreference(powerCategory); } if (hasHomeKey) { - if (!res.getBoolean(R.bool.config_show_homeWake)) { + if (!showHomeWake) { homeCategory.removePreference(findPreference(Settings.System.HOME_WAKE_SCREEN)); } @@ -219,7 +231,20 @@ public class ButtonSettings extends SettingsPreferenceFragment implements prefScreen.removePreference(homeCategory); } + if (hasBackKey) { + if (!showBackWake) { + backCategory.removePreference(findPreference(Settings.System.BACK_WAKE_SCREEN)); + prefScreen.removePreference(backCategory); + } + } else { + prefScreen.removePreference(backCategory); + } + if (hasMenuKey) { + if (!showMenuWake) { + menuCategory.removePreference(findPreference(Settings.System.MENU_WAKE_SCREEN)); + } + int pressAction = Settings.System.getInt(resolver, Settings.System.KEY_MENU_ACTION, ACTION_MENU); mMenuPressAction = initActionList(KEY_MENU_PRESS, pressAction); @@ -249,13 +274,14 @@ public class ButtonSettings extends SettingsPreferenceFragment implements } if (Utils.hasVolumeRocker(getActivity())) { + if (!showVolumeWake) { + volumeCategory.removePreference(findPreference(Settings.System.VOLUME_WAKE_SCREEN)); + } + int cursorControlAction = Settings.System.getInt(resolver, Settings.System.VOLUME_KEY_CURSOR_CONTROL, 0); mVolumeKeyCursorControl = initActionList(KEY_VOLUME_KEY_CURSOR_CONTROL, cursorControlAction); - int wakeControlAction = Settings.System.getInt(resolver, - Settings.System.VOLUME_WAKE_SCREEN, 0); - mVolumeKeyWakeControl = initSwitch(KEY_VOLUME_WAKE_DEVICE, (wakeControlAction == 1)); } else { prefScreen.removePreference(volumeCategory); } @@ -287,22 +313,6 @@ public class ButtonSettings extends SettingsPreferenceFragment implements } - private SwitchPreference initSwitch(String key, boolean checked) { - SwitchPreference switchPreference = (SwitchPreference) getPreferenceManager() - .findPreference(key); - if (switchPreference != null) { - switchPreference.setChecked(checked); - switchPreference.setOnPreferenceChangeListener(this); - } - return switchPreference; - } - - private void handleSwitchChange(SwitchPreference pref, Object newValue, String setting) { - Boolean value = (Boolean) newValue; - int intValue = (value) ? 1 : 0; - Settings.System.putInt(getContentResolver(), setting, intValue); - } - private ListPreference initActionList(String key, int value) { ListPreference list = (ListPreference) getPreferenceScreen().findPreference(key); list.setValue(Integer.toString(value)); @@ -353,10 +363,6 @@ public class ButtonSettings extends SettingsPreferenceFragment implements handleActionListChange(mVolumeKeyCursorControl, newValue, Settings.System.VOLUME_KEY_CURSOR_CONTROL); return true; - } else if (preference == mVolumeKeyWakeControl) { - handleSwitchChange(mVolumeKeyWakeControl, newValue, - Settings.System.VOLUME_WAKE_SCREEN); - return true; } return false; } |