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 (1 รายการต่ออุปกรณ์) จะได้รับการมัลติเพล็กซ์ผ่านตัวเลือกเดียว
สรุป
คลาสเรียนที่ซ้อนกัน | |
|---|---|
class |
DeviceMonitor.DeviceListComparisonResult
|
เครื่องมือสร้างสาธารณะ | |
|---|---|
DeviceMonitor(AndroidDebugBridge server)
สร้างออบเจ็กต์ |
|
เมธอดสาธารณะ | |
|---|---|
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 |
|
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: ที่ถูกหยุดให้บริการ |