WaitDeviceRecovery

public class WaitDeviceRecovery
extends Object implements IDeviceRecovery

java.lang.Object
   ↳ com.android.tradefed.device.WaitDeviceRecovery


簡單的 IDeviceRecovery 實作,可等待裝置上線並回應簡單指令。

摘要

常數

int BOOTLOADER_POLL_ATTEMPTS

檢查裝置是否處於開機載入程式的嘗試次數。

long INITIAL_PAUSE_TIME

開始嘗試復原前等待的時間 (以毫秒為單位)

欄位

protected long mBootloaderWaitTime

protected boolean mDisableUnresponsiveReboot

protected boolean mDisableUsbReset

protected long mFastbootWaitTime

protected long mOnlineWaitTime

protected int mRequiredMinBattery

protected long mShellWaitTime

protected long mWaitTime

公用建構函式

WaitDeviceRecovery()

公用方法

void recoverDevice(IDeviceStateMonitor monitor, boolean recoverUntilOnline)

嘗試復原無法再通訊的指定裝置。

void recoverDeviceBootloader(IDeviceStateMonitor monitor)

嘗試在系統啟動載入程式模式下,復原指定無法回應的裝置。

void recoverDeviceFastbootd(IDeviceStateMonitor monitor)

嘗試在 fastbootd 模式下復原指定無法回應的裝置。

void recoverDeviceRecovery(IDeviceStateMonitor monitor)

嘗試在復原模式下復原指定裝置。

void setFastbootPath(String fastbootPath)

設定要使用的 fastboot 二進位檔路徑。

受保護的方法

void checkMinBatteryLevel(IDevice device)

Checks if device battery level meets min requirement

IRunUtil getRunUtil()

取得要使用的 RunUtil 執行個體。

void handleDeviceNotAvailable(IDeviceStateMonitor monitor, boolean recoverTillOnline)

處理裝置無法使用的情況。

void handleDeviceUnresponsive(IDevice device, IDeviceStateMonitor monitor)

處理裝置連線但沒有回應的情況。

常數

BOOTLOADER_POLL_ATTEMPTS

public static final int BOOTLOADER_POLL_ATTEMPTS

檢查裝置是否處於開機載入程式的嘗試次數。

公開以進行單元測試

常數值: 3 (0x00000003)

INITIAL_PAUSE_TIME

protected static final long INITIAL_PAUSE_TIME

開始嘗試復原前等待的時間 (以毫秒為單位)

常數值: 5000 (0x0000000000001388)

欄位

mBootloaderWaitTime

protected long mBootloaderWaitTime

mDisableUnresponsiveReboot

protected boolean mDisableUnresponsiveReboot

mDisableUsbReset

protected boolean mDisableUsbReset

mFastbootWaitTime

protected long mFastbootWaitTime

mOnlineWaitTime

protected long mOnlineWaitTime

mRequiredMinBattery

protected int mRequiredMinBattery

mShellWaitTime

protected long mShellWaitTime

mWaitTime

protected long mWaitTime

公用建構函式

WaitDeviceRecovery

public WaitDeviceRecovery ()

公用方法

recoverDevice

public void recoverDevice (IDeviceStateMonitor monitor, 
                boolean recoverUntilOnline)

嘗試復原無法再通訊的指定裝置。

方法應會封鎖,且僅在裝置處於要求狀態時傳回。

參數
monitor IDeviceStateMonitor:要使用的 IDeviceStateMonitor

recoverUntilOnline boolean:如果為 true,方法應在裝置於 ADB 上線後立即傳回。如果為 false,方法應會封鎖,直到裝置完全可供測試 (即 IDeviceStateMonitor.waitForDeviceAvailable() 成功為止)。

擲回
DeviceNotAvailableException

recoverDeviceBootloader

public void recoverDeviceBootloader (IDeviceStateMonitor monitor)

嘗試在系統啟動載入程式模式下,復原指定無法回應的裝置。

參數
monitor IDeviceStateMonitor:要使用的 IDeviceStateMonitor

擲回
DeviceNotAvailableException

recoverDeviceFastbootd

public void recoverDeviceFastbootd (IDeviceStateMonitor monitor)

嘗試在 fastbootd 模式下復原無法回應的裝置。

參數
monitor IDeviceStateMonitor:要使用的 IDeviceStateMonitor

擲回
DeviceNotAvailableException

recoverDeviceRecovery

public void recoverDeviceRecovery (IDeviceStateMonitor monitor)

嘗試以復原模式復原無法回應的裝置。

參數
monitor IDeviceStateMonitor:要使用的 IDeviceStateMonitor

擲回
DeviceNotAvailableException

setFastbootPath

public void setFastbootPath (String fastbootPath)

設定要使用的 fastboot 二進位檔路徑。

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

受保護的方法

checkMinBatteryLevel

protected void checkMinBatteryLevel (IDevice device)

檢查裝置電池電量是否符合最低需求

擲回
DeviceNotAvailableException 如果無法讀取電池電量或電量低於下限

getRunUtil

protected IRunUtil getRunUtil ()

取得要使用的 RunUtil 執行個體。

公開以進行單元測試。

傳回
IRunUtil

handleDeviceNotAvailable

protected void handleDeviceNotAvailable (IDeviceStateMonitor monitor, 
                boolean recoverTillOnline)

處理裝置無法使用的情況。

參數
monitor IDeviceStateMonitorIDeviceStateMonitor

recoverTillOnline boolean:如果為 true,這個方法應會傳回裝置是否處於連線狀態,而非檢查回應能力

擲回
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

handleDeviceUnresponsive

protected void handleDeviceUnresponsive (IDevice device, 
                IDeviceStateMonitor monitor)

處理裝置連線但沒有回應的情況。

參數
device IDevice

擲回
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException