diff options
author | Jake Slack <jaslack@google.com> | 2014-03-04 14:01:06 -0800 |
---|---|---|
committer | Jake Slack <jaslack@google.com> | 2014-03-04 14:01:06 -0800 |
commit | c819dfe3966cb9917c55894b8c0f456fdb696b09 (patch) | |
tree | 5771b159d7eaf6f1ea430b40f653adaf52f99cf0 | |
parent | d0703096fc915128dc30b6cc882f798fdc9424ae (diff) | |
download | droiddriver-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.java | 8 |
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)); } } |