From c819dfe3966cb9917c55894b8c0f456fdb696b09 Mon Sep 17 00:00:00 2001 From: Jake Slack Date: Tue, 4 Mar 2014 14:01:06 -0800 Subject: 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 --- src/com/google/android/droiddriver/base/DefaultPoller.java | 8 ++++---- 1 file 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)); } } -- cgit v1.2.3