NativeDeviceStateMonitor

public class NativeDeviceStateMonitor
extends Object implements IDeviceStateMonitor

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


Helper-Klasse zum Überwachen des Status eines IDevice ohne Framework-Unterstützung.

Zusammenfassung

Konstanten

long MAX_CHECK_POLL_TIME

int MAX_OP_TIME

Die maximale Betriebszeit in Millisekunden für den Befehl „Auf Reaktionsfähigkeit prüfen“

String PERM_DENIED_ERROR_PATTERN

Öffentliche Konstruktoren

NativeDeviceStateMonitor(IDeviceManager mgr, IDevice device, boolean fastbootEnabled)

Öffentliche Methoden

void attachFinalState(TestDeviceState finalState)

Hängen Sie einen Endstatus an, um „waitForDeviceState“ abzubrechen, wenn er erreicht wird.

void clearTcpFastbootMonitor()

Löschen Sie alle Status im Geräte-Manager.

TestDeviceState getDeviceState()

Ruft den Gerätestatus ab.

String getFastbootSerialNumber()

Ruft die Seriennummer im Fastboot-Modus ab.

String getMountPoint(String mountName)

Gibt einen Bereitstellungspunkt zurück.

String getSerialNumber()

Ruft die Seriennummer des Geräts ab.

boolean isAdbTcp()

void setDefaultAvailableTimeout(long timeoutMs)

Legt die Wartezeit in Millisekunden fest, bis ein Gerät in waitForDeviceAvailable() verfügbar ist.

void setDefaultOnlineTimeout(long timeoutMs)

Legt die Wartezeit in Millisekunden fest, bis ein Gerät in waitForDeviceOnline() online ist.

void setFastbootSerialNumber(String serial)

Legen Sie die Seriennummer für den Schnellstartmodus fest.

void setIDevice(IDevice newDevice)

Aktualisiert das aktuelle iDevice.

void setSkipBootComplete(boolean skipBootComplete)
void setState(TestDeviceState deviceState)

Legt den aktuellen Status des Geräts fest.

boolean waitForBootComplete(long waitTime)

Blockiert, bis das Boot-Complete-Flag des Geräts gesetzt ist

IDevice waitForDeviceAvailable(long waitTime)

Wartet, bis das Gerät reagiert und für Tests verfügbar ist.

IDevice waitForDeviceAvailable()

Wartet, bis das Gerät reagiert und für Tests verfügbar ist.

IDevice waitForDeviceAvailableInRecoverPath(long waitTime)

Spezielle Variante von waitForDeviceAvailable(long), die während des Wiederherstellungspfads aufgerufen wird, um die Verarbeitung anzupassen.

boolean waitForDeviceBootloader(long time)

Wartet, bis sich das Gerät im Bootloader befindet.

void waitForDeviceBootloaderStateUpdate()

Wartet, bis der Bootloader-Status des Geräts aktualisiert wurde

boolean waitForDeviceFastbootd(String fastbootPath, long time)

Wartet, bis sich das Gerät in fastbootd befindet.

IDevice waitForDeviceInRecovery()

Wartet, bis sich das Gerät im Wiederherstellungsmodus befindet. Dabei wird das standardmäßige Boot-Zeitlimit verwendet.

boolean waitForDeviceInRecovery(long waitTime)

Wartet, bis sich das Gerät im Status „adb recovery“ befindet.

boolean waitForDeviceInSideload(long waitTime)

Wartet, bis sich das Gerät im Status „adb sideload“ befindet

boolean waitForDeviceNotAvailable(long waitTime)

Warten, bis das Gerät nicht verfügbar ist

IDevice waitForDeviceOnline()

Wartet, bis das Gerät online ist, wobei das Standard-Boot-Zeitlimit verwendet wird.

IDevice waitForDeviceOnline(long waitTime)

Wartet, bis das Gerät online ist.

boolean waitForDeviceShell(long waitTime)

Wartet, bis das Gerät auf einen einfachen ADB-Shell-Befehl reagiert.

Geschützte Methoden

CollectingOutputReceiver createOutputReceiver()

Für Tests verfügbar gemacht

long getCheckPollTime()

Für Tests verfügbar gemacht

long getCurrentTime()

Für Tests verfügbar gemacht

IDevice getIDevice()
boolean postOnlineCheck(long waitTime)

Zusätzliche Prüfungen, die auf einem Onlinegerät durchgeführt werden müssen

boolean waitForStoreMount(long waitTime)

Wartet, bis der externe Speicher des Geräts eingebunden ist.

Konstanten

MAX_CHECK_POLL_TIME

protected static final long MAX_CHECK_POLL_TIME

Konstanter Wert: 3000 (0x0000000000000bb8)

MAX_OP_TIME

protected static final int MAX_OP_TIME

Die maximale Betriebszeit in Millisekunden für den Befehl „Auf Reaktionsfähigkeit prüfen“

Konstanter Wert: 10000 (0x00002710)

PERM_DENIED_ERROR_PATTERN

protected static final String PERM_DENIED_ERROR_PATTERN

Konstanter Wert: „Permission denied“ (Berechtigung verweigert)

Öffentliche Konstruktoren

NativeDeviceStateMonitor

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

Parameter
mgr IDeviceManager

device IDevice

fastbootEnabled boolean

Öffentliche Methoden

attachFinalState

public void attachFinalState (TestDeviceState finalState)

Hängen Sie einen Endstatus an, um „waitForDeviceState“ abzubrechen, wenn er erreicht wird.

Parameter
finalState TestDeviceState

clearTcpFastbootMonitor

public void clearTcpFastbootMonitor ()

Löschen Sie alle Status im Geräte-Manager.

getDeviceState

public TestDeviceState getDeviceState ()

Ruft den Gerätestatus ab.

Returns
TestDeviceState die TestDeviceState des Geräts

getFastbootSerialNumber

public String getFastbootSerialNumber ()

Ruft die Seriennummer im Fastboot-Modus ab.

Returns
String

getMountPoint

public String getMountPoint (String mountName)

Gibt einen Bereitstellungspunkt zurück.

Fragt das Gerät direkt ab, wenn die im Cache gespeicherten Informationen in IDevice nicht verfügbar sind.

TODO: Dieses Verhalten zu IDevice.getMountPoint(String) verschieben

Parameter
mountName String: der Name des Bereitstellungspunkts

Returns
String den Bereitstellungspunkt oder null

Ausgabe
DeviceNotAvailableException

getSerialNumber

public String getSerialNumber ()

Ruft die Seriennummer des Geräts ab.

Returns
String

isAdbTcp

public boolean isAdbTcp ()

Returns
boolean

setDefaultAvailableTimeout

public void setDefaultAvailableTimeout (long timeoutMs)

Legt die Wartezeit in Millisekunden fest, bis ein Gerät in waitForDeviceAvailable() verfügbar ist.

Parameter
timeoutMs long

setDefaultOnlineTimeout

public void setDefaultOnlineTimeout (long timeoutMs)

Legt die Wartezeit in Millisekunden fest, bis ein Gerät in waitForDeviceOnline() online ist.

Parameter
timeoutMs long

setFastbootSerialNumber

public void setFastbootSerialNumber (String serial)

Legen Sie die Seriennummer für den Schnellstartmodus fest.

Parameter
serial String

setIDevice

public void setIDevice (IDevice newDevice)

Aktualisiert das aktuelle iDevice.

setSkipBootComplete

public void setSkipBootComplete (boolean skipBootComplete)

Parameter
skipBootComplete boolean

setState

public void setState (TestDeviceState deviceState)

Legt den aktuellen Status des Geräts fest.

waitForBootComplete

public boolean waitForBootComplete (long waitTime)

Blockiert, bis das Boot-Complete-Flag des Geräts gesetzt ist

Parameter
waitTime long: die Anzahl der Millisekunden, die gewartet werden soll.

Returns
boolean

waitForDeviceAvailable

public IDevice waitForDeviceAvailable (long waitTime)

Wartet, bis das Gerät reagiert und für Tests verfügbar ist. Derzeit bedeutet das, dass der Paketmanager und der externe Speicher verfügbar sind.

Parameter
waitTime long: die Wartezeit in Millisekunden

Returns
IDevice IDevice, wenn das Gerät vor Ablauf der Zeit online geht. Andernfalls null.

waitForDeviceAvailable

public IDevice waitForDeviceAvailable ()

Wartet, bis das Gerät reagiert und für Tests verfügbar ist.

Entspricht waitForDeviceAvailable(long), verwendet aber das standardmäßige Zeitlimit für den Geräte-Bootvorgang.

Returns
IDevice IDevice, wenn das Gerät vor Ablauf der Zeit online geht. Andernfalls null.

waitForDeviceAvailableInRecoverPath

public IDevice waitForDeviceAvailableInRecoverPath (long waitTime)

Spezielle Variante von waitForDeviceAvailable(long), die während des Wiederherstellungspfads aufgerufen wird, um die Verarbeitung anzupassen.

Parameter
waitTime long

Returns
IDevice

Ausgabe
DeviceNotAvailableException

waitForDeviceBootloader

public boolean waitForDeviceBootloader (long time)

Wartet, bis sich das Gerät im Bootloader befindet.

Parameter
time long: die maximale Wartezeit in Millisekunden

Returns
boolean true, wenn sich das Gerät vor Ablauf der Zeit im Bootloader befindet

waitForDeviceBootloaderStateUpdate

public void waitForDeviceBootloaderStateUpdate ()

Wartet, bis der Bootloader-Status des Geräts aktualisiert wurde

