NativeDeviceStateMonitor

public class NativeDeviceStateMonitor
extends Object implements IDeviceStateMonitor

java.lang.Object
com.android.tradefed.device.NativeDeviceStateMonitor


幫助程序類,用於在沒有框架支持的情況下監視IDevice的狀態。

概括

常量

long MAX_CHECK_POLL_TIME

int MAX_OP_TIME

“輪詢響應”命令的最大操作時間(以毫秒為單位)

領域

protected static final String PERM_DENIED_ERROR_PATTERN

公共構造函數

NativeDeviceStateMonitor ( IDeviceManager mgr, IDevice device, boolean fastbootEnabled)

公共方法

TestDeviceState getDeviceState ()

獲取設備狀態。

String getFastbootSerialNumber ()

獲取 fastboot 模式序列號。

String getMountPoint (String mountName)

返回掛載點。

String getSerialNumber ()

獲取設備的序列號。

boolean isAdbTcp ()

void setDefaultAvailableTimeout (long timeoutMs)

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

void setDefaultOnlineTimeout (long timeoutMs)

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

void setFastbootSerialNumber (String serial)

設置fastboot模式序列號。

void setIDevice (IDevice newDevice)

更新當前 IDevice。

void setState ( TestDeviceState deviceState)

設置設備當前狀態。

boolean waitForBootComplete (long waitTime)

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

IDevice waitForDeviceAvailable (long waitTime)

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

IDevice waitForDeviceAvailable ()

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

IDevice waitForDeviceAvailableInRecoverPath (long waitTime)

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

boolean waitForDeviceBootloader (long time)

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

void waitForDeviceBootloaderStateUpdate ()

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

boolean waitForDeviceFastbootd (String fastbootPath, long time)

等待設備進入 fastbootd。

IDevice waitForDeviceInRecovery ()

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

boolean waitForDeviceInRecovery (long waitTime)

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

boolean waitForDeviceInSideload (long waitTime)

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

boolean waitForDeviceNotAvailable (long waitTime)

等待設備不可用

IDevice waitForDeviceOnline ()

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

IDevice waitForDeviceOnline (long waitTime)

等待設備在線。

boolean waitForDeviceShell (long waitTime)

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

受保護的方法

CollectingOutputReceiver createOutputReceiver ()

暴露測試

long getCheckPollTime ()

暴露測試

long getCurrentTime ()

暴露測試

IDevice getIDevice ()
boolean postOnlineCheck (long waitTime)

在在線設備上進行的額外檢查

boolean waitForStoreMount (long waitTime)

等待安裝設備的外部存儲。

常量

MAX_CHECK_POLL_TIME

protected static final long MAX_CHECK_POLL_TIME

常數值:10000 (0x0000000000002710)

MAX_OP_TIME

protected static final int MAX_OP_TIME

“輪詢響應”命令的最大操作時間(以毫秒為單位)

常數值:10000 (0x00002710)

領域

PERM_DENIED_ERROR_PATTERN

protected static final String PERM_DENIED_ERROR_PATTERN

公共構造函數

NativeDeviceStateMonitor

public NativeDeviceStateMonitor (IDeviceManager mgr, 
                IDevice device, 
                boolean fastbootEnabled)

參數
mgr IDeviceManager

device IDevice

fastbootEnabled boolean

公共方法

獲取設備狀態

public TestDeviceState getDeviceState ()

獲取設備狀態。

退貨
TestDeviceState設備的TestDeviceState

getFastbootSerialNumber

public String getFastbootSerialNumber ()

獲取 fastboot 模式序列號。

退貨
String

獲取掛載點

public String getMountPoint (String mountName)

返回掛載點。

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

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

參數
mountName String : 掛載點的名稱

退貨
String掛載點或null

投擲
DeviceNotAvailableException

獲取序列號

public String getSerialNumber ()

獲取設備的序列號。

退貨
String

isAdbTcp

public boolean isAdbTcp ()

退貨
boolean

設置默認可用超時

public void setDefaultAvailableTimeout (long timeoutMs)

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

參數
timeoutMs long

設置默認在線超時

public void setDefaultOnlineTimeout (long timeoutMs)

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

參數
timeoutMs long

setFastbootSerialNumber

public void setFastbootSerialNumber (String serial)

設置fastboot模式序列號。

參數
serial String

設置設備

public void setIDevice (IDevice newDevice)

更新當前 IDevice。

設置狀態

public void setState (TestDeviceState deviceState)

設置設備當前狀態。

等待啟動完成

public boolean waitForBootComplete (long waitTime)

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

參數
waitTime long :等待的毫秒數

退貨
boolean

等待設備可用

public IDevice waitForDeviceAvailable (long waitTime)

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

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

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

等待設備可用

public IDevice waitForDeviceAvailable ()

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

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

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

waitForDeviceAvailableInRecoverPath

public IDevice waitForDeviceAvailableInRecoverPath (long waitTime)

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

參數
waitTime long

退貨
IDevice

投擲
DeviceNotAvailableException

等待設備引導程序

public boolean waitForDeviceBootloader (long time)

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

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

退貨
boolean如果設備在時間到期之前處於引導加載程序中, true

waitForDeviceBootloaderStateUpdate

public void waitForDeviceBootloaderStateUpdate ()

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

waitForDeviceFastbootd

public boolean waitForDeviceFastbootd (String fastbootPath, 
                long time)

等待設備進入 fastbootd。

參數
fastbootPath String :要使用的 fastboot 二進製文件的路徑。

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

退貨
boolean如果設備在時間到期前處於 fastbootd, true

等待設備恢復

public IDevice waitForDeviceInRecovery ()

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

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

等待設備恢復

public boolean waitForDeviceInRecovery (long waitTime)

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

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

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

waitForDeviceInSideload

public boolean waitForDeviceInSideload (long waitTime)

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

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

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

等待設備不可用

public boolean waitForDeviceNotAvailable (long waitTime)

等待設備不可用

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

退貨
boolean如果設備不可用true

等待設備在線

public IDevice waitForDeviceOnline ()

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

注意:一旦設備通過 DDMS 可見,此方法將返回。它不保證設備實際上響應 adb 命令 - 請改用waitForDeviceAvailable()

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

等待設備在線

public IDevice waitForDeviceOnline (long waitTime)

等待設備在線。

注意:一旦設備通過 DDMS 可見,此方法將返回。它不保證設備實際上響應 adb 命令 - 請改用waitForDeviceAvailable()

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

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

等待設備外殼

public boolean waitForDeviceShell (long waitTime)

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

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

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

受保護的方法

創建輸出接收器

protected CollectingOutputReceiver createOutputReceiver ()

暴露測試

退貨
CollectingOutputReceiver CollectingOutputReceiver

getCheckPollTime

protected long getCheckPollTime ()

暴露測試

退貨
long

獲取當前時間

protected long getCurrentTime ()

暴露測試

退貨
long

獲取設備

protected IDevice getIDevice ()

退貨
IDevice IDevice與狀態監視器關聯

郵寄在線檢查

protected boolean postOnlineCheck (long waitTime)

在在線設備上進行的額外檢查

參數
waitTime long :放棄前等待的時間(以毫秒為單位)

退貨
boolean如果在 waitTime 到期之前檢查成功,則為true 。否則為false

投擲
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

等待StoreMount

protected boolean waitForStoreMount (long waitTime)

等待安裝設備的外部存儲。

參數
waitTime long :放棄前等待的時間(以毫秒為單位)

退貨
boolean如果在 waitTime 到期之前安裝了外部存儲,則為true 。否則為false

投擲
DeviceNotAvailableException