aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Slack <jaslack@google.com>2014-03-04 14:01:06 -0800
committerJake Slack <jaslack@google.com>2014-03-04 14:01:06 -0800
commitc819dfe3966cb9917c55894b8c0f456fdb696b09 (patch)
tree5771b159d7eaf6f1ea430b40f653adaf52f99cf0
parentd0703096fc915128dc30b6cc882f798fdc9424ae (diff)
downloaddroiddriver-c819dfe3966cb9917c55894b8c0f456fdb696b09.tar.gz
We should make sure listeners are called on every poll.
We often set timeouts of 0ms when scrolling. When we do this, we will not check the listeners because we will timeout if we don't find the target element. We should make sure the listeners are called so that we can still dismiss dialogs. Bug: 13303035 Change-Id: I45d8178b194ba3992c5b5d9aab80542a78bf8b4e
-rw-r--r--src/com/google/android/droiddriver/base/DefaultPoller.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/com/google/android/droiddriver/base/DefaultPoller.java b/src/com/google/android/droiddriver/base/DefaultPoller.java
index 17cb4f0..923e1b6 100644
--- a/src/com/google/android/droiddriver/base/DefaultPoller.java
+++ b/src/com/google/android/droiddriver/base/DefaultPoller.java
@@ -73,6 +73,10 @@ public class DefaultPoller implements Poller {
// fall through to poll
}
+ for (PollingListener pollingListener : pollingListeners) {
+ pollingListener.onPolling(driver, finder);
+ }
+
long remainingMillis = end - SystemClock.uptimeMillis();
if (remainingMillis < 0) {
for (TimeoutListener timeoutListener : timeoutListeners) {
@@ -81,10 +85,6 @@ public class DefaultPoller implements Poller {
throw new TimeoutException(String.format(
"Timed out after %d milliseconds waiting for %s %s", timeoutMillis, finder, checker));
}
-
- for (PollingListener pollingListener : pollingListeners) {
- pollingListener.onPolling(driver, finder);
- }
SystemClock.sleep(Longs.min(intervalMillis, remainingMillis));
}
}