waitForDeviceFastbootd

public boolean waitForDeviceFastbootd (String fastbootPath, 
                long time)

Wartet, bis sich das Gerät in fastbootd befindet.

Parameter
fastbootPath String: Der Pfad der zu verwendenden Fastboot-Binärdatei.

time long: die maximale Wartezeit in Millisekunden

Returns
boolean true, wenn sich das Gerät vor Ablauf der Zeit im Fastbootd-Modus befindet

waitForDeviceInRecovery

public IDevice waitForDeviceInRecovery ()

Wartet, bis sich das Gerät im Wiederherstellungsmodus befindet. Dabei wird das standardmäßige Boot-Zeitlimit verwendet.

Returns
IDevice IDevice, wenn das Gerät vor Ablauf der Frist wiederhergestellt wird. Andernfalls null.

waitForDeviceInRecovery

public boolean waitForDeviceInRecovery (long waitTime)

Wartet, bis sich das Gerät im Status „adb recovery“ befindet.

Parameter
waitTime long: die maximale Wartezeit in Millisekunden

Returns
boolean „True“, wenn sich das Gerät vor dem Zeitlimit im Wiederherstellungsmodus befindet, andernfalls „False“.

waitForDeviceInSideload

public boolean waitForDeviceInSideload (long waitTime)

Wartet, bis sich das Gerät im Status „adb sideload“ befindet

Parameter
waitTime long: die maximale Wartezeit in Millisekunden

Returns
boolean „True“, wenn das Gerät vor dem Zeitlimit im Sideload-Modus ist, andernfalls „False“.

waitForDeviceNotAvailable

public boolean waitForDeviceNotAvailable (long waitTime)

Wartet, bis das Gerät nicht verfügbar ist

Parameter
waitTime long: die maximale Wartezeit in Millisekunden

Returns
boolean true, wenn das Gerät nicht mehr verfügbar ist

waitForDeviceOnline

public IDevice waitForDeviceOnline ()

Wartet, bis das Gerät online ist, wobei das Standard-Boot-Zeitlimit verwendet wird.

Hinweis: Diese Methode wird zurückgegeben, sobald das Gerät über DDMS sichtbar ist. Es wird nicht garantiert, dass das Gerät tatsächlich auf ADB-Befehle reagiert. Verwenden Sie stattdessen waitForDeviceAvailable().

Returns
IDevice IDevice, wenn das Gerät vor Ablauf der Zeit online geht. Andernfalls null.

waitForDeviceOnline

public IDevice waitForDeviceOnline (long waitTime)

Wartet, bis das Gerät online ist.

Hinweis: Diese Methode wird zurückgegeben, sobald das Gerät über DDMS sichtbar ist. Es wird nicht garantiert, dass das Gerät tatsächlich auf ADB-Befehle reagiert. Verwenden Sie stattdessen waitForDeviceAvailable().

Parameter
waitTime long: die maximale Wartezeit in Millisekunden

Returns
IDevice IDevice, wenn das Gerät vor Ablauf der Zeit online geht. Andernfalls null.

waitForDeviceShell

public boolean waitForDeviceShell (long waitTime)

Wartet, bis das Gerät auf einen einfachen ADB-Shell-Befehl reagiert.

Parameter
waitTime long: die Wartezeit in Millisekunden

Returns
boolean true, wenn das Gerät reagiert, bevor waitTime abgelaufen ist.

Geschützte Methoden

createOutputReceiver

protected CollectingOutputReceiver createOutputReceiver ()

Für Tests verfügbar gemacht

Returns
CollectingOutputReceiver CollectingOutputReceiver

getCheckPollTime

protected long getCheckPollTime ()

Für Tests verfügbar gemacht

Returns
long

getCurrentTime

protected long getCurrentTime ()

Für Tests verfügbar gemacht

Returns
long

getIDevice

protected IDevice getIDevice ()

Returns
IDevice IDevice mit dem Statusmonitor verknüpfen

postOnlineCheck

protected boolean postOnlineCheck (long waitTime)

Zusätzliche Prüfungen, die auf einem Onlinegerät durchgeführt werden müssen

Parameter
waitTime long: Zeit in Millisekunden, die gewartet werden soll, bevor aufgegeben wird

Returns
boolean true, wenn die Prüfungen erfolgreich sind, bevor „waitTime“ abläuft. Andernfalls false

Ausgabe
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

waitForStoreMount

protected boolean waitForStoreMount (long waitTime)

Wartet, bis der externe Speicher des Geräts eingebunden ist.

Parameter
waitTime long: Zeit in Millisekunden, die gewartet werden soll, bevor aufgegeben wird

Returns
boolean true, wenn das externe Speichermedium vor Ablauf von „waitTime“ eingebunden wird. Andernfalls false

Ausgabe
DeviceNotAvailableException