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
以毫秒為單位的「poll for responsiveness」指令最大作業時間 |
欄位 | |
---|---|
protected
static
final
String |
PERM_DENIED_ERROR_PATTERN
|
公用建構函式 | |
---|---|
NativeDeviceStateMonitor(IDeviceManager mgr, IDevice device, boolean fastbootEnabled)
|
公用方法 | |
---|---|
void
|
attachFinalState(TestDeviceState finalState)
附加最終狀態,以便在達到該狀態時終止 waitForDeviceState。 |
TestDeviceState
|
getDeviceState()
取得裝置狀態。 |
String
|
getFastbootSerialNumber()
取得 Fastboot 模式序號。 |
String
|
getMountPoint(String mountName)
傳回掛接點。 |
String
|
getSerialNumber()
取得裝置的序號。 |
boolean
|
isAdbTcp()
|
void
|
setDefaultAvailableTimeout(long timeoutMs)
設定要透過 |
void
|
setDefaultOnlineTimeout(long timeoutMs)
設定裝置透過 |
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)
|
boolean
|
waitForDeviceBootloader(long time)
等待裝置進入 Bootloader。 |
void
|
waitForDeviceBootloaderStateUpdate()
等待裝置系統啟動載入程式狀態更新 |
boolean
|
waitForDeviceFastbootd(String fastbootPath, long time)
等待裝置進入快速啟動模式。 |
IDevice
|
waitForDeviceInRecovery()
利用標準開機逾時,等待裝置處於復原模式。 |
boolean
|
waitForDeviceInRecovery(long waitTime)
等待裝置處於「ADB 復原」狀態 |
boolean
|
waitForDeviceInSideload(long waitTime)
等待裝置進入「ADB 側載」狀態 |
boolean
|
waitForDeviceNotAvailable(long waitTime)
等待裝置無法使用 |
IDevice
|
waitForDeviceOnline()
使用標準啟動逾時值,等待裝置上線。 |
IDevice
|
waitForDeviceOnline(long waitTime)
等待裝置連上網路。 |
boolean
|
waitForDeviceShell(long waitTime)
等待裝置回應基本 ADB 殼層指令。 |
受保護的方法 | |
---|---|
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
常數值: 3000 (0x0000000000000bb8)
MAX_OP_TIME
protected static final int MAX_OP_TIME
「poll for responsiveness」指令的最大運算時間 (毫秒)
常數值: 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 |
公用方法
attachFinalState
public void attachFinalState (TestDeviceState finalState)
如果達到此狀態,請將最終狀態附加至 abort waitForDeviceState。
參數 | |
---|---|
finalState |
TestDeviceState |
getDeviceState
public TestDeviceState getDeviceState ()
取得裝置狀態。
傳回 | |
---|---|
TestDeviceState |
裝置的 TestDeviceState |
getFastbootSerialNumber
public String getFastbootSerialNumber ()
取得快速啟動模式序號。
傳回 | |
---|---|
String |
getMountPoint
public String getMountPoint (String mountName)
傳回掛接點。
如果 IDevice
中的快取資訊無法使用,則直接查詢裝置。
TODO:將此行為移至 IDevice#getMountPoint(String)
參數 | |
---|---|
mountName |
String :掛接點名稱 |
傳回 | |
---|---|
String |
掛接點或 null |
擲回 | |
---|---|
DeviceNotAvailableException |
getSerialNumber
public String getSerialNumber ()
取得裝置的序號。
傳回 | |
---|---|
String |
isAdbTcp
public boolean isAdbTcp ()
傳回 | |
---|---|
boolean |
setDefaultAvailableTimeout
public void setDefaultAvailableTimeout (long timeoutMs)
設定等待裝置可用所需的時間 (以毫秒為單位)。waitForDeviceAvailable()
參數 | |
---|---|
timeoutMs |
long |
setDefaultOnlineTimeout
public void setDefaultOnlineTimeout (long timeoutMs)
設定裝置在「waitForDeviceOnline()
」連上網路所需的時間 (毫秒)。
參數 | |
---|---|
timeoutMs |
long |
setFastbootSerialNumber
public void setFastbootSerialNumber (String serial)
設定快速啟動模式序號。
參數 | |
---|---|
serial |
String |
setIDevice
public void setIDevice (IDevice newDevice)
更新目前的 IDevice。
waitForBootComplete
public boolean waitForBootComplete (long waitTime)
阻斷,直到裝置的啟動完成標記設定為止
參數 | |
---|---|
waitTime |
long :等待時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
waitForDeviceAvailable
public IDevice waitForDeviceAvailable (long waitTime)
等待裝置回應並可供測試。目前可以使用套件管理員和外部儲存空間。
參數 | |
---|---|
waitTime |
long :等待時間 (以毫秒為單位) |
傳回 | |
---|---|
IDevice |
如果裝置在時間到期前連上網路,系統會 IDevice 。否則為 null 。 |
waitForDeviceAvailable
public IDevice waitForDeviceAvailable ()
等待裝置回應並可供測試。
等同於 waitForDeviceAvailable(long)
,但會使用預設的裝置啟動逾時時間。
傳回 | |
---|---|
IDevice |
如果裝置在時間到期前連上網路,系統會 IDevice 。否則為 null 。 |
waitForDeviceAvailableInRecoverPath
public IDevice waitForDeviceAvailableInRecoverPath (long waitTime)
waitForDeviceAvailable(long)
的特殊變化版本,可在復原路徑中呼叫,以便針對處理方式進行調整。
參數 | |
---|---|
waitTime |
long |
傳回 | |
---|---|
IDevice |
擲回 | |
---|---|
DeviceNotAvailableException |
waitForDeviceBootloader
public boolean waitForDeviceBootloader (long time)
等待裝置進入系統啟動載入程式。
參數 | |
---|---|
time |
long :等待的最大時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
true 如果裝置在時間到期前處於系統啟動載入程式狀態 |
waitForDeviceBootloaderStateUpdate
public void waitForDeviceBootloaderStateUpdate ()
等待裝置的系統啟動載入程式狀態更新
waitForDeviceFastbootd
public boolean waitForDeviceFastbootd (String fastbootPath, long time)
等待裝置進入快速系統啟動模式。
參數 | |
---|---|
fastbootPath |
String :Fastboot 二進位檔的路徑。 |
time |
long :等待的最大時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
true 如果裝置在時間到期前處於快速啟動狀態 |
waitForDeviceInRecovery
public IDevice waitForDeviceInRecovery ()
使用標準啟動逾時值,等待裝置進入 Recovery 模式。
傳回 | |
---|---|
IDevice |
如果裝置在時間到期前恢復,則會傳送 IDevice 。否則為 null 。 |
waitForDeviceInRecovery
public boolean waitForDeviceInRecovery (long waitTime)
等待裝置進入「adb recovery」狀態
參數 | |
---|---|
waitTime |
long :等待的最大時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
如果裝置在逾時前處於復原狀態,則傳回「是」;否則傳回「否」。 |
waitForDeviceInSideload
public boolean waitForDeviceInSideload (long waitTime)
等待裝置進入「adb sideload」狀態
參數 | |
---|---|
waitTime |
long :等待的最大時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
如果裝置在逾時前處於側載狀態,則傳回「是」;否則傳回「否」。 |
waitForDeviceNotAvailable
public boolean waitForDeviceNotAvailable (long waitTime)
等待裝置無法使用
參數 | |
---|---|
waitTime |
long :等待的最大時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
true 如果裝置無法使用 |
waitForDeviceOnline
public IDevice waitForDeviceOnline ()
使用標準開機逾時,等待裝置連上網路。
注意:裝置透過 DDMS 顯示後,這個方法就會傳回。但這並不保證裝置實際上會回應 ADB 指令 - 請改用 waitForDeviceAvailable()
。
傳回 | |
---|---|
IDevice |
如果裝置在時間到期前連上網路,系統會 IDevice 。否則為 null 。 |
waitForDeviceOnline
public IDevice waitForDeviceOnline (long waitTime)
等待裝置連上網路。
注意:當裝置可透過 DDMS 觀看時,這個方法就會傳回結果。但這並不保證裝置實際上會回應 ADB 指令 - 請改用 waitForDeviceAvailable()
。
參數 | |
---|---|
waitTime |
long :等待的最大時間 (以毫秒為單位) |
傳回 | |
---|---|
IDevice |
如果裝置在時間到期前連上網路,系統會 IDevice 。否則為 null 。 |
waitForDeviceShell
public boolean waitForDeviceShell (long waitTime)
等待裝置回應基本 ADB 殼層指令。
參數 | |
---|---|
waitTime |
long :等待時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
如果裝置在 waitTime 到期前開始回應,則為 true 。 |
保護方法
createOutputReceiver
protected CollectingOutputReceiver createOutputReceiver ()
已公開供測試
傳回 | |
---|---|
CollectingOutputReceiver |
CollectingOutputReceiver |
getCheckPollTime
protected long getCheckPollTime ()
已公開供測試
傳回 | |
---|---|
long |
getCurrentTime
protected long getCurrentTime ()
公開測試
傳回 | |
---|---|
long |
postOnlineCheck
protected boolean postOnlineCheck (long waitTime)
可對線上裝置進行的額外檢查
參數 | |
---|---|
waitTime |
long :等待放棄前等待的時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
true 如果檢查在 waitTime 到期前成功,其他情況則為 false
|
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
waitForStoreMount
protected boolean waitForStoreMount (long waitTime)
等待裝置的外部儲存空間掛接。
參數 | |
---|---|
waitTime |
long :等待放棄前等待的時間 (以毫秒為單位) |
傳回 | |
---|---|
boolean |
true 如果外部商店在 waitTime 到期前掛載,另有 false
|
擲回 | |
---|---|
DeviceNotAvailableException |