IDeviceStateMonitor

public interface IDeviceStateMonitor

com.android.tradefed.device.IDeviceStateMonitor


提供用於監視IDevice狀態的工具。

當且僅當四個事件為真時,設備當前才被視為“可用”:1. 設備在線,也就是通過 DDMS/adb 可見( waitForDeviceOnline() 2. 設備設置了 dev.bootcomplete 標誌(@link #waitForBootComplete(long)} 3. 設備的包管理器有響應(可能是 inop) 4. 設備的外部存儲已安裝 3. & 4. 是waitForDeviceAvailable()的一部分。

概括

公共方法

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)

設置快速啟動模式序列號。

abstract void setIDevice (IDevice device)

更新當前 IDevice。

abstract void setState ( TestDeviceState deviceState)

設置設備當前狀態。

abstract boolean waitForBootComplete (long waitTime)

阻塞直到設置設備的啟動完成標誌

abstract IDevice waitForDeviceAvailable ()

等待設備響應並可用於測試。

abstract IDevice waitForDeviceAvailable (long waitTime)

等待設備響應並可用於測試。

default IDevice waitForDeviceAvailableInRecoverPath (long waitTime)

在恢復路徑期間調用waitForDeviceAvailable(long)的特殊變體以定制處理。

abstract boolean waitForDeviceBootloader (long waitTime)

等待設備進入引導加載程序。

abstract void waitForDeviceBootloaderStateUpdate ()

等待設備引導加載程序狀態被刷新

abstract boolean waitForDeviceFastbootd (String fastbootPath, long waitTime)

等待設備進入 fastbootd。

abstract boolean waitForDeviceInRecovery (long waitTime)

等待設備處於“adb recovery”狀態

abstract IDevice waitForDeviceInRecovery ()

使用標準啟動超時等待設備進入恢復模式。

abstract boolean waitForDeviceInSideload (long waitTime)

等待設備處於“adb sideload”狀態

abstract boolean waitForDeviceNotAvailable (long waitTime)

等待設備不可用

abstract IDevice waitForDeviceOnline ()

使用標準啟動超時等待設備聯機。

abstract IDevice waitForDeviceOnline (long time)

等待設備在線。

abstract boolean waitForDeviceShell (long waitTime)

等待設備響應基本的 adb shell 命令。

公共方法

獲取設備狀態

public abstract TestDeviceState getDeviceState ()

獲取設備狀態。

退貨
TestDeviceState設備的TestDeviceState

getFastbootSerialNumber

public abstract String getFastbootSerialNumber ()

獲取 fastboot 模式序列號。

退貨
String

獲取掛載點

public abstract String getMountPoint (String mountName)

返回掛載點。

如果IDevice中的緩存信息不可用,則直接查詢設備。

TODO:將此行為移至IDevice#getMountPoint(String)

參數
mountName String : 掛載點的名稱

退貨
String掛載點或null

投擲
DeviceNotAvailableException

獲取序列號

public abstract String getSerialNumber ()

獲取設備的序列號。

退貨
String

isAdbTcp

public abstract boolean isAdbTcp ()

退貨
boolean如果設備通過 tcp 連接到 adb, true

設置默認可用超時

public abstract void setDefaultAvailableTimeout (long timeoutMs)

waitForDeviceAvailable()中設置等待設備可用的時間(以毫秒為單位)。

參數
timeoutMs long

設置默認在線超時

public abstract void setDefaultOnlineTimeout (long timeoutMs)

waitForDeviceOnline()中設置等待設備在線的時間(以毫秒為單位)。

參數
timeoutMs long

setFastbootSerialNumber

public abstract void setFastbootSerialNumber (String serial)

設置快速啟動模式序列號。

參數
serial String

設置設備

public abstract void setIDevice (IDevice device)

更新當前 IDevice。

設置狀態

public abstract void setState (TestDeviceState deviceState)

設置設備當前狀態。

等待啟動完成

public abstract boolean waitForBootComplete (long waitTime)

阻塞直到設置設備的啟動完成標誌

參數
waitTime long :等待的毫秒數

退貨
boolean

等待設備可用

public abstract IDevice waitForDeviceAvailable ()

等待設備響應並可用於測試。

等同於waitForDeviceAvailable(long) ,但使用默認設備啟動超時。

退貨
IDevice如果設備在時間到期之前上線,則為IDevicenull為空。

等待設備可用

public abstract IDevice waitForDeviceAvailable (long waitTime)

等待設備響應並可用於測試。目前這意味著包管理器和外部存儲可用。

參數
waitTime long : 以毫秒為單位的等待時間

退貨
IDevice如果設備在時間到期之前上線,則為IDevicenull為空。

waitForDeviceAvailableInRecoverPath

public IDevice waitForDeviceAvailableInRecoverPath (long waitTime)

在恢復路徑期間調用waitForDeviceAvailable(long)的特殊變體以定制處理。

參數
waitTime long

退貨
IDevice

投擲
DeviceNotAvailableException如果設備變得不可用。

等待設備引導程序

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如果設備在時間到期前處於 fastbootd, true

等待設備恢復

public abstract boolean waitForDeviceInRecovery (long waitTime)

等待設備處於“adb recovery”狀態

參數
waitTime long :等待的最長時間(以毫秒為單位)

退貨
boolean如果設備在超時前處於恢復狀態,則為 True,否則為 False。

等待設備恢復

public abstract IDevice waitForDeviceInRecovery ()

使用標準啟動超時等待設備進入恢復模式。

退貨
IDevice如果設備在時間到期之前恢復,則IDevicenull為空。

waitForDeviceInSideload

public abstract boolean waitForDeviceInSideload (long waitTime)

等待設備處於“adb sideload”狀態

參數
waitTime long :等待的最長時間(以毫秒為單位)

退貨
boolean如果設備在超時前處於側載狀態,則為 True,否則為 False。

等待設備不可用

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為空。

等待設備外殼

public abstract boolean waitForDeviceShell (long waitTime)

等待設備響應基本的 adb shell 命令。

參數
waitTime long : 以毫秒為單位的等待時間

退貨
boolean如果設備在waitTime過去之前開始響應, true