WaitDeviceRecovery

public class WaitDeviceRecovery
extends Object implements IDeviceRecovery

java.lang.Object
   ↳ com.android.tradefed.device.WaitDeviceRecovery


IDeviceRecovery 的简单实现,用于等待设备上线并响应简单命令。

摘要

常量

int BOOTLOADER_POLL_ATTEMPTS

检查设备是否处于引导加载程序中的尝试次数。

long INITIAL_PAUSE_TIME

在开始恢复尝试之前等待的时间(以毫秒为单位)

字段

protected long mBootloaderWaitTime

protected boolean mDisableUnresponsiveReboot

protected boolean mDisableUsbReset

protected long mFastbootWaitTime

protected long mOnlineWaitTime

protected int mRequiredMinBattery

protected long mShellWaitTime

protected long mWaitTime

公共构造函数

WaitDeviceRecovery()

公共方法

void recoverDevice(IDeviceStateMonitor monitor, boolean recoverUntilOnline)

尝试恢复无法再与之通信的给定设备。

void recoverDeviceBootloader(IDeviceStateMonitor monitor)

尝试在引导加载程序模式下恢复指定的无响应设备。

void recoverDeviceFastbootd(IDeviceStateMonitor monitor)

尝试在 fastbootd 模式下恢复指定的无响应设备。

void recoverDeviceRecovery(IDeviceStateMonitor monitor)

尝试在恢复模式下恢复给定无响应的设备。

void setFastbootPath(String fastbootPath)

设置要使用的 fastboot 二进制文件的路径。

受保护的方法

void checkMinBatteryLevel(IDevice device)

检查设备电池电量是否满足最低要求

IRunUtil getRunUtil()

获取要使用的 RunUtil 实例。

void handleDeviceNotAvailable(IDeviceStateMonitor monitor, boolean recoverTillOnline)

处理设备不可用的情况。

void handleDeviceUnresponsive(IDevice device, IDeviceStateMonitor monitor)

处理设备处于在线但无响应的情况。

常量

BOOTLOADER_POLL_ATTEMPTS

public static final int BOOTLOADER_POLL_ATTEMPTS

检查设备是否处于引导加载程序中的尝试次数。

公开以进行单元测试

常量值: 3 (0x00000003)

INITIAL_PAUSE_TIME

protected static final long INITIAL_PAUSE_TIME

在开始尝试恢复之前等待的时间(以毫秒为单位)

常量值: 5000 (0x0000000000001388)

字段

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

公共构造函数

WaitDeviceRecovery

public WaitDeviceRecovery ()

公共方法

recoverDevice

public void recoverDevice (IDeviceStateMonitor monitor, 
                boolean recoverUntilOnline)

尝试恢复无法再与之通信的给定设备。

方法应阻塞,仅在设备处于请求的状态时返回。

参数
monitor IDeviceStateMonitor:要使用的 IDeviceStateMonitor

recoverUntilOnline boolean:如果为 true,则方法应在设备在 adb 上上线后立即返回。 如果为 false,方法应阻塞,直到设备完全可用于测试(即 IDeviceStateMonitor.waitForDeviceAvailable() 成功)。

抛出
DeviceNotAvailableException

recoverDeviceBootloader

public void recoverDeviceBootloader (IDeviceStateMonitor monitor)

尝试在引导加载程序模式下恢复给定无响应的设备。

参数
monitor IDeviceStateMonitor:要使用的 IDeviceStateMonitor

抛出
DeviceNotAvailableException

recoverDeviceFastbootd

public void recoverDeviceFastbootd (IDeviceStateMonitor monitor)

尝试在 fastbootd 模式下恢复指定的无响应设备。

参数
monitor IDeviceStateMonitor:要使用的 IDeviceStateMonitor

抛出
DeviceNotAvailableException

recoverDeviceRecovery

public void recoverDeviceRecovery (IDeviceStateMonitor monitor)

尝试在恢复模式下恢复给定无响应的设备。

参数
monitor IDeviceStateMonitor:要使用的 IDeviceStateMonitor

抛出
DeviceNotAvailableException

setFastbootPath

public void setFastbootPath (String fastbootPath)

设置要使用的 fastboot 二进制文件的路径。

参数
fastbootPath String:用于定义 fastboot 二进制文件路径的 String

受保护的方法

checkMinBatteryLevel

protected void checkMinBatteryLevel (IDevice device)

检查设备电池电量是否符合最低要求

抛出
DeviceNotAvailableException 如果无法读取电池电量或电池电量低于下限

getRunUtil

protected IRunUtil getRunUtil ()

获取要使用的 RunUtil 实例。

公开以进行单元测试。

返回
IRunUtil

handleDeviceNotAvailable

protected void handleDeviceNotAvailable (IDeviceStateMonitor monitor, 
                boolean recoverTillOnline)

处理设备不可用的情况。

参数
monitor IDeviceStateMonitorIDeviceStateMonitor

recoverTillOnline boolean:如果为 true,此方法应返回设备是否处于在线状态,而不会检查响应能力

抛出
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

handleDeviceUnresponsive

protected void handleDeviceUnresponsive (IDevice device, 
                IDeviceStateMonitor monitor)

处理设备处于在线但无响应的情况。

参数
device IDevice

抛出
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException