Updating the UiAutomator due to framework API change.
Related to change:https://googleplex-android-review.googlesource.com/#/c/273118/
bug:8183223
Change-Id: I04b143daa8588059a56f9904ad69875de687429d
diff --git a/uiautomator/library/core-src/com/android/uiautomator/core/InteractionController.java b/uiautomator/library/core-src/com/android/uiautomator/core/InteractionController.java
index a00f2ea..e12b4fd 100644
--- a/uiautomator/library/core-src/com/android/uiautomator/core/InteractionController.java
+++ b/uiautomator/library/core-src/com/android/uiautomator/core/InteractionController.java
@@ -17,6 +17,7 @@
package com.android.uiautomator.core;
import android.app.UiAutomation;
+import android.app.UiAutomation.AccessibilityEventFilter;
import android.graphics.Point;
import android.os.RemoteException;
import android.os.SystemClock;
@@ -75,13 +76,13 @@
/**
* Predicate for waiting for any of the events specified in the mask
*/
- class WaitForAnyEventPredicate implements Predicate<AccessibilityEvent> {
+ class WaitForAnyEventPredicate implements AccessibilityEventFilter {
int mMask;
WaitForAnyEventPredicate(int mask) {
mMask = mask;
}
@Override
- public boolean apply(AccessibilityEvent t) {
+ public boolean accept(AccessibilityEvent t) {
// check current event in the list
if ((t.getEventType() & mMask) != 0) {
return true;
@@ -97,7 +98,7 @@
* a ctor passed list with matching events. User of this Predicate must recycle
* all populated events in the events list.
*/
- class EventCollectingPredicate implements Predicate<AccessibilityEvent> {
+ class EventCollectingPredicate implements AccessibilityEventFilter {
int mMask;
List<AccessibilityEvent> mEventsList;
@@ -107,7 +108,7 @@
}
@Override
- public boolean apply(AccessibilityEvent t) {
+ public boolean accept(AccessibilityEvent t) {
// check current event in the list
if ((t.getEventType() & mMask) != 0) {
// For the events you need, always store a copy when returning false from
@@ -123,14 +124,14 @@
/**
* Predicate for waiting for every event specified in the mask to be matched at least once
*/
- class WaitForAllEventPredicate implements Predicate<AccessibilityEvent> {
+ class WaitForAllEventPredicate implements AccessibilityEventFilter {
int mMask;
WaitForAllEventPredicate(int mask) {
mMask = mask;
}
@Override
- public boolean apply(AccessibilityEvent t) {
+ public boolean accept(AccessibilityEvent t) {
// check current event in the list
if ((t.getEventType() & mMask) != 0) {
// remove from mask since this condition is satisfied
@@ -159,7 +160,7 @@
* @return
*/
private AccessibilityEvent runAndWaitForEvents(Runnable command,
- Predicate<AccessibilityEvent> filter, long timeout) {
+ AccessibilityEventFilter filter, long timeout) {
try {
return mUiAutomatorBridge.executeCommandAndWaitForAccessibilityEvent(command, filter,
diff --git a/uiautomator/library/core-src/com/android/uiautomator/core/UiAutomatorBridge.java b/uiautomator/library/core-src/com/android/uiautomator/core/UiAutomatorBridge.java
index 3b519ed..04bbb34 100644
--- a/uiautomator/library/core-src/com/android/uiautomator/core/UiAutomatorBridge.java
+++ b/uiautomator/library/core-src/com/android/uiautomator/core/UiAutomatorBridge.java
@@ -1,6 +1,7 @@
package com.android.uiautomator.core;
import android.app.UiAutomation;
+import android.app.UiAutomation.AccessibilityEventFilter;
import android.app.UiAutomation.OnAccessibilityEventListener;
import android.graphics.Bitmap;
import android.util.Log;
@@ -9,8 +10,6 @@
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
-import com.android.internal.util.Predicate;
-
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
@@ -91,7 +90,7 @@
}
public AccessibilityEvent executeCommandAndWaitForAccessibilityEvent(Runnable command,
- Predicate<AccessibilityEvent> filter, long timeoutMillis) throws TimeoutException {
+ AccessibilityEventFilter filter, long timeoutMillis) throws TimeoutException {
return mUiAutomation.executeAndWaitForEvent(command,
filter, timeoutMillis);
}
diff --git a/uiautomator/library/core-src/com/android/uiautomator/core/UiDevice.java b/uiautomator/library/core-src/com/android/uiautomator/core/UiDevice.java
index 4d8016e..afba49e 100644
--- a/uiautomator/library/core-src/com/android/uiautomator/core/UiDevice.java
+++ b/uiautomator/library/core-src/com/android/uiautomator/core/UiDevice.java
@@ -17,6 +17,7 @@
package com.android.uiautomator.core;
import android.app.UiAutomation;
+import android.app.UiAutomation.AccessibilityEventFilter;
import android.content.Context;
import android.graphics.Point;
import android.os.Build;
@@ -33,7 +34,6 @@
import android.view.accessibility.AccessibilityNodeInfo;
import com.android.internal.statusbar.IStatusBarService;
-import com.android.internal.util.Predicate;
import java.io.File;
import java.util.ArrayList;
@@ -762,9 +762,9 @@
public void run() {
}
};
- Predicate<AccessibilityEvent> checkWindowUpdate = new Predicate<AccessibilityEvent>() {
+ AccessibilityEventFilter checkWindowUpdate = new AccessibilityEventFilter() {
@Override
- public boolean apply(AccessibilityEvent t) {
+ public boolean accept(AccessibilityEvent t) {
if (t.getEventType() == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED) {
return packageName == null || packageName.equals(t.getPackageName());
}