IDeviceStateMonitor

public interface IDeviceStateMonitor

com.android.tradefed.device.IDeviceStateMonitor


提供用于监控 IDevice 状态的工具。

设备目前被视为“可用”当且仅当四个事件为 true 时: 1.设备处于在线状态,也称为通过 DDMS/adb 可见 (waitForDeviceOnline() 2.设备设置了 dev.bootcomplete 标志 (@link #waitForBootComplete(long)} 3.设备的软件包管理器响应迅速(可能在操作中) 4.已装载设备的外部存储设备 3.&4. 属于 waitForDeviceAvailable()

摘要

公共方法

default void attachFinalState(TestDeviceState finalState)

将最终状态附加到中止 waitForDeviceState(如果达到)。

abstract TestDeviceState getDeviceState()

获取设备状态。

abstract String getFastbootSerialNumber()

获取 fastboot 模式序列号。

abstract String getMountPoint(String mountName)

返回装载点。

abstract String getSerialNumber()

获取设备的序列号。

abstract boolean isAdbTcp()
abstract void setDefaultAvailableTimeout(long timeoutMs)

设置在 waitForDeviceAvailable() 中等待设备可用的时间(以毫秒为单位)。

abstract void setDefaultOnlineTimeout(long timeoutMs)

waitForDeviceOnline() 中设置设备在线等待的时间(以毫秒为单位)。

abstract void setFastbootSerialNumber(String serial)

设置 fastboot 模式序列号。

abstract void setIDevice(IDevice device)

更新当前的 IDevice。

abstract void setState(TestDeviceState deviceState)

设置设备的当前状态。

abstract boolean waitForBootComplete(long waitTime)

阻止,直到设置了设备的启动完成标志

abstract IDevice waitForDeviceAvailable(long waitTime)

等待设备做出响应并可供测试。

abstract IDevice waitForDeviceAvailable()

等待设备做出响应并可供测试。

default IDevice waitForDeviceAvailableInRecoverPath(long waitTime)

要在恢复路径期间调用的 waitForDeviceAvailable(long) 的特殊变体 定制处理方式。

abstract boolean waitForDeviceBootloader(long waitTime)

等待设备进入引导加载程序。

abstract void waitForDeviceBootloaderStateUpdate()

等待设备引导加载程序状态刷新

abstract boolean waitForDeviceFastbootd(String fastbootPath, long waitTime)

等待设备进入 fastbootd。

abstract IDevice waitForDeviceInRecovery()

使用标准启动超时等待设备进入恢复模式。

abstract boolean waitForDeviceInRecovery(long waitTime)

等待设备进入“adb recovery”州/省/自治区/直辖市

abstract boolean waitForDeviceInSideload(long waitTime)

等待设备进入“adb 旁加载”州/省/自治区/直辖市

abstract boolean waitForDeviceNotAvailable(long waitTime)

等待设备不可用

abstract IDevice waitForDeviceOnline()

使用标准启动超时等待设备上线。

abstract IDevice waitForDeviceOnline(long time)

等待设备连接到网络。

abstract boolean waitForDeviceShell(long waitTime)

等待设备响应基本 adb shell 命令。

公共方法

附加 FinalState

public void attachFinalState (TestDeviceState finalState)

如果达到该状态,则附加一个最终状态来中止 waitForDeviceState。

参数
finalState TestDeviceState

getDeviceState

public abstract TestDeviceState getDeviceState ()

获取设备状态。

返回
TestDeviceState 设备的 TestDeviceState

getFastbootSerialNumber

public abstract String getFastbootSerialNumber ()

获取 fastboot 模式序列号。

返回
String

getMountPoint

public abstract String getMountPoint (String mountName)

返回装载点。

如果 IDevice 中的缓存信息不可用,则直接查询设备。

TODO:将此行为移至 IDevice#getMountPoint(String)

参数
mountName String:装载点的名称

返回
String 装载点或 null

抛出
DeviceNotAvailableException

getSerialNumber

public abstract String getSerialNumber ()

获取设备的序列号。

返回
String

isAdbTcp

public abstract boolean isAdbTcp ()

返回
boolean 如果设备已通过 tcp 连接到 adb,则为 true

setDefaultAvailableTimeout

public abstract void setDefaultAvailableTimeout (long timeoutMs)

设置在 waitForDeviceAvailable() 中等待设备可用的时间(以毫秒为单位)。

参数
timeoutMs long

setDefaultOnlineTimeout

public abstract void setDefaultOnlineTimeout (long timeoutMs)

waitForDeviceOnline() 中设置设备在线等待的时间(以毫秒为单位)。

参数
timeoutMs long

setFastbootSerialNumber

public abstract void setFastbootSerialNumber (String serial)

设置 fastboot 模式序列号。

参数
serial String

setIDevice

public abstract void setIDevice (IDevice device)

更新当前的 IDevice。

setState

public abstract void setState (TestDeviceState deviceState)

设置设备的当前状态。

waitForBootComplete

public abstract boolean waitForBootComplete (long waitTime)

阻止,直到设置了设备的启动完成标志

参数
waitTime long:等待的时间(以毫秒为单位)

返回
boolean

waitForDeviceAvailable

public abstract IDevice waitForDeviceAvailable (long waitTime)

等待设备做出响应并可供测试。目前,这意味着 软件包管理器和外部存储空间是否可用。

参数
waitTime long:等待的时间(以毫秒为单位)

返回
IDevice 如果设备在时间到期之前变为在线状态,则 IDevicenull 否则。

waitForDeviceAvailable

public abstract IDevice waitForDeviceAvailable ()

等待设备做出响应并可供测试。

等同于 waitForDeviceAvailable(long),但使用默认设备 启动超时。

返回
IDevice 如果设备在时间到期之前变为在线状态,则 IDevicenull 否则。

waitForDeviceAvailableInRecoverPath

public IDevice waitForDeviceAvailableInRecoverPath (long waitTime)

要在恢复路径期间调用的 waitForDeviceAvailable(long) 的特殊变体 定制处理方式。

参数
waitTime long

返回
IDevice

抛出
DeviceNotAvailableException

waitForDeviceBootloader

public abstract boolean waitForDeviceBootloader (long waitTime)

等待设备进入引导加载程序。

参数
waitTime long:等待的最长时间(以毫秒为单位)

返回
boolean 如果设备在时间到期之前已进入引导加载程序,则为 true

waitForDeviceBootloaderStateUpdate

public abstract void waitForDeviceBootloaderStateUpdate ()

等待设备引导加载程序状态刷新

waitForDeviceFastbootd

public abstract boolean waitForDeviceFastbootd (String fastbootPath, 
                long waitTime)

等待设备进入 fastbootd。

参数
fastbootPath String:要使用的 fastboot 二进制文件的路径。

waitTime long:等待的最长时间(以毫秒为单位)

返回
boolean true(如果设备在时间到期之前处于 fastbootd 模式)

等待设备恢复

public abstract IDevice waitForDeviceInRecovery ()

使用标准启动超时等待设备进入恢复模式。

返回
IDevice 如果设备在时间到期之前进入恢复状态,则为 IDevicenull 否则。

等待设备恢复

public abstract boolean waitForDeviceInRecovery (long waitTime)

等待设备进入“adb recovery”州/省/自治区/直辖市

参数
waitTime long:等待的最长时间(以毫秒为单位)

返回
boolean 如果设备在超时之前处于“恢复”状态,则为 true,否则为 false。

waitForDeviceInSideload

public abstract boolean waitForDeviceInSideload (long waitTime)

等待设备进入“adb 旁加载”州/省/自治区/直辖市

参数
waitTime long:等待的最长时间(以毫秒为单位)

返回
boolean 如果设备在超时之前处于旁加载状态,则为 true,否则为 false。

waitForDeviceNotAvailable

public abstract boolean waitForDeviceNotAvailable (long waitTime)

等待设备不可用

参数
waitTime long:等待的最长时间(以毫秒为单位)

返回
boolean 如果设备变得不可用,则为true

等待设备在线

public abstract IDevice waitForDeviceOnline ()

使用标准启动超时等待设备上线。

注意:通过 DDMS 查看设备后,此方法将返回。它并不保证 设备实际上会响应 adb 命令 - 使用 waitForDeviceAvailable()

返回
IDevice 如果设备在时间到期之前变为在线状态,则 IDevicenull 否则。

等待设备在线

public abstract IDevice waitForDeviceOnline (long time)

等待设备连接到网络。

注意:通过 DDMS 查看设备后,此方法将返回。它并不保证 设备实际上会响应 adb 命令 - 使用 waitForDeviceAvailable()

参数
time long:等待的最长时间(以毫秒为单位)

返回
IDevice 如果设备在时间到期之前变为在线状态,则 IDevicenull 否则。

waitForDeviceShell

public abstract boolean waitForDeviceShell (long waitTime)

等待设备响应基本 adb shell 命令。

参数
waitTime long:等待的时间(以毫秒为单位)

返回
boolean 如果设备在 waitTime 期间开始响应,则为 true