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());
                 }