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

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

Merge "Suppress immersive mode cling in LockTask mode."

parents e020c007 29fef432
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -52,7 +52,6 @@ import android.widget.Button;
import android.widget.FrameLayout;

import com.android.internal.R;
import com.android.server.vr.VrManagerService;

/**
 *  Helper to manage showing/hiding a confirmation prompt when the navigation bar is hidden
@@ -148,6 +147,7 @@ public class ImmersiveModeConfirmation {
                    && userSetupComplete
                    && !mVrModeEnabled
                    && !navBarEmpty
                    && !isLockTaskModeLocked()
                    && !UserManager.isDeviceInDemoMode(mContext)) {
                mHandler.sendEmptyMessageDelayed(H.SHOW, mShowDelayMs);
            }
@@ -156,6 +156,20 @@ public class ImmersiveModeConfirmation {
        }
    }

    /**
     * @return {@code true} if and only if the device is currently in LockTask mode managed by
     * {@link android.app.admin.DevicePolicyManager}. Note that this differs from the screen pinning
     * mode which is initiated by the user.
     */
    private boolean isLockTaskModeLocked() {
        try {
            return ActivityManager.getService().getLockTaskModeState()
                    == ActivityManager.LOCK_TASK_MODE_LOCKED;
        } catch (RemoteException e) {
            return false;
        }
    }

    public boolean onPowerKeyDown(boolean isScreenOn, long time, boolean inImmersiveMode,
            boolean navBarEmpty) {
        if (!isScreenOn && (time - mPanicTime < mPanicThresholdMs)) {