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。

default void clearTcpFastbootMonitor()

清除裝置管理工具中的任何狀態。

abstract TestDeviceState getDeviceState()

取得裝置狀態。

abstract String getFastbootSerialNumber()

Gets the fastboot mode serial number.

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)

Blocks until the device's boot complete flag is set

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 sideload」狀態

abstract boolean waitForDeviceNotAvailable(long waitTime)

等待裝置無法使用

abstract IDevice waitForDeviceOnline()

使用標準啟動逾時時間,等待裝置上線。

abstract IDevice waitForDeviceOnline(long time)

等待裝置連上網路。

abstract boolean waitForDeviceShell(long waitTime)

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

公用方法

attachFinalState

public void attachFinalState (TestDeviceState finalState)

如果達到最終狀態,請附加最終狀態來中止 waitForDeviceState。

參數
finalState TestDeviceState

clearTcpFastbootMonitor

public void clearTcpFastbootMonitor ()

清除裝置管理工具中的任何狀態。

getDeviceState

public abstract TestDeviceState getDeviceState ()

取得裝置狀態。

傳回
TestDeviceState 裝置的TestDeviceState

getFastbootSerialNumber

public abstract String getFastbootSerialNumber ()

取得快速啟動模式序號。

傳回
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 true (如果裝置透過 TCP 連線至 adb)

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)

設定快速啟動模式序號。

參數
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 否則為 0。

waitForDeviceAvailable

public abstract IDevice waitForDeviceAvailable ()

等待裝置回應並可供測試。

waitForDeviceAvailable(long) 相同,但使用預設裝置開機逾時。

傳回
IDevice 如果裝置在時間到期前連上網路,系統會傳送 IDevicenull 否則為 0。

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 模式)

waitForDeviceInRecovery

public abstract IDevice waitForDeviceInRecovery ()

等待裝置進入復原模式,使用標準啟動逾時。

傳回
IDevice IDevice如果裝置在時間到期前恢復原廠設定,null 否則為 0。

waitForDeviceInRecovery

public abstract boolean waitForDeviceInRecovery (long waitTime)

等待裝置進入「adb recovery」狀態

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

傳回
boolean 如果裝置在逾時前進入復原模式,則為 True,否則為 False。

waitForDeviceInSideload

public abstract boolean waitForDeviceInSideload (long waitTime)

等待裝置進入「adb sideload」狀態

參數
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 否則為 0。

waitForDeviceOnline

public abstract IDevice waitForDeviceOnline (long time)

等待裝置連上網路。

注意:裝置透過 DDMS 顯示後,這個方法就會傳回。這項功能無法保證裝置確實會回應 adb 指令,請改用 waitForDeviceAvailable()

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

傳回
IDevice 如果裝置在時間到期前連上網路,系統會傳送 IDevicenull 否則為 0。

waitForDeviceShell

public abstract boolean waitForDeviceShell (long waitTime)

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

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

傳回
boolean true 經過 waitTime 前裝置恢復回應。