DeviceMonitor

public final class DeviceMonitor
extends Object implements ClientTracker

java.lang.Object
   ↳ com.android.tradefed.device.server.DeviceMonitor


Der DeviceMonitor überwacht Geräte, die an ADB angeschlossen sind.

In einem Thread wird die DeviceListMonitorTask ausgeführt. Dadurch wird eine Socket-Verbindung zum ADB-Host hergestellt und ein ERROR(/DeviceListMonitorTask.ADB_TRACK_DEVICES_COMMAND) ausgegeben. Anschließend wird dieser Socket auf alle Änderungen in Bezug auf die Geräteverbindung und den Gerätestatus überwacht. Wenn ::getClientSupport nicht aktiviert ist, wird „DeviceClientMonitorTask“ nicht ausgeführt und Geräte werden nicht registriert.

In einem anderen Thread wird die DeviceClientMonitorTask ausgeführt. Dadurch wird eine Socket-Verbindung zum ADB-Host für jedes registrierte Gerät hergestellt und ein ERROR(/DeviceClientMonitorTask.ADB_TRACK_JDWP_COMMAND) ausgegeben. Über diese Verbindung werden aktive Clients auf dem Gerät überwacht. Hinweis: Ein einzelner Thread überwacht JDWP-Verbindungen von allen Geräten. Die verschiedenen Socket-Verbindungen zu adb (eine pro Gerät) werden über einen einzelnen Selektor gemultiplext.

Zusammenfassung

Verschachtelte Klassen

class DeviceMonitor.DeviceListComparisonResult

 

Öffentliche Konstruktoren

DeviceMonitor(AndroidDebugBridge server)

Erstellt ein neues DeviceMonitor-Objekt und verknüpft es mit dem aktiven AndroidDebugBridge-Objekt.

Öffentliche Methoden

int getConnectionAttemptCount()
IDevice[] getDevices()

Gibt die Geräte zurück.

int getRestartAttemptCount()
boolean hasInitialDeviceList()
boolean isMonitoring()

Gibt zurück, ob der Monitor derzeit mit dem Debug-Bridge-Server verbunden ist.

void start()

Startet das Monitoring.

void stop()

Beendet die Überwachung.

void trackClientToDropAndReopen(ClientImpl client)

Callback, der angibt, dass ein Client getrennt wurde, aber versucht werden sollte, die Verbindung mit dem Client wieder zu öffnen.

void trackDeviceToDropAndReopen(DeviceImpl device)

Callback, der angibt, dass ein Gerät fallen gelassen wurde.

void trackDisconnectedClient(ClientImpl client)

Callback, wenn ein Client getrennt wird.

Öffentliche Konstruktoren

DeviceMonitor

public DeviceMonitor (AndroidDebugBridge server)

Erstellt ein neues DeviceMonitor-Objekt und verknüpft es mit dem aktiven AndroidDebugBridge-Objekt.

Parameter
server AndroidDebugBridge: die laufende AndroidDebugBridge.

Öffentliche Methoden

getConnectionAttemptCount

public int getConnectionAttemptCount ()

Returns
int

getDevices

public IDevice[] getDevices ()

Gibt die Geräte zurück.

Returns
IDevice[]

getRestartAttemptCount

public int getRestartAttemptCount ()

Returns
int

hasInitialDeviceList

public boolean hasInitialDeviceList ()

Returns
boolean

isMonitoring

public boolean isMonitoring ()

Gibt zurück, ob der Monitor derzeit mit dem Debug-Bridge-Server verbunden ist.

Returns
boolean

start

public void start ()

Startet das Monitoring.

Stopp

public void stop ()

Beendet die Überwachung.

trackClientToDropAndReopen

public void trackClientToDropAndReopen (ClientImpl client)

Callback, der angibt, dass ein Client getrennt wurde, aber versucht werden sollte, die Verbindung mit dem Client wieder zu öffnen.

Parameter
client ClientImpl: die fallen gelassen wurde.

trackDeviceToDropAndReopen

public void trackDeviceToDropAndReopen (DeviceImpl device)

Callback, der angibt, dass ein Gerät fallen gelassen wurde. Es sollte versucht werden, die Verbindung mit dem Gerät wiederherzustellen und die Verbindung mit allen Clients, die auf diesem Gerät ausgeführt werden, wiederherzustellen.

Parameter
device DeviceImpl: die fallen gelassen wurde.

trackDisconnectedClient

public void trackDisconnectedClient (ClientImpl client)

Callback, wenn ein Client getrennt wird. Mit diesem Callback werden alle Threads benachrichtigt, die eine Registrierung für den Socket eines Clients enthalten, damit sie diese freigeben.

Parameter
client ClientImpl: wurde eingestellt