Merge "Provide a way to keep dreaming when undocking." into tm-qpr-dev am: e9adc31767
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19607670 Change-Id: I52efcbdda2517ef6d601741e51b1b55558e986d9 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -550,6 +550,9 @@
|
|||||||
<!-- If this is true, long press on power button will be available from the non-interactive state -->
|
<!-- If this is true, long press on power button will be available from the non-interactive state -->
|
||||||
<bool name="config_supportLongPressPowerWhenNonInteractive">false</bool>
|
<bool name="config_supportLongPressPowerWhenNonInteractive">false</bool>
|
||||||
|
|
||||||
|
<!-- If this is true, then keep dreaming when undocking. -->
|
||||||
|
<bool name="config_keepDreamingWhenUndocking">false</bool>
|
||||||
|
|
||||||
<!-- Auto-rotation behavior -->
|
<!-- Auto-rotation behavior -->
|
||||||
|
|
||||||
<!-- If true, enables auto-rotation features using the accelerometer.
|
<!-- If true, enables auto-rotation features using the accelerometer.
|
||||||
|
|||||||
@@ -1967,6 +1967,7 @@
|
|||||||
<java-symbol type="bool" name="config_allowTheaterModeWakeFromLidSwitch" />
|
<java-symbol type="bool" name="config_allowTheaterModeWakeFromLidSwitch" />
|
||||||
<java-symbol type="bool" name="config_allowTheaterModeWakeFromDock" />
|
<java-symbol type="bool" name="config_allowTheaterModeWakeFromDock" />
|
||||||
<java-symbol type="bool" name="config_allowTheaterModeWakeFromWindowLayout" />
|
<java-symbol type="bool" name="config_allowTheaterModeWakeFromWindowLayout" />
|
||||||
|
<java-symbol type="bool" name="config_keepDreamingWhenUndocking" />
|
||||||
<java-symbol type="bool" name="config_goToSleepOnButtonPressTheaterMode" />
|
<java-symbol type="bool" name="config_goToSleepOnButtonPressTheaterMode" />
|
||||||
<java-symbol type="bool" name="config_supportLongPressPowerWhenNonInteractive" />
|
<java-symbol type="bool" name="config_supportLongPressPowerWhenNonInteractive" />
|
||||||
<java-symbol type="bool" name="config_wimaxEnabled" />
|
<java-symbol type="bool" name="config_wimaxEnabled" />
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ final class DockObserver extends SystemService {
|
|||||||
|
|
||||||
private boolean mUpdatesStopped;
|
private boolean mUpdatesStopped;
|
||||||
|
|
||||||
|
private final boolean mKeepDreamingWhenUndocking;
|
||||||
private final boolean mAllowTheaterModeWakeFromDock;
|
private final boolean mAllowTheaterModeWakeFromDock;
|
||||||
|
|
||||||
private final List<ExtconStateConfig> mExtconStateConfigs;
|
private final List<ExtconStateConfig> mExtconStateConfigs;
|
||||||
@@ -164,6 +165,8 @@ final class DockObserver extends SystemService {
|
|||||||
mWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
|
mWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
|
||||||
mAllowTheaterModeWakeFromDock = context.getResources().getBoolean(
|
mAllowTheaterModeWakeFromDock = context.getResources().getBoolean(
|
||||||
com.android.internal.R.bool.config_allowTheaterModeWakeFromDock);
|
com.android.internal.R.bool.config_allowTheaterModeWakeFromDock);
|
||||||
|
mKeepDreamingWhenUndocking = context.getResources().getBoolean(
|
||||||
|
com.android.internal.R.bool.config_keepDreamingWhenUndocking);
|
||||||
|
|
||||||
mExtconStateConfigs = loadExtconStateConfigs(context);
|
mExtconStateConfigs = loadExtconStateConfigs(context);
|
||||||
|
|
||||||
@@ -216,10 +219,8 @@ final class DockObserver extends SystemService {
|
|||||||
if (newState != mReportedDockState) {
|
if (newState != mReportedDockState) {
|
||||||
mReportedDockState = newState;
|
mReportedDockState = newState;
|
||||||
if (mSystemReady) {
|
if (mSystemReady) {
|
||||||
// Wake up immediately when docked or undocked except in theater mode.
|
// Wake up immediately when docked or undocked unless prohibited from doing so.
|
||||||
if (mAllowTheaterModeWakeFromDock
|
if (allowWakeFromDock()) {
|
||||||
|| Settings.Global.getInt(getContext().getContentResolver(),
|
|
||||||
Settings.Global.THEATER_MODE_ON, 0) == 0) {
|
|
||||||
mPowerManager.wakeUp(SystemClock.uptimeMillis(),
|
mPowerManager.wakeUp(SystemClock.uptimeMillis(),
|
||||||
"android.server:DOCK");
|
"android.server:DOCK");
|
||||||
}
|
}
|
||||||
@@ -228,6 +229,15 @@ final class DockObserver extends SystemService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean allowWakeFromDock() {
|
||||||
|
if (mKeepDreamingWhenUndocking) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return (mAllowTheaterModeWakeFromDock
|
||||||
|
|| Settings.Global.getInt(getContext().getContentResolver(),
|
||||||
|
Settings.Global.THEATER_MODE_ON, 0) == 0);
|
||||||
|
}
|
||||||
|
|
||||||
private void updateLocked() {
|
private void updateLocked() {
|
||||||
mWakeLock.acquire();
|
mWakeLock.acquire();
|
||||||
mHandler.sendEmptyMessage(MSG_DOCK_STATE_CHANGED);
|
mHandler.sendEmptyMessage(MSG_DOCK_STATE_CHANGED);
|
||||||
|
|||||||
@@ -1487,7 +1487,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
|
|||||||
a.colorMode = ActivityInfo.COLOR_MODE_DEFAULT;
|
a.colorMode = ActivityInfo.COLOR_MODE_DEFAULT;
|
||||||
a.flags |= ActivityInfo.FLAG_EXCLUDE_FROM_RECENTS;
|
a.flags |= ActivityInfo.FLAG_EXCLUDE_FROM_RECENTS;
|
||||||
a.resizeMode = RESIZE_MODE_UNRESIZEABLE;
|
a.resizeMode = RESIZE_MODE_UNRESIZEABLE;
|
||||||
a.configChanges = ActivityInfo.CONFIG_ORIENTATION;
|
a.configChanges = 0xffffffff;
|
||||||
|
|
||||||
final ActivityOptions options = ActivityOptions.makeBasic();
|
final ActivityOptions options = ActivityOptions.makeBasic();
|
||||||
options.setLaunchActivityType(ACTIVITY_TYPE_DREAM);
|
options.setLaunchActivityType(ACTIVITY_TYPE_DREAM);
|
||||||
|
|||||||
Reference in New Issue
Block a user