diff options
author | Karl Blass <kblass@google.com> | 2015-01-07 19:05:24 -0800 |
---|---|---|
committer | Karl Blass <kblass@google.com> | 2015-01-08 15:36:52 -0800 |
commit | b8fc7911443ee5666ba46e016f11284f8ffa3662 (patch) | |
tree | d87af65b08050e4f11c44be5259a512706f2ab49 /src | |
parent | 337fafc3b2ede7dbd1be4d1ed0bbfdfdbbbd684b (diff) | |
download | droiddriver-b8fc7911443ee5666ba46e016f11284f8ffa3662.tar.gz |
Use ArrayList in InstrumentationDriver, the api has changed in KITKAT.droiddriver-0.9
Change-Id: I456ae30e58c256d0c67f814d67a2b5bd200d5cf3
Diffstat (limited to 'src')
-rw-r--r-- | src/com/google/android/droiddriver/instrumentation/InstrumentationDriver.java | 8 | ||||
-rw-r--r-- | src/com/google/android/droiddriver/instrumentation/RootFinder.java | 14 |
2 files changed, 16 insertions, 6 deletions
diff --git a/src/com/google/android/droiddriver/instrumentation/InstrumentationDriver.java b/src/com/google/android/droiddriver/instrumentation/InstrumentationDriver.java index 8804211..6fd3ae7 100644 --- a/src/com/google/android/droiddriver/instrumentation/InstrumentationDriver.java +++ b/src/com/google/android/droiddriver/instrumentation/InstrumentationDriver.java @@ -29,6 +29,8 @@ import com.google.android.droiddriver.exceptions.TimeoutException; import com.google.android.droiddriver.util.ActivityUtils; import com.google.android.droiddriver.util.Logs; +import java.util.List; + /** * Implementation of DroidDriver that is driven via instrumentation. */ @@ -65,9 +67,9 @@ public class InstrumentationDriver extends BaseDroidDriver<View, ViewElement> { @Override public void run() { try { - View[] views = RootFinder.getRootViews(); - if (views.length > 1) { - Logs.log(Log.VERBOSE, "views.length=" + views.length); + List<View> views = RootFinder.getRootViews(); + if (views.size() > 1) { + Logs.log(Log.VERBOSE, "views.size()=" + views.size()); for (View view : views) { if (view.hasWindowFocus()) { rootView = view; diff --git a/src/com/google/android/droiddriver/instrumentation/RootFinder.java b/src/com/google/android/droiddriver/instrumentation/RootFinder.java index eec06c0..b880c3a 100644 --- a/src/com/google/android/droiddriver/instrumentation/RootFinder.java +++ b/src/com/google/android/droiddriver/instrumentation/RootFinder.java @@ -25,6 +25,9 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.util.Arrays; +import java.util.List; + /** * Class to find the root view. */ @@ -71,11 +74,16 @@ public class RootFinder { /** * @return a list of {@link View}s. */ - public static View[] getRootViews() { - View[] views = null; + @SuppressWarnings("unchecked") + public static List<View> getRootViews() { + List<View> views = null; try { - views = (View[]) viewsField.get(windowManagerObj); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + views = (List<View>) viewsField.get(windowManagerObj); + } else { + views = Arrays.asList((View[]) viewsField.get(windowManagerObj)); + } return views; } catch (RuntimeException re) { throw new DroidDriverException(String.format("Reflective access to %s on %s failed.", |