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

Commit 552cd57d authored by Jonathan Solnit's avatar Jonathan Solnit Committed by Android (Google) Code Review
Browse files

Merge "Only launch on camera lift from locked or asleep"

parents 123551cf 4587d105
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.server;

import android.app.ActivityManager;
import android.app.KeyguardManager;
import android.app.StatusBarManager;
import android.content.BroadcastReceiver;
import android.content.Context;
@@ -78,6 +79,8 @@ public class GestureLauncherService extends SystemService {
    private Sensor mCameraLiftTriggerSensor;
    private Context mContext;
    private final MetricsLogger mMetricsLogger;
    private PowerManager mPowerManager;
    private KeyguardManager mKeyguardManager;

    /** The wake lock held when a gesture is detected. */
    private WakeLock mWakeLock;
@@ -145,9 +148,11 @@ public class GestureLauncherService extends SystemService {
                return;
            }

            PowerManager powerManager = (PowerManager) mContext.getSystemService(
            mKeyguardManager = (KeyguardManager) mContext.getSystemService(
                    Context.KEYGUARD_SERVICE);
            mPowerManager = (PowerManager) mContext.getSystemService(
                    Context.POWER_SERVICE);
            mWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
            mWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
                    "GestureLauncherService");
            updateCameraRegistered();
            updateCameraDoubleTapPowerEnabled();
@@ -519,10 +524,14 @@ public class GestureLauncherService extends SystemService {
                    Slog.d(TAG, String.format("Received a camera lift trigger event: " +
                            "values=[%.4f].", values[0]));
                }
                if (mKeyguardManager.isKeyguardLocked() || !mPowerManager.isInteractive()) {
                    if (handleCameraGesture(true /* useWakelock */,
                            StatusBarManager.CAMERA_LAUNCH_SOURCE_LIFT_TRIGGER)) {
                        MetricsLogger.action(mContext, MetricsEvent.ACTION_CAMERA_LIFT_TRIGGER);
                    }
                } else if (DBG) {
                    Slog.d(TAG, "Ignoring lift event because device is awake");
                }
                return;
            }
        }