diff options
| author | Philip Junker <philipjunker@google.com> | 2021-10-07 18:06:34 +0200 |
|---|---|---|
| committer | Philip Junker <philipjunker@google.com> | 2022-01-26 09:54:45 +0000 |
| commit | f4fa114cb88f49b5e3165280adfb343be0fe9d3d (patch) | |
| tree | 7b79a0fa82be870aa367585a71d974544ae91278 /core/java/android | |
| parent | 7ade3e1ca4f2f50504cfc801b9f760b0bfb0f3ef (diff) | |
Move logic from dreamDisplayGroupNoUpdateLocked into PowerGroup.
Add onWakefulnessChangedCallback which is called whenever the wakefulness of a PowerGroup changes.
Set the wakefulness for a new PowerGroup to WAKEFULNESS_AWAKE instead of the current global wakefulness. This way the newly added PowerGroup will not directly go to sleep if the device happens to be asleep.
Introduce per power group lastWakeTime and lastSleepTime.
Rename setGlobalWakefulnessLocked() to
updateGlobalWakefulnessLocked(), getGlobalWakefulnessLocked() to recalculateGlobalWakefulnessLocked() and getWakefulnessLocked() to getGlobalWakefulnessLocked().
Rename dreamDisplayGroupNoUpdateLocked() to dreamPowerGroupLocked().
Rename sleepDisplayGroupNoUpdateLocked() to dozePowerGroupLocked().
Rename reallySleepDisplayGroupNoUpdateLocked() to sleepPowerGroupLocked().
Rename wakeDisplayGroupNoUpdateLocked() to wakePowerGroupLocked().
Test: atest FrameworksServicesTests:PowerManagerServiceTest
Bug: 200653844
Change-Id: Ic90f3b0c116e8e9db7df730f1500c0e8b99fe677
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/os/PowerManager.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java index d4a338bef02b..e5a863110d83 100644 --- a/core/java/android/os/PowerManager.java +++ b/core/java/android/os/PowerManager.java @@ -44,6 +44,7 @@ import com.android.internal.util.Preconditions; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.time.Duration; +import java.util.Objects; import java.util.concurrent.Executor; import java.util.concurrent.atomic.AtomicLong; @@ -703,6 +704,21 @@ public final class PowerManager { public long wakeTime; public @WakeReason int wakeReason; public long sleepDuration; + + @Override + public boolean equals(@Nullable Object o) { + if (o instanceof WakeData) { + final WakeData other = (WakeData) o; + return wakeTime == other.wakeTime && wakeReason == other.wakeReason + && sleepDuration == other.sleepDuration; + } + return false; + } + + @Override + public int hashCode() { + return Objects.hash(wakeTime, wakeReason, sleepDuration); + } } /** |
