Respect "power button instantly locks" setting for dream behavior.
Don't instantly lock the device on single power button click if the "power button instantly locks" setting is off. This is only on devices that have single power button press configured to start dreaming. Bug: 263161209 Test: manually by turning "power button instantly locks" setting off, enabling screen saver, docking device, and tapping the power button to start dreaming. The device should not be locked. Then, set up again with the same conditions, turn on the "power button instantly locks" setting, then tap the power button to start dreaming. The device should be locked. Change-Id: I991504805c534eb76269579a2e753318fe0f1811
This commit is contained in:
@@ -129,7 +129,6 @@ import android.media.AudioSystem;
|
|||||||
import android.media.IAudioService;
|
import android.media.IAudioService;
|
||||||
import android.media.session.MediaSessionLegacyHelper;
|
import android.media.session.MediaSessionLegacyHelper;
|
||||||
import android.os.Binder;
|
import android.os.Binder;
|
||||||
import android.os.Build;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.DeviceIdleManager;
|
import android.os.DeviceIdleManager;
|
||||||
import android.os.FactoryTest;
|
import android.os.FactoryTest;
|
||||||
@@ -203,6 +202,7 @@ import com.android.internal.policy.PhoneWindow;
|
|||||||
import com.android.internal.policy.TransitionAnimation;
|
import com.android.internal.policy.TransitionAnimation;
|
||||||
import com.android.internal.statusbar.IStatusBarService;
|
import com.android.internal.statusbar.IStatusBarService;
|
||||||
import com.android.internal.util.ArrayUtils;
|
import com.android.internal.util.ArrayUtils;
|
||||||
|
import com.android.internal.widget.LockPatternUtils;
|
||||||
import com.android.server.AccessibilityManagerInternal;
|
import com.android.server.AccessibilityManagerInternal;
|
||||||
import com.android.server.ExtconStateObserver;
|
import com.android.server.ExtconStateObserver;
|
||||||
import com.android.server.ExtconUEventObserver;
|
import com.android.server.ExtconUEventObserver;
|
||||||
@@ -416,6 +416,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
|||||||
AppOpsManager mAppOpsManager;
|
AppOpsManager mAppOpsManager;
|
||||||
PackageManager mPackageManager;
|
PackageManager mPackageManager;
|
||||||
SideFpsEventHandler mSideFpsEventHandler;
|
SideFpsEventHandler mSideFpsEventHandler;
|
||||||
|
LockPatternUtils mLockPatternUtils;
|
||||||
private boolean mHasFeatureAuto;
|
private boolean mHasFeatureAuto;
|
||||||
private boolean mHasFeatureWatch;
|
private boolean mHasFeatureWatch;
|
||||||
private boolean mHasFeatureLeanback;
|
private boolean mHasFeatureLeanback;
|
||||||
@@ -1074,8 +1075,10 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
// Lock the device after the dream transition has finished.
|
// If the setting to lock instantly on power button press is true, then set the flag to
|
||||||
mLockAfterAppTransitionFinished = true;
|
// lock after the dream transition has finished.
|
||||||
|
mLockAfterAppTransitionFinished =
|
||||||
|
mLockPatternUtils.getPowerButtonInstantlyLocks(mCurrentUserId);
|
||||||
}
|
}
|
||||||
|
|
||||||
dreamManagerInternal.requestDream();
|
dreamManagerInternal.requestDream();
|
||||||
@@ -1993,6 +1996,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
|||||||
mAccessibilityShortcutController = injector.getAccessibilityShortcutController(
|
mAccessibilityShortcutController = injector.getAccessibilityShortcutController(
|
||||||
mContext, new Handler(), mCurrentUserId);
|
mContext, new Handler(), mCurrentUserId);
|
||||||
mGlobalActionsFactory = injector.getGlobalActionsFactory();
|
mGlobalActionsFactory = injector.getGlobalActionsFactory();
|
||||||
|
mLockPatternUtils = new LockPatternUtils(mContext);
|
||||||
mLogger = new MetricsLogger();
|
mLogger = new MetricsLogger();
|
||||||
|
|
||||||
mScreenOffSleepTokenAcquirer = mActivityTaskManagerInternal
|
mScreenOffSleepTokenAcquirer = mActivityTaskManagerInternal
|
||||||
|
|||||||
Reference in New Issue
Block a user