diff options
author | Jorim Jaggi <jjaggi@google.com> | 2015-09-08 14:56:40 -0700 |
---|---|---|
committer | Jorim Jaggi <jjaggi@google.com> | 2015-09-09 22:40:00 +0000 |
commit | cc1e9f7ce76d6c1e6d721a398fe8ae8a882243bb (patch) | |
tree | c1a57d8edf8c95319f9144a68e384fe67e09d920 /src | |
parent | 9fcc7e1b20b890283dfe9a02999f40637d27dbb2 (diff) | |
download | packages_apps_Settings-cc1e9f7ce76d6c1e6d721a398fe8ae8a882243bb.zip packages_apps_Settings-cc1e9f7ce76d6c1e6d721a398fe8ae8a882243bb.tar.gz packages_apps_Settings-cc1e9f7ce76d6c1e6d721a398fe8ae8a882243bb.tar.bz2 |
Add double-tap power button to open camera 2/2
Bug: 23787555
Change-Id: I04787cd863212b1ed9608a6c8bd02af13273b387
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/settings/DisplaySettings.java | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java index d2daac8..de15d4c 100644 --- a/src/com/android/settings/DisplaySettings.java +++ b/src/com/android/settings/DisplaySettings.java @@ -22,6 +22,7 @@ import com.android.settings.DropDownPreference.Callback; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; +import static android.provider.Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED; import static android.provider.Settings.Secure.CAMERA_GESTURE_DISABLED; import static android.provider.Settings.Secure.DOUBLE_TAP_TO_WAKE; import static android.provider.Settings.Secure.DOZE_ENABLED; @@ -76,6 +77,8 @@ public class DisplaySettings extends SettingsPreferenceFragment implements private static final String KEY_AUTO_ROTATE = "auto_rotate"; private static final String KEY_NIGHT_MODE = "night_mode"; private static final String KEY_CAMERA_GESTURE = "camera_gesture"; + private static final String KEY_CAMERA_DOUBLE_TAP_POWER_GESTURE + = "camera_double_tap_power_gesture"; private static final int DLG_GLOBAL_CHANGE_WARNING = 1; @@ -91,6 +94,7 @@ public class DisplaySettings extends SettingsPreferenceFragment implements private SwitchPreference mTapToWakePreference; private SwitchPreference mAutoBrightnessPreference; private SwitchPreference mCameraGesturePreference; + private SwitchPreference mCameraDoubleTapPowerGesturePreference; @Override protected int getMetricsCategory() { @@ -159,6 +163,14 @@ public class DisplaySettings extends SettingsPreferenceFragment implements removePreference(KEY_CAMERA_GESTURE); } + if (isCameraDoubleTapPowerGestureAvailable(getResources())) { + mCameraDoubleTapPowerGesturePreference + = (SwitchPreference) findPreference(KEY_CAMERA_DOUBLE_TAP_POWER_GESTURE); + mCameraDoubleTapPowerGesturePreference.setOnPreferenceChangeListener(this); + } else { + removePreference(KEY_CAMERA_DOUBLE_TAP_POWER_GESTURE); + } + if (RotationPolicy.isRotationLockToggleVisible(activity)) { DropDownPreference rotatePreference = (DropDownPreference) findPreference(KEY_AUTO_ROTATE); @@ -241,6 +253,11 @@ public class DisplaySettings extends SettingsPreferenceFragment implements !SystemProperties.getBoolean("gesture.disable_camera_launch", false); } + private static boolean isCameraDoubleTapPowerGestureAvailable(Resources res) { + return res.getBoolean( + com.android.internal.R.bool.config_cameraDoubleTapPowerGestureEnabled); + } + private void updateTimeoutPreferenceDescription(long currentTimeout) { ListPreference preference = mScreenTimeoutPreference; String summary; @@ -388,11 +405,18 @@ public class DisplaySettings extends SettingsPreferenceFragment implements mTapToWakePreference.setChecked(value != 0); } - // Update camera gesture if it is available. + // Update camera gesture #1 if it is available. if (mCameraGesturePreference != null) { int value = Settings.Secure.getInt(getContentResolver(), CAMERA_GESTURE_DISABLED, 0); mCameraGesturePreference.setChecked(value == 0); } + + // Update camera gesture #2 if it is available. + if (mCameraDoubleTapPowerGesturePreference != null) { + int value = Settings.Secure.getInt( + getContentResolver(), CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 0); + mCameraDoubleTapPowerGesturePreference.setChecked(value == 0); + } } private void updateScreenSaverSummary() { @@ -453,6 +477,11 @@ public class DisplaySettings extends SettingsPreferenceFragment implements Settings.Secure.putInt(getContentResolver(), CAMERA_GESTURE_DISABLED, value ? 0 : 1 /* Backwards because setting is for disabling */); } + if (preference == mCameraDoubleTapPowerGesturePreference) { + boolean value = (Boolean) objValue; + Settings.Secure.putInt(getContentResolver(), CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, + value ? 0 : 1 /* Backwards because setting is for disabling */); + } if (preference == mNightModePreference) { try { final int value = Integer.parseInt((String) objValue); @@ -524,6 +553,9 @@ public class DisplaySettings extends SettingsPreferenceFragment implements if (!isCameraGestureAvailable(context.getResources())) { result.add(KEY_CAMERA_GESTURE); } + if (!isCameraDoubleTapPowerGestureAvailable(context.getResources())) { + result.add(KEY_CAMERA_DOUBLE_TAP_POWER_GESTURE); + } return result; } }; |