diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 2561fae57c67e..e4641ce5b4bd1 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -467,6 +467,8 @@ false false + + false false diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 24c24f87935a8..e1584cd4c6b6b 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -1576,6 +1576,7 @@ + diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index f29d5a64c4fa6..24de9a85ea82d 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -525,6 +525,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { private boolean mAllowTheaterModeWakeFromKey; private boolean mAllowTheaterModeWakeFromPowerKey; private boolean mAllowTheaterModeWakeFromMotion; + private boolean mAllowTheaterModeWakeFromMotionWhenNotDreaming; private boolean mAllowTheaterModeWakeFromCameraLens; private boolean mAllowTheaterModeWakeFromLidSwitch; private boolean mAllowTheaterModeWakeFromWakeGesture; @@ -1235,6 +1236,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { com.android.internal.R.bool.config_allowTheaterModeWakeFromPowerKey); mAllowTheaterModeWakeFromMotion = mContext.getResources().getBoolean( com.android.internal.R.bool.config_allowTheaterModeWakeFromMotion); + mAllowTheaterModeWakeFromMotionWhenNotDreaming = mContext.getResources().getBoolean( + com.android.internal.R.bool.config_allowTheaterModeWakeFromMotionWhenNotDreaming); mAllowTheaterModeWakeFromCameraLens = mContext.getResources().getBoolean( com.android.internal.R.bool.config_allowTheaterModeWakeFromCameraLens); mAllowTheaterModeWakeFromLidSwitch = mContext.getResources().getBoolean( @@ -4782,6 +4785,13 @@ public class PhoneWindowManager implements WindowManagerPolicy { return ACTION_PASS_TO_USER; } + // If we have not passed the action up and we are in theater mode without dreaming, + // there will be no dream to intercept the touch and wake into ambient. The device should + // wake up in this case. + if (isTheaterModeEnabled() && (policyFlags & FLAG_WAKE) != 0) { + wakeUp(whenNanos / 1000000, mAllowTheaterModeWakeFromMotionWhenNotDreaming); + } + return 0; }