summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2022-05-13 04:05:06 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-05-13 04:05:06 +0000
commite2f44dc7f285d81b445a55e4f023a9ad8b31c93d (patch)
tree79e617fc8eaf73ad1a18742347b8cfff65371230
parenta82c616519bc567100da36dee5f9a2e2d5d7221d (diff)
parent3dd436a5383b2986240cb41cebf2956b2a1ca120 (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.java12
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);
}