diff options
Diffstat (limited to 'tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java')
-rw-r--r-- | tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java b/tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java index 92678fe3..7af98c17 100644 --- a/tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java +++ b/tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java @@ -148,10 +148,24 @@ public abstract class AbstractDownloadManagerFunctionalTest extends @Override protected void tearDown() throws Exception { + waitForUpdateThread(); cleanUpDownloads(); super.tearDown(); } + private void waitForUpdateThread() throws InterruptedException { + DownloadService service = getService(); + if (service == null) { + return; + } + + long startTimeMillis = System.currentTimeMillis(); + while (service.mUpdateThread != null + && System.currentTimeMillis() < startTimeMillis + 1000) { + Thread.sleep(50); + } + } + private boolean isDatabaseEmpty() { Cursor cursor = mResolver.query(Downloads.CONTENT_URI, null, null, null, null); try { |