diff options
author | Jason Monk <jmonk@google.com> | 2015-08-04 11:22:29 -0400 |
---|---|---|
committer | Jason Monk <jmonk@google.com> | 2015-08-04 11:30:50 -0400 |
commit | d30e42697621f169259df36fe59ce7f302aca623 (patch) | |
tree | ac3f0775da386ba2e099d4911c0aa3331eb872a5 /src/com/android/settings/DisplaySettings.java | |
parent | e86b170d7faf32d0677122c7273545a0144cc438 (diff) | |
download | packages_apps_Settings-d30e42697621f169259df36fe59ce7f302aca623.zip packages_apps_Settings-d30e42697621f169259df36fe59ce7f302aca623.tar.gz packages_apps_Settings-d30e42697621f169259df36fe59ce7f302aca623.tar.bz2 |
Add setting to disable camera gesture
Bug: 22183841
Change-Id: I6ada3d2c911fd52e2821f12f3db5d549879941f4
Diffstat (limited to 'src/com/android/settings/DisplaySettings.java')
-rw-r--r-- | src/com/android/settings/DisplaySettings.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java index eef3c6b..d2daac8 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_GESTURE_DISABLED; import static android.provider.Settings.Secure.DOUBLE_TAP_TO_WAKE; import static android.provider.Settings.Secure.DOZE_ENABLED; import static android.provider.Settings.Secure.WAKE_GESTURE_ENABLED; @@ -74,6 +75,7 @@ public class DisplaySettings extends SettingsPreferenceFragment implements private static final String KEY_AUTO_BRIGHTNESS = "auto_brightness"; 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 int DLG_GLOBAL_CHANGE_WARNING = 1; @@ -88,6 +90,7 @@ public class DisplaySettings extends SettingsPreferenceFragment implements private SwitchPreference mDozePreference; private SwitchPreference mTapToWakePreference; private SwitchPreference mAutoBrightnessPreference; + private SwitchPreference mCameraGesturePreference; @Override protected int getMetricsCategory() { @@ -149,6 +152,13 @@ public class DisplaySettings extends SettingsPreferenceFragment implements removePreference(KEY_TAP_TO_WAKE); } + if (isCameraGestureAvailable(getResources())) { + mCameraGesturePreference = (SwitchPreference) findPreference(KEY_CAMERA_GESTURE); + mCameraGesturePreference.setOnPreferenceChangeListener(this); + } else { + removePreference(KEY_CAMERA_GESTURE); + } + if (RotationPolicy.isRotationLockToggleVisible(activity)) { DropDownPreference rotatePreference = (DropDownPreference) findPreference(KEY_AUTO_ROTATE); @@ -224,6 +234,13 @@ public class DisplaySettings extends SettingsPreferenceFragment implements return res.getBoolean(com.android.internal.R.bool.config_automatic_brightness_available); } + private static boolean isCameraGestureAvailable(Resources res) { + boolean configSet = res.getInteger( + com.android.internal.R.integer.config_cameraLaunchGestureSensorType) != -1; + return configSet && + !SystemProperties.getBoolean("gesture.disable_camera_launch", false); + } + private void updateTimeoutPreferenceDescription(long currentTimeout) { ListPreference preference = mScreenTimeoutPreference; String summary; @@ -370,6 +387,12 @@ public class DisplaySettings extends SettingsPreferenceFragment implements int value = Settings.Secure.getInt(getContentResolver(), DOUBLE_TAP_TO_WAKE, 0); mTapToWakePreference.setChecked(value != 0); } + + // Update camera gesture if it is available. + if (mCameraGesturePreference != null) { + int value = Settings.Secure.getInt(getContentResolver(), CAMERA_GESTURE_DISABLED, 0); + mCameraGesturePreference.setChecked(value == 0); + } } private void updateScreenSaverSummary() { @@ -425,6 +448,11 @@ public class DisplaySettings extends SettingsPreferenceFragment implements boolean value = (Boolean) objValue; Settings.Secure.putInt(getContentResolver(), DOUBLE_TAP_TO_WAKE, value ? 1 : 0); } + if (preference == mCameraGesturePreference) { + boolean value = (Boolean) objValue; + Settings.Secure.putInt(getContentResolver(), CAMERA_GESTURE_DISABLED, + value ? 0 : 1 /* Backwards because setting is for disabling */); + } if (preference == mNightModePreference) { try { final int value = Integer.parseInt((String) objValue); @@ -493,6 +521,9 @@ public class DisplaySettings extends SettingsPreferenceFragment implements if (!isTapToWakeAvailable(context.getResources())) { result.add(KEY_TAP_TO_WAKE); } + if (!isCameraGestureAvailable(context.getResources())) { + result.add(KEY_CAMERA_GESTURE); + } return result; } }; |