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

Commit dc903bcd authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Read panic_button_gesture setting value in GestureLaunchService."

parents 69131f89 4da8d0f2
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
@@ -127,6 +127,12 @@ public class GestureLauncherService extends SystemService {
     * Whether camera double tap power button gesture is currently enabled;
     */
    private boolean mCameraDoubleTapPowerEnabled;

    /**
     * Whether panic button gesture is currently enabled
     */
    private boolean mPanicButtonGestureEnabled;

    private long mLastPowerDown;
    private int mPowerButtonConsecutiveTaps;

@@ -141,10 +147,12 @@ public class GestureLauncherService extends SystemService {
        mMetricsLogger = metricsLogger;
    }

    @Override
    public void onStart() {
        LocalServices.addService(GestureLauncherService.class, this);
    }

    @Override
    public void onBootPhase(int phase) {
        if (phase == PHASE_THIRD_PARTY_APPS_CAN_START) {
            Resources resources = mContext.getResources();
@@ -160,6 +168,7 @@ public class GestureLauncherService extends SystemService {
                    "GestureLauncherService");
            updateCameraRegistered();
            updateCameraDoubleTapPowerEnabled();
            updatePanicButtonGestureEnabled();

            mUserId = ActivityManager.getCurrentUser();
            mContext.registerReceiver(mUserReceiver, new IntentFilter(Intent.ACTION_USER_SWITCHED));
@@ -177,6 +186,9 @@ public class GestureLauncherService extends SystemService {
        mContext.getContentResolver().registerContentObserver(
                Settings.Secure.getUriFor(Settings.Secure.CAMERA_LIFT_TRIGGER_ENABLED),
                false, mSettingObserver, mUserId);
        mContext.getContentResolver().registerContentObserver(
                Settings.Secure.getUriFor(Settings.Secure.PANIC_GESTURE_ENABLED),
                false, mSettingObserver, mUserId);
    }

    private void updateCameraRegistered() {
@@ -202,6 +214,14 @@ public class GestureLauncherService extends SystemService {
        }
    }

    @VisibleForTesting
    void updatePanicButtonGestureEnabled() {
        boolean enabled = isPanicButtonGestureEnabled(mContext, mUserId);
        synchronized (this) {
            mPanicButtonGestureEnabled = enabled;
        }
    }

    private void unregisterCameraLaunchGesture() {
        if (mCameraLaunchRegistered) {
            mCameraLaunchRegistered = false;
@@ -326,6 +346,15 @@ public class GestureLauncherService extends SystemService {
                        Settings.Secure.CAMERA_LIFT_TRIGGER_ENABLED_DEFAULT, userId) != 0);
    }

    /**
     * Whether to enable panic button gesture.
     */
    public static boolean isPanicButtonGestureEnabled(Context context, int userId) {
        return isCameraLaunchEnabled(context.getResources())
                && (Settings.Secure.getIntForUser(context.getContentResolver(),
                Settings.Secure.PANIC_GESTURE_ENABLED, 0, userId) != 0);
    }

    /**
     * Whether to enable the camera launch gesture.
     */
@@ -445,6 +474,7 @@ public class GestureLauncherService extends SystemService {
                registerContentObservers();
                updateCameraRegistered();
                updateCameraDoubleTapPowerEnabled();
                updatePanicButtonGestureEnabled();
            }
        }
    };
@@ -454,6 +484,7 @@ public class GestureLauncherService extends SystemService {
            if (userId == mUserId) {
                updateCameraRegistered();
                updateCameraDoubleTapPowerEnabled();
                updatePanicButtonGestureEnabled();
            }
        }
    };