summaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java')
-rw-r--r--tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java14
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 {