WaitDeviceRecovery
  public
  
  
  
  class
  WaitDeviceRecovery
  
    extends Object
  
  
  
  
  
      implements
      
        IDeviceRecovery
      
  
  
| java.lang.Object | |
| ↳ | com.android.tradefed.device.WaitDeviceRecovery | 
A simple implementation of a IDeviceRecovery that waits for device to be online and
 respond to simple commands.
Summary
| Constants | |
|---|---|
| int | BOOTLOADER_POLL_ATTEMPTSThe number of attempts to check if device is in bootloader. | 
| long | INITIAL_PAUSE_TIMEthe time in ms to wait before beginning recovery attempts | 
| Fields | |
|---|---|
| 
    protected
    
    
    long | mBootloaderWaitTime
 | 
| 
    protected
    
    
    boolean | mDisableUnresponsiveReboot
 | 
| 
    protected
    
    
    boolean | mDisableUsbReset
 | 
| 
    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 | 
      recoverDeviceFastbootd(IDeviceStateMonitor monitor)
      Attempt to recover the given unresponsive device in fastbootd 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  | 
| 
        
        
        
        
        
        void | 
      handleDeviceNotAvailable(IDeviceStateMonitor monitor, boolean recoverTillOnline)
      Handle situation where device is not available. | 
| 
        
        
        
        
        
        void | 
      handleDeviceUnresponsive(IDevice device, IDeviceStateMonitor monitor)
      Handle situation where device is online but unresponsive. | 
Constants
BOOTLOADER_POLL_ATTEMPTS
public static final int BOOTLOADER_POLL_ATTEMPTS
The number of attempts to check if device is in bootloader.
Exposed for unit testingConstant Value: 3 (0x00000003)
INITIAL_PAUSE_TIME
protected static final long INITIAL_PAUSE_TIME
the time in ms to wait before beginning recovery attempts
Constant Value: 5000 (0x0000000000001388)
Fields
mBootloaderWaitTime
protected long mBootloaderWaitTime
mDisableUnresponsiveReboot
protected boolean mDisableUnresponsiveReboot
mDisableUsbReset
protected boolean mDisableUsbReset
mFastbootWaitTime
protected long mFastbootWaitTime
mOnlineWaitTime
protected long mOnlineWaitTime
mRequiredMinBattery
protected int mRequiredMinBattery
mShellWaitTime
protected long mShellWaitTime
mWaitTime
protected long mWaitTime
Public constructors
WaitDeviceRecovery
public WaitDeviceRecovery ()
Public methods
recoverDevice
public 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: theIDeviceStateMonitorto 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 (ieIDeviceStateMonitor.waitForDeviceAvailable()succeeds. | 
| Throws | |
|---|---|
| DeviceNotAvailableException | |
recoverDeviceBootloader
public void recoverDeviceBootloader (IDeviceStateMonitor monitor)
Attempt to recover the given unresponsive device in bootloader mode.
| Parameters | |
|---|---|
| monitor | IDeviceStateMonitor: theIDeviceStateMonitorto use. | 
| Throws | |
|---|---|
| DeviceNotAvailableException | |
recoverDeviceFastbootd
public void recoverDeviceFastbootd (IDeviceStateMonitor monitor)
Attempt to recover the given unresponsive device in fastbootd mode.
| Parameters | |
|---|---|
| monitor | IDeviceStateMonitor: theIDeviceStateMonitorto use. | 
| Throws | |
|---|---|
| DeviceNotAvailableException | |
recoverDeviceRecovery
public void recoverDeviceRecovery (IDeviceStateMonitor monitor)
Attempt to recover the given unresponsive device in recovery mode.
| Parameters | |
|---|---|
| monitor | IDeviceStateMonitor: theIDeviceStateMonitorto use. | 
| Throws | |
|---|---|
| DeviceNotAvailableException | |
setFastbootPath
public void setFastbootPath (String fastbootPath)
Sets the path to the fastboot binary to be used.
| Parameters | |
|---|---|
| fastbootPath | String: aStringdefining the path to the fastboot binary. | 
Protected methods
checkMinBatteryLevel
protected 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
protected IRunUtil getRunUtil ()
Get the RunUtil instance to use.
 
| Returns | |
|---|---|
| IRunUtil | |
handleDeviceNotAvailable
protected void handleDeviceNotAvailable (IDeviceStateMonitor monitor, boolean recoverTillOnline)
Handle situation where device is not available.
| Parameters | |
|---|---|
| monitor | IDeviceStateMonitor: theIDeviceStateMonitor | 
| recoverTillOnline | boolean: if true this method should return if device is online, and not
 check for responsiveness | 
| Throws | |
|---|---|
|  | com.android.tradefed.device.DeviceNotAvailableException | 
| DeviceNotAvailableException | |
handleDeviceUnresponsive
protected void handleDeviceUnresponsive (IDevice device, 
                IDeviceStateMonitor monitor)Handle situation where device is online but unresponsive.
| Parameters | |
|---|---|
| device | IDevice | 
| Throws | |
|---|---|
|  | com.android.tradefed.device.DeviceNotAvailableException | 
| DeviceNotAvailableException | |
