Allow press and hold from non-interactive.
Bug: 19520133 Change-Id: I3ad50f72499667e9b711057f381144a6c3ae6138
This commit is contained in:
@@ -530,6 +530,8 @@
|
||||
<bool name="config_allowTheaterModeWakeFromWindowLayout">false</bool>
|
||||
<!-- If this is true, go to sleep when theater mode is enabled from button press -->
|
||||
<bool name="config_goToSleepOnButtonPressTheaterMode">true</bool>
|
||||
<!-- If this is true, long press on power button will be available from the non-interactive state -->
|
||||
<bool name="config_supportLongPressPowerWhenNonInteractive">false</bool>
|
||||
|
||||
<!-- Auto-rotation behavior -->
|
||||
|
||||
|
||||
@@ -1615,6 +1615,7 @@
|
||||
<java-symbol type="bool" name="config_allowTheaterModeWakeFromDock" />
|
||||
<java-symbol type="bool" name="config_allowTheaterModeWakeFromWindowLayout" />
|
||||
<java-symbol type="bool" name="config_goToSleepOnButtonPressTheaterMode" />
|
||||
<java-symbol type="bool" name="config_supportLongPressPowerWhenNonInteractive" />
|
||||
<java-symbol type="bool" name="config_wifi_background_scan_support" />
|
||||
<java-symbol type="bool" name="config_wifi_dual_band_support" />
|
||||
<java-symbol type="bool" name="config_wimaxEnabled" />
|
||||
|
||||
@@ -536,6 +536,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
private boolean mAllowTheaterModeWakeFromLidSwitch;
|
||||
private boolean mAllowTheaterModeWakeFromWakeGesture;
|
||||
|
||||
// Whether to support long press from power button in non-interactive mode
|
||||
private boolean mSupportLongPressPowerWhenNonInteractive;
|
||||
|
||||
// Whether to go to sleep entering theater mode from power button
|
||||
private boolean mGoToSleepOnButtonPressTheaterMode;
|
||||
|
||||
@@ -887,12 +890,21 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
}
|
||||
} else {
|
||||
wakeUpFromPowerKey(event.getDownTime());
|
||||
final int maxCount = getMaxMultiPressPowerCount();
|
||||
|
||||
if (maxCount <= 1) {
|
||||
mPowerKeyHandled = true;
|
||||
} else {
|
||||
if (mSupportLongPressPowerWhenNonInteractive && hasLongPressOnPowerBehavior()) {
|
||||
Message msg = mHandler.obtainMessage(MSG_POWER_LONG_PRESS);
|
||||
msg.setAsynchronous(true);
|
||||
mHandler.sendMessageDelayed(msg,
|
||||
ViewConfiguration.get(mContext).getDeviceGlobalActionKeyTimeout());
|
||||
mBeganFromNonInteractive = true;
|
||||
} else {
|
||||
final int maxCount = getMaxMultiPressPowerCount();
|
||||
|
||||
if (maxCount <= 1) {
|
||||
mPowerKeyHandled = true;
|
||||
} else {
|
||||
mBeganFromNonInteractive = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1262,6 +1274,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
mGoToSleepOnButtonPressTheaterMode = mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_goToSleepOnButtonPressTheaterMode);
|
||||
|
||||
mSupportLongPressPowerWhenNonInteractive = mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_supportLongPressPowerWhenNonInteractive);
|
||||
|
||||
mShortPressOnPowerBehavior = mContext.getResources().getInteger(
|
||||
com.android.internal.R.integer.config_shortPressOnPowerBehavior);
|
||||
mLongPressOnPowerBehavior = mContext.getResources().getInteger(
|
||||
|
||||
Reference in New Issue
Block a user