Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ef980e4d authored by Doris Ling's avatar Doris Ling Committed by android-build-merger
Browse files

Remove pickup gesture settings if sensor is not found. am: 94e0da52

am: 79aa7186

Change-Id: Ibd7ad376e17c8a612b87909ffe87e75bb242c3a0
parents ff4ba8ae 79aa7186
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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>

+16 −6
Original line number Diff line number Diff line
@@ -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)) {