WaitDeviceRecovery

public class WaitDeviceRecovery
extends Object implements IDeviceRecovery

java.lang.Object
   ↳ com.android.tradefed.device.WaitDeviceRecovery
Known Direct Subclasses
RetryingWaitDeviceRecovery A WaitDeviceRecovery which retries its recovery step either indefinitely or for a certain number of iterations. 


A simple implementation of a IDeviceRecovery that waits for device to be online and respond to simple commands.

Summary

Constants

int BOOTLOADER_POLL_ATTEMPTS

The number of attempts to check if device is in bootloader.

long INITIAL_PAUSE_TIME

the time in ms to wait before beginning recovery attempts

Fields

protected long mBootloaderWaitTime

protected boolean mDisableUnresponsiveReboot

protected long mFastbootWaitTime

protected long mOnlineWaitTime

protected int mRequiredMinBattery

protected long mShellWaitTime

protected long mWaitTime

Public constructors

WaitDeviceRecovery()

Public methods

void recoverDevice(IDeviceStateMonitor monitor, boolean recoverUntilOnline)

Attempt to recover the given device that can no longer be communicated with.

void recoverDeviceBootloader(IDeviceStateMonitor monitor)

Attempt to recover the given unresponsive device in bootloader mode.

void recoverDeviceRecovery(IDeviceStateMonitor monitor)

Attempt to recover the given unresponsive device in recovery mode.

void setFastbootPath(String fastbootPath)

Sets the path to the fastboot binary to be used.

Protected methods

void checkMinBatteryLevel(IDevice device)

Checks if device battery level meets min requirement

IRunUtil getRunUtil()

Get the RunUtil instance to use.

void handleDeviceBootloaderNotAvailable(IDeviceStateMonitor monitor)

Handle situation where device is not available when expected to be in bootloader.

void handleDeviceBootloaderUnresponsive(IDeviceStateMonitor monitor)
void handleDeviceNotAvailable(IDeviceStateMonitor monitor, boolean recoverTillOnline)

Handle situation where device is not available.

void handleDeviceOnlineExpectedBootloader(IDeviceStateMonitor monitor)

Handle condition where device is online, but should be in bootloader state.

void handleDeviceUnresponsive(IDevice device, IDeviceStateMonitor monitor)

Handle situation where device is online but unresponsive.

void rebootDevice(IDevice device)

Reboot device into bootloader.

void rebootDeviceIntoBootloader(IDevice device)

Reboot device into bootloader.

Constants

BOOTLOADER_POLL_ATTEMPTS

int BOOTLOADER_POLL_ATTEMPTS

The number of attempts to check if device is in bootloader.

Exposed for unit testing

Constant Value: 3 (0x00000003)

INITIAL_PAUSE_TIME

long INITIAL_PAUSE_TIME

the time in ms to wait before beginning recovery attempts

Constant Value: 5000 (0x0000000000001388)

Fields

mBootloaderWaitTime

long mBootloaderWaitTime

mDisableUnresponsiveReboot

boolean mDisableUnresponsiveReboot

mFastbootWaitTime

long mFastbootWaitTime

mOnlineWaitTime

long mOnlineWaitTime

mRequiredMinBattery

int mRequiredMinBattery

mShellWaitTime

long mShellWaitTime

mWaitTime

long mWaitTime

Public constructors

WaitDeviceRecovery

WaitDeviceRecovery ()

Public methods

recoverDevice

void recoverDevice (IDeviceStateMonitor monitor, 
                boolean recoverUntilOnline)

Attempt to recover the given device that can no longer be communicated with.

Method should block and only return when device is in requested state.

Parameters
monitor IDeviceStateMonitor: the IDeviceStateMonitor to use.
recoverUntilOnline boolean: if true, method should return as soon as device is online on adb. If false, method should block until device is fully available for testing (ie waitForDeviceAvailable() succeeds.
Throws
DeviceNotAvailableException

recoverDeviceBootloader

void recoverDeviceBootloader (IDeviceStateMonitor monitor)

Attempt to recover the given unresponsive device in bootloader mode.

Parameters
monitor IDeviceStateMonitor: the IDeviceStateMonitor to use.
Throws
DeviceNotAvailableException

recoverDeviceRecovery

void recoverDeviceRecovery (IDeviceStateMonitor monitor)

Attempt to recover the given unresponsive device in recovery mode.

Parameters
monitor IDeviceStateMonitor: the IDeviceStateMonitor to use.
Throws
DeviceNotAvailableException

setFastbootPath

void setFastbootPath (String fastbootPath)

Sets the path to the fastboot binary to be used.

Parameters
fastbootPath String: a String defining the path to the fastboot binary.

Protected methods

checkMinBatteryLevel

void checkMinBatteryLevel (IDevice device)

Checks if device battery level meets min requirement

Throws
DeviceNotAvailableException if battery level cannot be read or lower than min

getRunUtil

IRunUtil getRunUtil ()

Get the RunUtil instance to use.

Exposed for unit testing.

Returns
IRunUtil

handleDeviceBootloaderNotAvailable

void handleDeviceBootloaderNotAvailable (IDeviceStateMonitor monitor)

Handle situation where device is not available when expected to be in bootloader.

Parameters
monitor IDeviceStateMonitor: the IDeviceStateMonitor
Throws
DeviceNotAvailableException

handleDeviceBootloaderUnresponsive

void handleDeviceBootloaderUnresponsive (IDeviceStateMonitor monitor)

Throws
DeviceNotAvailableException

handleDeviceNotAvailable

void handleDeviceNotAvailable (IDeviceStateMonitor monitor, 
                boolean recoverTillOnline)

Handle situation where device is not available.

Parameters
monitor IDeviceStateMonitor: the IDeviceStateMonitor
recoverTillOnline boolean: if true this method should return if device is online, and not check for responsiveness
Throws
DeviceNotAvailableException

handleDeviceOnlineExpectedBootloader

void handleDeviceOnlineExpectedBootloader (IDeviceStateMonitor monitor)

Handle condition where device is online, but should be in bootloader state.

If this method

Throws
DeviceNotAvailableException

handleDeviceUnresponsive

void handleDeviceUnresponsive (IDevice device, 
                IDeviceStateMonitor monitor)

Handle situation where device is online but unresponsive.

Parameters
device IDevice
Throws
DeviceNotAvailableException

rebootDevice

void rebootDevice (IDevice device)

Reboot device into bootloader.

Parameters
device IDevice: the IDevice to reboot.

rebootDeviceIntoBootloader

void rebootDeviceIntoBootloader (IDevice device)

Reboot device into bootloader.

Parameters
device IDevice: the IDevice to reboot.