aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/com/android/tradefed/device/WaitDeviceRecovery.java20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/com/android/tradefed/device/WaitDeviceRecovery.java b/src/com/android/tradefed/device/WaitDeviceRecovery.java
index d1515c1b2..dd4a17578 100644
--- a/src/com/android/tradefed/device/WaitDeviceRecovery.java
+++ b/src/com/android/tradefed/device/WaitDeviceRecovery.java
@@ -196,16 +196,18 @@ public class WaitDeviceRecovery implements IDeviceRecovery {
Log.i(LOG_TAG, String.format(
"Device %s unresponsive. Rebooting...", monitor.getSerialNumber()));
rebootDevice(device);
+ IDevice newdevice = monitor.waitForDeviceOnline(mOnlineWaitTime);
+ if (newdevice == null) {
+ handleDeviceNotAvailable(monitor, false);
+ return;
+ }
+ if (monitor.waitForDeviceAvailable(mWaitTime) != null) {
+ return;
+ }
}
- IDevice newdevice = monitor.waitForDeviceOnline(mOnlineWaitTime);
- if (newdevice == null) {
- handleDeviceNotAvailable(monitor, false);
- return;
- }
- if (monitor.waitForDeviceAvailable(mWaitTime) == null) {
- throw new DeviceUnresponsiveException(String.format(
- "Device %s is online but unresponsive", monitor.getSerialNumber()));
- }
+ // If no reboot was done, waitForDeviceAvailable has already been checked.
+ throw new DeviceUnresponsiveException(String.format(
+ "Device %s is online but unresponsive", monitor.getSerialNumber()));
}
/**