Fix implicit DPadUtil dependency for longevity
UiDevice instance that DPadUtil depends on needs to
be explictly set ahead in case that test runner is not
from android-support-library
Bug: 31801739
Change-Id: Iaef8d4dabafedeed4a472246abd2cefd2ee9f24b
diff --git a/libraries/launcher-helper/src/android/support/test/launcherhelper/LeanbackLauncherStrategy.java b/libraries/launcher-helper/src/android/support/test/launcherhelper/LeanbackLauncherStrategy.java
index 59084ae..cac78a1 100644
--- a/libraries/launcher-helper/src/android/support/test/launcherhelper/LeanbackLauncherStrategy.java
+++ b/libraries/launcher-helper/src/android/support/test/launcherhelper/LeanbackLauncherStrategy.java
@@ -20,7 +20,12 @@
import android.os.RemoteException;
import android.os.SystemClock;
import android.platform.test.utils.DPadUtil;
-import android.support.test.uiautomator.*;
+import android.support.test.uiautomator.By;
+import android.support.test.uiautomator.BySelector;
+import android.support.test.uiautomator.Direction;
+import android.support.test.uiautomator.UiDevice;
+import android.support.test.uiautomator.UiObject2;
+import android.support.test.uiautomator.Until;
import android.util.Log;
import java.io.ByteArrayOutputStream;
@@ -38,7 +43,7 @@
private static final int NOTIFICATION_WAIT_TIME = 30000;
protected UiDevice mDevice;
- protected DPadUtil mDPadUtil = new DPadUtil();
+ protected DPadUtil mDPadUtil;
/**
@@ -55,6 +60,7 @@
@Override
public void setUiDevice(UiDevice uiDevice) {
mDevice = uiDevice;
+ mDPadUtil = new DPadUtil(mDevice);
}
/**
diff --git a/utils/dpad/src/android/platform/test/utils/DPadUtil.java b/utils/dpad/src/android/platform/test/utils/DPadUtil.java
index dfd7fdf..3e7f1d6 100644
--- a/utils/dpad/src/android/platform/test/utils/DPadUtil.java
+++ b/utils/dpad/src/android/platform/test/utils/DPadUtil.java
@@ -18,7 +18,6 @@
import android.app.Instrumentation;
import android.os.SystemClock;
-import android.support.test.InstrumentationRegistry;
import android.support.test.uiautomator.Direction;
import android.support.test.uiautomator.EventCondition;
import android.support.test.uiautomator.UiDevice;
@@ -35,14 +34,18 @@
private UiDevice mDevice;
- public DPadUtil() {
- mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
- }
-
public DPadUtil(Instrumentation instrumentation) {
mDevice = UiDevice.getInstance(instrumentation);
}
+ public DPadUtil(UiDevice uiDevice) {
+ mDevice = uiDevice;
+ }
+
+ public void setUiDevice(UiDevice uiDevice) {
+ mDevice = uiDevice;
+ }
+
public boolean pressDPad(Direction direction) {
return pressDPad(direction, 1, DPAD_DEFAULT_WAIT_TIME_MS);
}