Commit 94e0da52 authored by Doris Ling's avatar Doris Ling
Browse files

Remove pickup gesture settings if sensor is not found.

Update gesture settings to check for available pickup sensor before
showing pickup gesture settings.

Test: manual - launch gesture settings on different device and check for
pickup preference. Auto test pending.

Bug: 32072298

Change-Id: Iaab0290dcfeb2b0c9195df685f225d092a658347
parent e0b74a6d
......@@ -52,6 +52,10 @@
<string name="gesture_double_twist_sensor_name" translatable="false"></string>
<string name="gesture_double_twist_sensor_vendor" translatable="false"></string>
<!-- Pickup sensor name and vendor used by gesture setting -->
<string name="gesture_pickup_sensor_name" translatable="false"></string>
<string name="gesture_pickup_sensor_vendor" translatable="false"></string>
<!-- When true enable gesture setting. -->
<bool name="config_gesture_settings_enabled">false</bool>
......
......@@ -82,7 +82,7 @@ public class GestureSettings extends SettingsPreferenceFragment implements
// Ambient Display
boolean dozeEnabled = isDozeAvailable(context);
if (dozeEnabled) {
if (dozeEnabled && isPickupAvailable(context)) {
int pickup = Secure.getInt(getContentResolver(), Secure.DOZE_PULSE_ON_PICK_UP, 1);
addPreference(PREF_KEY_PICK_UP, pickup != 0, PREF_ID_PICK_UP);
} else {
......@@ -204,9 +204,19 @@ public class GestureSettings extends SettingsPreferenceFragment implements
}
private static boolean isDoubleTwistAvailable(Context context) {
return hasSensor(context, R.string.gesture_double_twist_sensor_name,
R.string.gesture_double_twist_sensor_vendor);
}
private static boolean isPickupAvailable(Context context) {
return hasSensor(context, R.string.gesture_pickup_sensor_name,
R.string.gesture_pickup_sensor_vendor);
}
private static boolean hasSensor(Context context, int nameResId, int vendorResId) {
Resources resources = context.getResources();
String name = resources.getString(R.string.gesture_double_twist_sensor_name);
String vendor = resources.getString(R.string.gesture_double_twist_sensor_vendor);
String name = resources.getString(nameResId);
String vendor = resources.getString(vendorResId);
if (!TextUtils.isEmpty(name) && !TextUtils.isEmpty(vendor)) {
SensorManager sensorManager =
(SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
......@@ -253,10 +263,10 @@ public class GestureSettings extends SettingsPreferenceFragment implements
if (!isCameraDoubleTapPowerGestureAvailable(context.getResources())) {
result.add(PREF_KEY_DOUBLE_TAP_POWER);
}
if (!isDozeAvailable(context)) {
if (!isDozeAvailable(context) || !isPickupAvailable(context)) {
result.add(PREF_KEY_PICK_UP);
result.add(PREF_KEY_DOUBLE_TAP_SCREEN);
} else if (!isDoubleTapAvailable(context)) {
}
if (!isDozeAvailable(context) || !isDoubleTapAvailable(context)) {
result.add(PREF_KEY_DOUBLE_TAP_SCREEN);
}
if (!isSystemUINavigationAvailable(context)) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment