From c91a011bd95b776da769c27e18cfd5b85a818491 Mon Sep 17 00:00:00 2001 From: Kevin Jin Date: Fri, 28 Mar 2014 14:28:45 -0700 Subject: add PollingListeners.tryFindAndClick, which may often be useful Change-Id: I76feb10b5b5d275881495df2a7e7d51324cc9b50 --- .../droiddriver/helpers/PollingListeners.java | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/com/google/android/droiddriver/helpers/PollingListeners.java b/src/com/google/android/droiddriver/helpers/PollingListeners.java index 768ea88..2180264 100644 --- a/src/com/google/android/droiddriver/helpers/PollingListeners.java +++ b/src/com/google/android/droiddriver/helpers/PollingListeners.java @@ -2,20 +2,24 @@ package com.google.android.droiddriver.helpers; import com.google.android.droiddriver.DroidDriver; import com.google.android.droiddriver.Poller.PollingListener; -import com.google.android.droiddriver.UiElement; -import com.google.android.droiddriver.exceptions.ElementNotFoundException; import com.google.android.droiddriver.finders.Finder; /** * Static utility methods to create commonly used PollingListeners. */ public class PollingListeners { - private static UiElement tryFind(DroidDriver driver, Finder finder) { - try { - return driver.find(finder); - } catch (ElementNotFoundException enfe) { - return null; + /** + * Tries to find {@code watchFinder}, and clicks it if found. + * + * @param watchFinder Identifies the UI component to watch + * @return whether {@code watchFinder} is found + */ + public static boolean tryFindAndClick(DroidDriver driver, Finder watchFinder) { + if (driver.has(watchFinder)) { + driver.find(watchFinder).click(); + return true; } + return false; } /** @@ -38,7 +42,7 @@ public class PollingListeners { return new PollingListener() { @Override public void onPolling(DroidDriver driver, Finder finder) { - if (tryFind(driver, watchFinder) != null) { + if (driver.has(watchFinder)) { driver.find(dismissFinder).click(); } } -- cgit v1.2.3