diff options
Diffstat (limited to 'tests/src/com/android/providers/downloads/FakeSystemFacade.java')
-rw-r--r-- | tests/src/com/android/providers/downloads/FakeSystemFacade.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/tests/src/com/android/providers/downloads/FakeSystemFacade.java b/tests/src/com/android/providers/downloads/FakeSystemFacade.java index 5263015c..9620ffc3 100644 --- a/tests/src/com/android/providers/downloads/FakeSystemFacade.java +++ b/tests/src/com/android/providers/downloads/FakeSystemFacade.java @@ -23,12 +23,16 @@ public class FakeSystemFacade implements SystemFacade { Map<Long,Notification> mActiveNotifications = new HashMap<Long,Notification>(); List<Notification> mCanceledNotifications = new ArrayList<Notification>(); Queue<Thread> mStartedThreads = new LinkedList<Thread>(); + private boolean returnActualTime = false; void incrementTimeMillis(long delta) { mTimeMillis += delta; } public long currentTimeMillis() { + if (returnActualTime) { + return System.currentTimeMillis(); + } return mTimeMillis; } @@ -81,9 +85,18 @@ public class FakeSystemFacade implements SystemFacade { } } + public boolean startThreadsWithoutWaiting = false; + public void setStartThreadsWithoutWaiting(boolean flag) { + this.startThreadsWithoutWaiting = flag; + } + @Override public void startThread(Thread thread) { - mStartedThreads.add(thread); + if (startThreadsWithoutWaiting) { + thread.start(); + } else { + mStartedThreads.add(thread); + } } public void runAllThreads() { @@ -91,4 +104,8 @@ public class FakeSystemFacade implements SystemFacade { mStartedThreads.poll().run(); } } + + public void setReturnActualTime(boolean flag) { + returnActualTime = flag; + } } |