summaryrefslogtreecommitdiffstats
path: root/tests/src/com/android
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android')
-rw-r--r--tests/src/com/android/providers/downloads/AbstractPublicApiTest.java19
-rw-r--r--tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java2
2 files changed, 12 insertions, 9 deletions
diff --git a/tests/src/com/android/providers/downloads/AbstractPublicApiTest.java b/tests/src/com/android/providers/downloads/AbstractPublicApiTest.java
index 12c04f6a..e7f08c90 100644
--- a/tests/src/com/android/providers/downloads/AbstractPublicApiTest.java
+++ b/tests/src/com/android/providers/downloads/AbstractPublicApiTest.java
@@ -100,21 +100,24 @@ public abstract class AbstractPublicApiTest extends AbstractDownloadProviderFunc
}
void runUntilStatus(int status) throws TimeoutException {
+ final long startMillis = mSystemFacade.currentTimeMillis();
startService(null);
- waitForStatus(status);
+ waitForStatus(status, startMillis);
}
- void waitForStatus(int expected) throws TimeoutException {
+ void waitForStatus(int expected, long afterMillis) throws TimeoutException {
int actual = -1;
final long timeout = SystemClock.elapsedRealtime() + (15 * SECOND_IN_MILLIS);
while (SystemClock.elapsedRealtime() < timeout) {
- actual = getStatus();
- if (actual == STATUS_SUCCESSFUL || actual == STATUS_FAILED) {
- assertEquals(expected, actual);
- return;
- } else if (actual == expected) {
- return;
+ if (getLongField(DownloadManager.COLUMN_LAST_MODIFIED_TIMESTAMP) >= afterMillis) {
+ actual = getStatus();
+ if (actual == STATUS_SUCCESSFUL || actual == STATUS_FAILED) {
+ assertEquals(expected, actual);
+ return;
+ } else if (actual == expected) {
+ return;
+ }
}
SystemClock.sleep(100);
diff --git a/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java b/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java
index 4159beb6..157cce89 100644
--- a/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java
+++ b/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java
@@ -421,7 +421,7 @@ public class PublicApiFunctionalTest extends AbstractPublicApiTest {
mManager.remove(download.mId);
// make sure the row is gone from the database
- download.waitForStatus(-1);
+ download.waitForStatus(-1, -1);
}
public void testDownloadCompleteBroadcast() throws Exception {