Add condition check for double tap gesture settings.

am: c8b7555fc9

Change-Id: I7fa9e76725a7920d36936ffd4a737e8ed7eb8107
This commit is contained in:
Doris Ling
2016-10-06 20:47:32 +00:00
committed by android-build-merger
2 changed files with 17 additions and 3 deletions

View File

@@ -58,4 +58,7 @@
<!-- If the Storage Manager settings are enabled. --> <!-- If the Storage Manager settings are enabled. -->
<bool name="config_storage_manager_settings_enabled">false</bool> <bool name="config_storage_manager_settings_enabled">false</bool>
<!-- When true show double-tap gesture setting. -->
<bool name="config_gesture_double_tap_settings_enabled">false</bool>
</resources> </resources>

View File

@@ -71,7 +71,7 @@ public class GestureSettings extends SettingsPreferenceFragment implements
Context context = getActivity(); Context context = getActivity();
mPreferences = new ArrayList(); mPreferences = new ArrayList();
// Double tap power for camera // Double tap power for camera
if (isCameraDoubleTapPowerGestureAvailable(getResources())) { if (isCameraDoubleTapPowerGestureAvailable(getResources())) {
int cameraDisabled = Secure.getInt( int cameraDisabled = Secure.getInt(
getContentResolver(), Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 0); getContentResolver(), Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 0);
@@ -81,13 +81,17 @@ public class GestureSettings extends SettingsPreferenceFragment implements
} }
// Ambient Display // Ambient Display
if (isDozeAvailable(context)) { boolean dozeEnabled = isDozeAvailable(context);
if (dozeEnabled) {
int pickup = Secure.getInt(getContentResolver(), Secure.DOZE_PULSE_ON_PICK_UP, 1); int pickup = Secure.getInt(getContentResolver(), Secure.DOZE_PULSE_ON_PICK_UP, 1);
addPreference(PREF_KEY_PICK_UP, pickup != 0, PREF_ID_PICK_UP); addPreference(PREF_KEY_PICK_UP, pickup != 0, PREF_ID_PICK_UP);
} else {
removePreference(PREF_KEY_PICK_UP);
}
if (dozeEnabled && isDoubleTapAvailable(context)) {
int doubleTap = Secure.getInt(getContentResolver(), Secure.DOZE_PULSE_ON_DOUBLE_TAP, 1); int doubleTap = Secure.getInt(getContentResolver(), Secure.DOZE_PULSE_ON_DOUBLE_TAP, 1);
addPreference(PREF_KEY_DOUBLE_TAP_SCREEN, doubleTap != 0, PREF_ID_DOUBLE_TAP_SCREEN); addPreference(PREF_KEY_DOUBLE_TAP_SCREEN, doubleTap != 0, PREF_ID_DOUBLE_TAP_SCREEN);
} else { } else {
removePreference(PREF_KEY_PICK_UP);
removePreference(PREF_KEY_DOUBLE_TAP_SCREEN); removePreference(PREF_KEY_DOUBLE_TAP_SCREEN);
} }
@@ -215,6 +219,11 @@ public class GestureSettings extends SettingsPreferenceFragment implements
return false; return false;
} }
private static boolean isDoubleTapAvailable(Context context) {
return context.getResources().getBoolean(
R.bool.config_gesture_double_tap_settings_enabled);
}
private void addPreference(String key, boolean enabled, int id) { private void addPreference(String key, boolean enabled, int id) {
GesturePreference preference = (GesturePreference) findPreference(key); GesturePreference preference = (GesturePreference) findPreference(key);
preference.setChecked(enabled); preference.setChecked(enabled);
@@ -247,6 +256,8 @@ public class GestureSettings extends SettingsPreferenceFragment implements
if (!isDozeAvailable(context)) { if (!isDozeAvailable(context)) {
result.add(PREF_KEY_PICK_UP); result.add(PREF_KEY_PICK_UP);
result.add(PREF_KEY_DOUBLE_TAP_SCREEN); result.add(PREF_KEY_DOUBLE_TAP_SCREEN);
} else if (!isDoubleTapAvailable(context)) {
result.add(PREF_KEY_DOUBLE_TAP_SCREEN);
} }
if (!isSystemUINavigationAvailable(context)) { if (!isSystemUINavigationAvailable(context)) {
result.add(PREF_KEY_SWIPE_DOWN_FINGERPRINT); result.add(PREF_KEY_SWIPE_DOWN_FINGERPRINT);