Merge "Suppress immersive mode cling in LockTask mode."
This commit is contained in:
committed by
Android (Google) Code Review
commit
97a0ae3a49
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user