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 |
|
Ö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 |
|
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 |