DeviceMonitor

public final class DeviceMonitor
extends Object implements ClientTracker

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


DeviceMonitor отслеживает устройства, подключенные к adb.

В одном потоке он запускает задачу DeviceListMonitorTask . Это устанавливает сокетное соединение с хостом adb и выдаёт ERROR(/DeviceListMonitorTask.ADB_TRACK_DEVICES_COMMAND) . Затем он отслеживает все изменения, связанные с подключением и состоянием устройства, на этом сокете. Если ::getClientSupport не включён, задача DeviceClientMonitorTask не запускается, и устройства не регистрируются.

В другом потоке запускается задача DeviceClientMonitorTask. Она устанавливает сокетное соединение с хостом adb для каждого зарегистрированного устройства и выдаёт ERROR(/DeviceClientMonitorTask.ADB_TRACK_JDWP_COMMAND) . В этом соединении выполняется мониторинг активных клиентов на устройстве. Примечание: один поток отслеживает jdwp-подключения со всех устройств. Различные сокетные соединения с adb (по одному на устройство) мультиплексируются через один селектор.

Краткое содержание

Вложенные классы

class DeviceMonitor.DeviceListComparisonResult

Публичные конструкторы

DeviceMonitor ( AndroidDebugBridge server)

Создает новый объект DeviceMonitor и связывает его с работающим объектом AndroidDebugBridge .

Публичные методы

int getConnectionAttemptCount ()
IDevice[] getDevices ()

Возвращает устройства.

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

Возвращает, подключен ли в данный момент монитор к серверу отладочного моста.

void start ()

Начинает мониторинг.

void stop ()

Останавливает мониторинг.

void trackClientToDropAndReopen ( ClientImpl client)

Обратный вызов, указывающий на то, что клиент был отключен, но следует предпринять попытку повторного открытия соединения с клиентом.

void trackDeviceToDropAndReopen ( DeviceImpl device)

Обратный вызов, указывающий на то, что устройство было сброшено.

void trackDisconnectedClient ( ClientImpl client)

Обратный вызов при отключении клиента.

Публичные конструкторы

DeviceMonitor

public DeviceMonitor (AndroidDebugBridge server)

Создает новый объект DeviceMonitor и связывает его с работающим объектом AndroidDebugBridge .

Параметры
server AndroidDebugBridge : работающий AndroidDebugBridge .

Публичные методы

getConnectionAttemptCount

public int getConnectionAttemptCount ()

Возврат
int

получитьДевайсы

public IDevice[] getDevices ()

Возвращает устройства.

Возврат
IDevice[]

getRestartAttemptCount

public int getRestartAttemptCount ()

Возврат
int

hasInitialDeviceList

public boolean hasInitialDeviceList ()

Возврат
boolean

isMonitoring

public boolean isMonitoring ()

Возвращает, подключен ли в данный момент монитор к серверу отладочного моста.

Возврат
boolean

начинать

public void start ()

Начинает мониторинг.

останавливаться

public void stop ()

Останавливает мониторинг.

trackClientToDropAndReopen

public void trackClientToDropAndReopen (ClientImpl client)

Обратный вызов, указывающий на то, что клиент был отключен, но следует предпринять попытку повторного открытия соединения с клиентом.

Параметры
client ClientImpl : это было исключено.

trackDeviceToDropAndReopen

public void trackDeviceToDropAndReopen (DeviceImpl device)

Обратный вызов, указывающий на отключение устройства. Необходимо попытаться повторно открыть соединение с устройством и установить соединение с любым из клиентов, работающих на этом устройстве.

Параметры
device DeviceImpl : это было отброшено.

trackDisconnectedClient

public void trackDisconnectedClient (ClientImpl client)

Обратный вызов при отключении клиента. Этот обратный вызов предназначен для уведомления всех потоков, имеющих регистрацию на клиентском сокете, о необходимости её освобождения.

Параметры
client ClientImpl : это было удалено