diff options
| author | 2022-05-13 04:05:06 +0000 | |
|---|---|---|
| committer | 2022-05-13 04:05:06 +0000 | |
| commit | e2f44dc7f285d81b445a55e4f023a9ad8b31c93d (patch) | |
| tree | 79e617fc8eaf73ad1a18742347b8cfff65371230 | |
| parent | a82c616519bc567100da36dee5f9a2e2d5d7221d (diff) | |
| parent | 3dd436a5383b2986240cb41cebf2956b2a1ca120 (diff) | |
Merge "Do not wake the device if an activity starts while dozing." into tm-dev
| -rw-r--r-- | services/core/java/com/android/server/dreams/DreamManagerService.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/dreams/DreamManagerService.java b/services/core/java/com/android/server/dreams/DreamManagerService.java index 4e1d899b26a6..63c5456c972b 100644 --- a/services/core/java/com/android/server/dreams/DreamManagerService.java +++ b/services/core/java/com/android/server/dreams/DreamManagerService.java @@ -124,8 +124,10 @@ public final class DreamManagerService extends SystemService { final boolean activityAllowed = activityType == ACTIVITY_TYPE_HOME || activityType == ACTIVITY_TYPE_DREAM || activityType == ACTIVITY_TYPE_ASSISTANT; - if (mCurrentDreamToken != null && !mCurrentDreamIsWaking && !activityAllowed) { - stopDreamInternal(false, "activity starting: " + activityInfo.name); + if (mCurrentDreamToken != null && !mCurrentDreamIsWaking + && !mCurrentDreamIsDozing && !activityAllowed) { + requestAwakenInternal( + "stopping dream due to activity start: " + activityInfo.name); } } }; @@ -229,13 +231,13 @@ public final class DreamManagerService extends SystemService { mPowerManager.nap(time); } - private void requestAwakenInternal() { + private void requestAwakenInternal(String reason) { // Treat an explicit request to awaken as user activity so that the // device doesn't immediately go to sleep if the timeout expired, // for example when being undocked. long time = SystemClock.uptimeMillis(); mPowerManager.userActivity(time, false /*noChangeLights*/); - stopDreamInternal(false /*immediate*/, "request awaken"); + stopDreamInternal(false /*immediate*/, reason); } private void finishSelfInternal(IBinder token, boolean immediate) { @@ -715,7 +717,7 @@ public final class DreamManagerService extends SystemService { final long ident = Binder.clearCallingIdentity(); try { - requestAwakenInternal(); + requestAwakenInternal("request awaken"); } finally { Binder.restoreCallingIdentity(ident); } |