diff options
-rw-r--r-- | common/src/com/android/tv/common/util/Clock.java | 18 | ||||
-rw-r--r-- | tests/common/src/com/android/tv/testing/FakeClock.java | 5 |
2 files changed, 21 insertions, 2 deletions
diff --git a/common/src/com/android/tv/common/util/Clock.java b/common/src/com/android/tv/common/util/Clock.java index a8c4366c..cd6ede86 100644 --- a/common/src/com/android/tv/common/util/Clock.java +++ b/common/src/com/android/tv/common/util/Clock.java @@ -23,8 +23,9 @@ import android.os.SystemClock; */ public interface Clock { /** - * Returns the current time in milliseconds since January 1, 1970 00:00:00.0 UTC. See {@link - * System#currentTimeMillis()}. + * Returns the current time in milliseconds since January 1, 1970 00:00:00.0 UTC. + * + * @see System#currentTimeMillis(). */ long currentTimeMillis(); @@ -36,6 +37,14 @@ public interface Clock { long elapsedRealtime(); /** + * Returns milliseconds since boot, not counting time spent in deep sleep. + * + * @return milliseconds of non-sleep uptime since boot. + * @see SystemClock#uptimeMillis() + */ + long uptimeMillis(); + + /** * Waits a given number of milliseconds (of uptimeMillis) before returning. * * @param ms to sleep before returning, in milliseconds of uptime. @@ -60,5 +69,10 @@ public interface Clock { public void sleep(long ms) { SystemClock.sleep(ms); } + + @Override + public long uptimeMillis() { + return SystemClock.uptimeMillis(); + } }; } diff --git a/tests/common/src/com/android/tv/testing/FakeClock.java b/tests/common/src/com/android/tv/testing/FakeClock.java index 66978a3d..fc4ca6df 100644 --- a/tests/common/src/com/android/tv/testing/FakeClock.java +++ b/tests/common/src/com/android/tv/testing/FakeClock.java @@ -89,6 +89,11 @@ public class FakeClock implements Clock { return mCurrentTimeMillis - mBootTimeMillis; } + @Override + public long uptimeMillis() { + return elapsedRealtime(); + } + /** Sleep does not block it just updates the current time. */ @Override public void sleep(long ms) { |