summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/java/com/android/server/DockObserver.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/services/java/com/android/server/DockObserver.java b/services/java/com/android/server/DockObserver.java
index f089de1135bc..c2b1b965888a 100644
--- a/services/java/com/android/server/DockObserver.java
+++ b/services/java/com/android/server/DockObserver.java
@@ -111,8 +111,17 @@ class DockObserver extends UEventObserver {
try {
int newState = Integer.parseInt(event.get("SWITCH_STATE"));
if (newState != mDockState) {
+ int oldState = mDockState;
mDockState = newState;
if (mSystemReady) {
+ // Don't force screen on when undocking from the desk dock.
+ // The change in power state will do this anyway.
+ // FIXME - we should be configurable.
+ if (oldState != Intent.EXTRA_DOCK_STATE_DESK ||
+ newState != Intent.EXTRA_DOCK_STATE_UNDOCKED) {
+ mPowerManager.userActivityWithForce(SystemClock.uptimeMillis(),
+ false, true);
+ }
update();
}
}
@@ -166,7 +175,6 @@ class DockObserver extends UEventObserver {
return;
}
// Pack up the values and broadcast them to everyone
- mPowerManager.userActivityWithForce(SystemClock.uptimeMillis(), false, true);
Intent intent = new Intent(Intent.ACTION_DOCK_EVENT);
intent.putExtra(Intent.EXTRA_DOCK_STATE, mDockState);