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

Commit 07d2bfc5 authored by WyattRiley's avatar WyattRiley
Browse files

Improving location manager log of last use time

Bug: 121241880
Test: adb shell dumpsys location on Pixel 2
Change-Id: I00b2105f1b864850c8bcf80c1717d88a8f4de7ec
parent 2527fa3a
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -123,6 +123,9 @@ public class LocationRequestStatistics {
        // in foreground.
        private long mForegroundDurationMs;

        // Time when package last went dormant (stopped requesting location)
        private long mLastStopElapsedTimeMs;

        private PackageStatistics() {
            mInitialElapsedTimeMs = SystemClock.elapsedRealtime();
            mNumActiveRequests = 0;
@@ -131,6 +134,7 @@ public class LocationRequestStatistics {
            mSlowestIntervalMs = 0;
            mForegroundDurationMs = 0;
            mLastForegroundElapsedTimeMs = 0;
            mLastStopElapsedTimeMs = 0;
        }

        private void startRequesting(long intervalMs) {
@@ -167,8 +171,8 @@ public class LocationRequestStatistics {

            mNumActiveRequests--;
            if (mNumActiveRequests == 0) {
                long lastDurationMs
                        = SystemClock.elapsedRealtime() - mLastActivitationElapsedTimeMs;
                mLastStopElapsedTimeMs = SystemClock.elapsedRealtime();
                long lastDurationMs = mLastStopElapsedTimeMs - mLastActivitationElapsedTimeMs;
                mTotalDurationMs += lastDurationMs;
                updateForeground(false);
            }
@@ -205,6 +209,13 @@ public class LocationRequestStatistics {
            return SystemClock.elapsedRealtime() - mInitialElapsedTimeMs;
        }

        /**
         * Returns the time since the last request stopped in ms.
         */
        public long getTimeSinceLastRequestStoppedMs() {
            return SystemClock.elapsedRealtime() - mLastStopElapsedTimeMs;
        }

        /**
         * Returns the fastest interval that has been tracked.
         */
@@ -244,6 +255,10 @@ public class LocationRequestStatistics {
                    .append(" minutes");
            if (isActive()) {
                s.append(": Currently active");
            } else {
                s.append(": Last active ")
                        .append((getTimeSinceLastRequestStoppedMs() / 1000) / 60)
                        .append(" minutes ago");
            }
            return s.toString();
        }