Merge "Add support for locking the screen when the lid is closed" am: 9dc3c36c9c
am: 4d9e6190b1
* commit '4d9e6190b186f1d2e1cd25defd0d6e12dd833b38':
Add support for locking the screen when the lid is closed
This commit is contained in:
@@ -429,6 +429,11 @@ public interface WindowManagerPolicy {
|
||||
*/
|
||||
public int getLidState();
|
||||
|
||||
/**
|
||||
* Lock the device now.
|
||||
*/
|
||||
public void lockDeviceNow();
|
||||
|
||||
/**
|
||||
* Returns a code that descripbes whether the camera lens is covered or not.
|
||||
*/
|
||||
|
||||
@@ -673,6 +673,10 @@
|
||||
closed. The default is 0. -->
|
||||
<integer name="config_lidNavigationAccessibility">0</integer>
|
||||
|
||||
<!-- Indicate whether closing the lid causes the lockscreen to appear.
|
||||
The default is false. -->
|
||||
<bool name="config_lidControlsScreenLock">false</bool>
|
||||
|
||||
<!-- Indicate whether closing the lid causes the device to go to sleep and opening
|
||||
it causes the device to wake up.
|
||||
The default is false. -->
|
||||
|
||||
@@ -1475,6 +1475,7 @@
|
||||
<java-symbol type="bool" name="config_enableLockScreenRotation" />
|
||||
<java-symbol type="bool" name="config_enableLockScreenTranslucentDecor" />
|
||||
<java-symbol type="bool" name="config_enableTranslucentDecor" />
|
||||
<java-symbol type="bool" name="config_lidControlsScreenLock" />
|
||||
<java-symbol type="bool" name="config_lidControlsSleep" />
|
||||
<java-symbol type="bool" name="config_reverseDefaultRotation" />
|
||||
<java-symbol type="bool" name="config_showNavigationBar" />
|
||||
|
||||
@@ -392,6 +392,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
boolean mDeskDockEnablesAccelerometer;
|
||||
int mLidKeyboardAccessibility;
|
||||
int mLidNavigationAccessibility;
|
||||
boolean mLidControlsScreenLock;
|
||||
boolean mLidControlsSleep;
|
||||
int mShortPressOnPowerBehavior;
|
||||
int mLongPressOnPowerBehavior;
|
||||
@@ -1421,6 +1422,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
com.android.internal.R.integer.config_lidKeyboardAccessibility);
|
||||
mLidNavigationAccessibility = mContext.getResources().getInteger(
|
||||
com.android.internal.R.integer.config_lidNavigationAccessibility);
|
||||
mLidControlsScreenLock = mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_lidControlsScreenLock);
|
||||
mLidControlsSleep = mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_lidControlsSleep);
|
||||
mTranslucentDecorEnabled = mContext.getResources().getBoolean(
|
||||
@@ -6307,6 +6310,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
mPowerManager.goToSleep(SystemClock.uptimeMillis(),
|
||||
PowerManager.GO_TO_SLEEP_REASON_LID_SWITCH,
|
||||
PowerManager.GO_TO_SLEEP_FLAG_NO_DOZE);
|
||||
} else if (mLidState == LID_CLOSED && mLidControlsScreenLock) {
|
||||
mWindowManagerFuncs.lockDeviceNow();
|
||||
}
|
||||
|
||||
synchronized (mLock) {
|
||||
@@ -6885,6 +6890,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
pw.print(prefix); pw.print("mLidKeyboardAccessibility=");
|
||||
pw.print(mLidKeyboardAccessibility);
|
||||
pw.print(" mLidNavigationAccessibility="); pw.print(mLidNavigationAccessibility);
|
||||
pw.print(" mLidControlsScreenLock="); pw.println(mLidControlsScreenLock);
|
||||
pw.print(" mLidControlsSleep="); pw.println(mLidControlsSleep);
|
||||
pw.print(prefix);
|
||||
pw.print("mShortPressOnPowerBehavior="); pw.print(mShortPressOnPowerBehavior);
|
||||
|
||||
@@ -5632,6 +5632,12 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
}
|
||||
}
|
||||
|
||||
// Called by window manager policy. Not exposed externally.
|
||||
@Override
|
||||
public void lockDeviceNow() {
|
||||
lockNow(null);
|
||||
}
|
||||
|
||||
// Called by window manager policy. Not exposed externally.
|
||||
@Override
|
||||
public int getCameraLensCoverState() {
|
||||
|
||||
Reference in New Issue
Block a user