Loading services/core/java/com/android/server/power/DisplayGroupPowerStateMapper.java +9 −0 Original line number Diff line number Diff line Loading @@ -141,6 +141,14 @@ public class DisplayGroupPowerStateMapper { return mDisplayGroupInfos.get(groupId).lastPowerOnTime; } void setPoweringOnLocked(int groupId, boolean poweringOn) { mDisplayGroupInfos.get(groupId).poweringOn = poweringOn; } boolean isPoweringOnLocked(int groupId) { return mDisplayGroupInfos.get(groupId).poweringOn; } /** * Returns the amalgamated wakefulness of all {@link DisplayGroup DisplayGroups}. * Loading Loading @@ -300,6 +308,7 @@ public class DisplayGroupPowerStateMapper { public int wakefulness; public boolean ready; public long lastPowerOnTime; boolean poweringOn; public boolean sandmanSummoned; public long lastUserActivityTime; public long lastUserActivityTimeNoChangeLights; Loading services/core/java/com/android/server/power/PowerManagerService.java +5 −1 Original line number Diff line number Diff line Loading @@ -1831,6 +1831,7 @@ public final class PowerManagerService extends SystemService setWakefulnessLocked(groupId, WAKEFULNESS_AWAKE, eventTime, uid, reason, opUid, opPackageName, details); mDisplayGroupPowerStateMapper.setLastPowerOnTimeLocked(groupId, eventTime); mDisplayGroupPowerStateMapper.setPoweringOnLocked(groupId, true); } finally { Trace.traceEnd(Trace.TRACE_TAG_POWER); } Loading Loading @@ -3201,9 +3202,12 @@ public final class PowerManagerService extends SystemService final boolean displayReadyStateChanged = mDisplayGroupPowerStateMapper.setDisplayGroupReadyLocked(groupId, ready); if (ready && displayReadyStateChanged final boolean poweringOn = mDisplayGroupPowerStateMapper.isPoweringOnLocked(groupId); if (ready && displayReadyStateChanged && poweringOn && mDisplayGroupPowerStateMapper.getWakefulnessLocked( groupId) == WAKEFULNESS_AWAKE) { mDisplayGroupPowerStateMapper.setPoweringOnLocked(groupId, false); Trace.asyncTraceEnd(Trace.TRACE_TAG_POWER, TRACE_SCREEN_ON, groupId); final int latencyMs = (int) (mClock.uptimeMillis() - mDisplayGroupPowerStateMapper.getLastPowerOnTimeLocked(groupId)); Loading Loading
services/core/java/com/android/server/power/DisplayGroupPowerStateMapper.java +9 −0 Original line number Diff line number Diff line Loading @@ -141,6 +141,14 @@ public class DisplayGroupPowerStateMapper { return mDisplayGroupInfos.get(groupId).lastPowerOnTime; } void setPoweringOnLocked(int groupId, boolean poweringOn) { mDisplayGroupInfos.get(groupId).poweringOn = poweringOn; } boolean isPoweringOnLocked(int groupId) { return mDisplayGroupInfos.get(groupId).poweringOn; } /** * Returns the amalgamated wakefulness of all {@link DisplayGroup DisplayGroups}. * Loading Loading @@ -300,6 +308,7 @@ public class DisplayGroupPowerStateMapper { public int wakefulness; public boolean ready; public long lastPowerOnTime; boolean poweringOn; public boolean sandmanSummoned; public long lastUserActivityTime; public long lastUserActivityTimeNoChangeLights; Loading
services/core/java/com/android/server/power/PowerManagerService.java +5 −1 Original line number Diff line number Diff line Loading @@ -1831,6 +1831,7 @@ public final class PowerManagerService extends SystemService setWakefulnessLocked(groupId, WAKEFULNESS_AWAKE, eventTime, uid, reason, opUid, opPackageName, details); mDisplayGroupPowerStateMapper.setLastPowerOnTimeLocked(groupId, eventTime); mDisplayGroupPowerStateMapper.setPoweringOnLocked(groupId, true); } finally { Trace.traceEnd(Trace.TRACE_TAG_POWER); } Loading Loading @@ -3201,9 +3202,12 @@ public final class PowerManagerService extends SystemService final boolean displayReadyStateChanged = mDisplayGroupPowerStateMapper.setDisplayGroupReadyLocked(groupId, ready); if (ready && displayReadyStateChanged final boolean poweringOn = mDisplayGroupPowerStateMapper.isPoweringOnLocked(groupId); if (ready && displayReadyStateChanged && poweringOn && mDisplayGroupPowerStateMapper.getWakefulnessLocked( groupId) == WAKEFULNESS_AWAKE) { mDisplayGroupPowerStateMapper.setPoweringOnLocked(groupId, false); Trace.asyncTraceEnd(Trace.TRACE_TAG_POWER, TRACE_SCREEN_ON, groupId); final int latencyMs = (int) (mClock.uptimeMillis() - mDisplayGroupPowerStateMapper.getLastPowerOnTimeLocked(groupId)); Loading