summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllen Hair <allenhair@google.com>2015-04-21 22:00:24 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-04-21 22:00:25 +0000
commita9f9daab85722bceebf69c48b2dd1ced29ec1e61 (patch)
tree25039a412df79d39fd98a4481b6fa731f2edfaf8
parent455ff006e5c465a0cd1e78d34ba8f09c3867f4ab (diff)
parentbeb0ed1f2e84c5d8e705b4410685eb2855122eee (diff)
downloaduiautomator-a9f9daab85722bceebf69c48b2dd1ced29ec1e61.tar.gz
Merge "Fix Until.scrollFinished(..)"
-rw-r--r--src/main/java/android/support/test/uiautomator/UiDevice.java3
-rw-r--r--src/main/java/android/support/test/uiautomator/Until.java10
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;
}
};
}