Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4298ace authored by Sean Stout's avatar Sean Stout Committed by Automerger Merge Worker
Browse files

Merge "Fix "Screen on" time reporting" into sc-dev am: 8d3b1656 am: acf4aa00

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14255002

Change-Id: I9f0a39e359e0da7eea9d51c57119ce90026dbd82
parents ca707311 acf4aa00
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -141,6 +141,14 @@ public class DisplayGroupPowerStateMapper {
        return mDisplayGroupInfos.get(groupId).lastPowerOnTime;
        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}.
     * Returns the amalgamated wakefulness of all {@link DisplayGroup DisplayGroups}.
     *
     *
@@ -300,6 +308,7 @@ public class DisplayGroupPowerStateMapper {
        public int wakefulness;
        public int wakefulness;
        public boolean ready;
        public boolean ready;
        public long lastPowerOnTime;
        public long lastPowerOnTime;
        boolean poweringOn;
        public boolean sandmanSummoned;
        public boolean sandmanSummoned;
        public long lastUserActivityTime;
        public long lastUserActivityTime;
        public long lastUserActivityTimeNoChangeLights;
        public long lastUserActivityTimeNoChangeLights;
+5 −1
Original line number Original line Diff line number Diff line
@@ -1831,6 +1831,7 @@ public final class PowerManagerService extends SystemService
            setWakefulnessLocked(groupId, WAKEFULNESS_AWAKE, eventTime, uid, reason, opUid,
            setWakefulnessLocked(groupId, WAKEFULNESS_AWAKE, eventTime, uid, reason, opUid,
                    opPackageName, details);
                    opPackageName, details);
            mDisplayGroupPowerStateMapper.setLastPowerOnTimeLocked(groupId, eventTime);
            mDisplayGroupPowerStateMapper.setLastPowerOnTimeLocked(groupId, eventTime);
            mDisplayGroupPowerStateMapper.setPoweringOnLocked(groupId, true);
        } finally {
        } finally {
            Trace.traceEnd(Trace.TRACE_TAG_POWER);
            Trace.traceEnd(Trace.TRACE_TAG_POWER);
        }
        }
@@ -3201,9 +3202,12 @@ public final class PowerManagerService extends SystemService


                final boolean displayReadyStateChanged =
                final boolean displayReadyStateChanged =
                        mDisplayGroupPowerStateMapper.setDisplayGroupReadyLocked(groupId, ready);
                        mDisplayGroupPowerStateMapper.setDisplayGroupReadyLocked(groupId, ready);
                if (ready && displayReadyStateChanged
                final boolean poweringOn =
                        mDisplayGroupPowerStateMapper.isPoweringOnLocked(groupId);
                if (ready && displayReadyStateChanged && poweringOn
                        && mDisplayGroupPowerStateMapper.getWakefulnessLocked(
                        && mDisplayGroupPowerStateMapper.getWakefulnessLocked(
                        groupId) == WAKEFULNESS_AWAKE) {
                        groupId) == WAKEFULNESS_AWAKE) {
                    mDisplayGroupPowerStateMapper.setPoweringOnLocked(groupId, false);
                    Trace.asyncTraceEnd(Trace.TRACE_TAG_POWER, TRACE_SCREEN_ON, groupId);
                    Trace.asyncTraceEnd(Trace.TRACE_TAG_POWER, TRACE_SCREEN_ON, groupId);
                    final int latencyMs = (int) (mClock.uptimeMillis()
                    final int latencyMs = (int) (mClock.uptimeMillis()
                            - mDisplayGroupPowerStateMapper.getLastPowerOnTimeLocked(groupId));
                            - mDisplayGroupPowerStateMapper.getLastPowerOnTimeLocked(groupId));