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)

如果達到此狀態,請將最終狀態附加至 abort 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)

等待裝置快速啟動。

abstract IDevice waitForDeviceInRecovery()

等待裝置透過標準啟動逾時狀態進入復原模式。

abstract boolean waitForDeviceInRecovery(long waitTime)

等待裝置進入「ADB 復原」狀態州

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 殼層指令。

公用方法

連結最終狀態

public void attachFinalState (TestDeviceState finalState)

如果達到此狀態,請將最終狀態附加至 abort 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 中的快取資訊,則直接查詢裝置。

待辦事項:將此行為移至 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。

設定狀態

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 反之。

waitForDeviceAvailableInRecoveryPath

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)

等待裝置快速啟動。

參數
fastbootPath String:Fastboot 二進位檔的路徑。

waitTime long:等待時間上限 (毫秒)

傳回
boolean 如果裝置在時間到期前快速啟動,則為 true

waitForDeviceInRecovery

public abstract IDevice waitForDeviceInRecovery ()

等待裝置透過標準啟動逾時狀態進入復原模式。

傳回
IDevice 如果裝置在時間到期前復原,則IDevicenull 反之。

waitForDeviceInRecovery

public abstract boolean waitForDeviceInRecovery (long waitTime)

等待裝置進入「ADB 復原」狀態州

參數
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

waitForDeviceOnline

public abstract IDevice waitForDeviceOnline ()

使用標準開機逾時,等待裝置連上網路。

注意:當裝置可透過 DDMS 觀看時,這個方法就會傳回結果。無法保證 裝置對 ADB 指令的實際回應 - 請使用 waitForDeviceAvailable()

傳回
IDevice 如果裝置在時間到期前連上網路,則IDevicenull 反之。

waitForDeviceOnline

public abstract IDevice waitForDeviceOnline (long time)

等待裝置連上網路。

注意:當裝置可透過 DDMS 觀看時,這個方法就會傳回結果。無法保證 裝置對 ADB 指令的實際回應 - 請使用 waitForDeviceAvailable()

參數
time long:等待時間上限 (毫秒)

傳回
IDevice 如果裝置在時間到期前連上網路,則IDevicenull 反之。

waitForDeviceShell

public abstract boolean waitForDeviceShell (long waitTime)

等待裝置回應基本 ADB 殼層指令。

參數
waitTime long:等待時間 (毫秒)

傳回
boolean 如果裝置在 waitTime 前回應,則為 true