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: the running AndroidDebugBridge.

सार्वजनिक तरीके

getConnectionAttemptCount

public int getConnectionAttemptCount ()

रिटर्न
int

getDevices

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: जिसे हटा दिया गया है