diff options
author | Allen Hair <allenhair@google.com> | 2015-04-21 22:00:24 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-04-21 22:00:25 +0000 |
commit | a9f9daab85722bceebf69c48b2dd1ced29ec1e61 (patch) | |
tree | 25039a412df79d39fd98a4481b6fa731f2edfaf8 | |
parent | 455ff006e5c465a0cd1e78d34ba8f09c3867f4ab (diff) | |
parent | beb0ed1f2e84c5d8e705b4410685eb2855122eee (diff) | |
download | uiautomator-a9f9daab85722bceebf69c48b2dd1ced29ec1e61.tar.gz |
Merge "Fix Until.scrollFinished(..)"
-rw-r--r-- | src/main/java/android/support/test/uiautomator/UiDevice.java | 3 | ||||
-rw-r--r-- | src/main/java/android/support/test/uiautomator/Until.java | 10 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/main/java/android/support/test/uiautomator/UiDevice.java b/src/main/java/android/support/test/uiautomator/UiDevice.java index c51ad8b..6fbf759 100644 --- a/src/main/java/android/support/test/uiautomator/UiDevice.java +++ b/src/main/java/android/support/test/uiautomator/UiDevice.java @@ -217,7 +217,8 @@ public class UiDevice implements Searchable { @Override public boolean accept(AccessibilityEvent event) { - return mCondition.apply(event); + // Guard against nulls + return Boolean.TRUE.equals(mCondition.apply(event)); } } diff --git a/src/main/java/android/support/test/uiautomator/Until.java b/src/main/java/android/support/test/uiautomator/Until.java index 332a747..86736c7 100644 --- a/src/main/java/android/support/test/uiautomator/Until.java +++ b/src/main/java/android/support/test/uiautomator/Until.java @@ -358,7 +358,7 @@ public class Until { public static EventCondition<Boolean> scrollFinished(final Direction direction) { return new EventCondition<Boolean>() { private Direction mDirection = direction; - private Boolean mResult = false; + private Boolean mResult = null; @Override Boolean apply(AccessibilityEvent event) { @@ -399,12 +399,16 @@ public class Until { throw new IllegalArgumentException("Invalid Direction"); } } - return mResult; + + // Keep listening for events until the result is set to true (we reached the end) + return Boolean.TRUE.equals(mResult); } @Override Boolean getResult() { - return mResult; + // If we didn't recieve any scroll events (mResult == null), assume we're already at + // the end and return true. + return mResult == null || mResult; } }; } |