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

Commit 1ddf97e5 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Use elapsed-time in AppTimeLimitController." into sc-dev

parents 254953ec 911ef521
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -91,7 +91,7 @@ public class AppTimeLimitControllerTests {

    private HandlerThread mThread;

    private long mUptimeMillis;
    private long mElapsedTime;

    AppTimeLimitController.TimeLimitCallbackListener mListener =
            new AppTimeLimitController.TimeLimitCallbackListener() {
@@ -116,8 +116,8 @@ public class AppTimeLimitControllerTests {
        }

        @Override
        protected long getUptimeMillis() {
            return mUptimeMillis;
        protected long getElapsedRealtime() {
            return mElapsedTime;
        }

        @Override
@@ -1108,6 +1108,6 @@ public class AppTimeLimitControllerTests {
    }

    private void setTime(long time) {
        mUptimeMillis = time;
        mElapsedTime = time;
    }
}
+9 −10
Original line number Diff line number Diff line
@@ -536,14 +536,13 @@ public class AppTimeLimitController {
        long getUsageRemaining() {
            // If there is currently an active session, account for its usage
            if (mActives > 0) {
                return mTimeLimitMs - mUsageTimeMs - (getUptimeMillis() - mLastKnownUsageTimeMs);
                return mTimeLimitMs - mUsageTimeMs - (getElapsedRealtime() - mLastKnownUsageTimeMs);
            } else {
                return mTimeLimitMs - mUsageTimeMs;
            }
        }
    }


    private class MyHandler extends Handler {
        static final int MSG_CHECK_TIMEOUT = 1;
        static final int MSG_INFORM_LIMIT_REACHED_LISTENER = 2;
@@ -558,7 +557,7 @@ public class AppTimeLimitController {
            switch (msg.what) {
                case MSG_CHECK_TIMEOUT:
                    synchronized (mLock) {
                        ((UsageGroup) msg.obj).checkTimeout(getUptimeMillis());
                        ((UsageGroup) msg.obj).checkTimeout(getElapsedRealtime());
                    }
                    break;
                case MSG_INFORM_LIMIT_REACHED_LISTENER:
@@ -585,8 +584,8 @@ public class AppTimeLimitController {

    /** Overrideable by a test */
    @VisibleForTesting
    protected long getUptimeMillis() {
        return SystemClock.uptimeMillis();
    protected long getElapsedRealtime() {
        return SystemClock.elapsedRealtime();
    }

    /** Overrideable for testing purposes */
@@ -760,7 +759,7 @@ public class AppTimeLimitController {
            }

            user.addUsageGroup(group);
            noteActiveLocked(user, group, getUptimeMillis());
            noteActiveLocked(user, group, getElapsedRealtime());
        }
    }

@@ -813,7 +812,7 @@ public class AppTimeLimitController {
            observerApp.sessionUsageGroups.append(observerId, group);

            user.addUsageGroup(group);
            noteActiveLocked(user, group, getUptimeMillis());
            noteActiveLocked(user, group, getElapsedRealtime());
        }
    }

@@ -869,7 +868,7 @@ public class AppTimeLimitController {
            }

            user.addUsageGroup(group);
            noteActiveLocked(user, group, getUptimeMillis());
            noteActiveLocked(user, group, getElapsedRealtime());
        }
    }

@@ -914,7 +913,7 @@ public class AppTimeLimitController {
                    return;
                }
            }
            final long currentTime = getUptimeMillis();
            final long currentTime = getElapsedRealtime();

            user.currentlyActive.put(name, ONE);

@@ -964,7 +963,7 @@ public class AppTimeLimitController {
            }

            user.currentlyActive.removeAt(index);
            final long currentTime = getUptimeMillis();
            final long currentTime = getElapsedRealtime();

            // Check if any of the groups need to watch for this entity
            ArrayList<UsageGroup> groups = user.observedMap.get(name);