summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/ButtonSettings.java
diff options
context:
space:
mode:
authorMichael Bestas <mikeioannina@gmail.com>2014-12-18 04:26:11 +0200
committerAdnan Begovic <adnan@cyngn.com>2015-10-29 17:36:26 -0700
commit53639c63a55c062a8cc9b26c53fb0131f4f7a72f (patch)
treeb03a627c70bdf800aa7ff14d41d80fc422ae461d /src/com/android/settings/ButtonSettings.java
parenta851c539694d50f0189d63cfd56587198f00512f (diff)
downloadpackages_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.java58
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;
}