aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKarl Blass <kblass@google.com>2015-01-07 19:05:24 -0800
committerKarl Blass <kblass@google.com>2015-01-08 15:36:52 -0800
commitb8fc7911443ee5666ba46e016f11284f8ffa3662 (patch)
treed87af65b08050e4f11c44be5259a512706f2ab49 /src
parent337fafc3b2ede7dbd1be4d1ed0bbfdfdbbbd684b (diff)
downloaddroiddriver-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.java8
-rw-r--r--src/com/google/android/droiddriver/instrumentation/RootFinder.java14
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.",