aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--monkeyrunner/src/com/android/monkeyrunner/adb/AdbBackend.java3
-rw-r--r--monkeyrunner/src/com/android/monkeyrunner/adb/AdbMonkeyDevice.java9
2 files changed, 10 insertions, 2 deletions
diff --git a/monkeyrunner/src/com/android/monkeyrunner/adb/AdbBackend.java b/monkeyrunner/src/com/android/monkeyrunner/adb/AdbBackend.java
index 63badf5..b9549a3 100644
--- a/monkeyrunner/src/com/android/monkeyrunner/adb/AdbBackend.java
+++ b/monkeyrunner/src/com/android/monkeyrunner/adb/AdbBackend.java
@@ -69,7 +69,8 @@ public class AdbBackend implements MonkeyRunnerBackend {
public MonkeyDevice waitForConnection(long timeoutMs, String deviceIdRegex) {
do {
IDevice device = findAttacedDevice(deviceIdRegex);
- if (device != null) {
+ // Only return the device when it is online
+ if (device != null && device.getState() == IDevice.DeviceState.ONLINE) {
AdbMonkeyDevice amd = new AdbMonkeyDevice(device);
devices.add(amd);
return amd;
diff --git a/monkeyrunner/src/com/android/monkeyrunner/adb/AdbMonkeyDevice.java b/monkeyrunner/src/com/android/monkeyrunner/adb/AdbMonkeyDevice.java
index dedc1ea..b180ccd 100644
--- a/monkeyrunner/src/com/android/monkeyrunner/adb/AdbMonkeyDevice.java
+++ b/monkeyrunner/src/com/android/monkeyrunner/adb/AdbMonkeyDevice.java
@@ -51,7 +51,8 @@ public class AdbMonkeyDevice extends MonkeyDevice {
private static final Logger LOG = Logger.getLogger(AdbMonkeyDevice.class.getName());
private static final String[] ZERO_LENGTH_STRING_ARRAY = new String[0];
- private static final long MANAGER_CREATE_TIMEOUT_MS = 5 * 1000; // 5 seconds
+ private static final long MANAGER_CREATE_TIMEOUT_MS = 30 * 1000; // 30 seconds
+ private static final long MANAGER_CREATE_WAIT_TIME_MS = 1000; // wait 1 second
private final ExecutorService executor = Executors.newCachedThreadPool();
@@ -151,6 +152,12 @@ public class AdbMonkeyDevice extends MonkeyDevice {
return null;
}
+ try {
+ Thread.sleep(MANAGER_CREATE_WAIT_TIME_MS);
+ } catch (InterruptedException e) {
+ LOG.log(Level.SEVERE, "Unable to sleep", e);
+ }
+
Socket monkeySocket;
try {
monkeySocket = new Socket(addr, port);