Skip to content

Commit cadcc6d

Browse files
author
Sergey Chelombitko
committed
Avoid duplicate DeviceConnected events
1 parent e9e7cc1 commit cadcc6d

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

vendor/vendor-android/ddmlib/src/main/kotlin/com/malinskiy/marathon/android/ddmlib/DdmlibDeviceProvider.kt

+7-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,13 @@ class DdmlibDeviceProvider(
6666
AndroidDebugBridge.addDeviceChangeListener(this)
6767

6868
logger.debug("Creating ADB bridge")
69+
70+
val oldAdb = AndroidDebugBridge.getBridge()
6971
val adb = AndroidDebugBridge.createBridge(vendorConfiguration.adbPath.absolutePath, false, ADB_INIT_TIMEOUT.toMillis(), TimeUnit.MILLISECONDS)
72+
val newAdbCreated = adb !== oldAdb
73+
if (!newAdbCreated) {
74+
logger.debug("Reusing existing ADB bridge")
75+
}
7076

7177
var getDevicesCountdown = config.noDevicesTimeoutMillis
7278
val sleepTime = DEFAULT_DDM_LIB_SLEEP_TIME
@@ -83,7 +89,7 @@ class DdmlibDeviceProvider(
8389

8490
logger.debug("Finished waiting for a device")
8591

86-
if (adb.devices.isNotEmpty()) {
92+
if (!newAdbCreated && adb.devices.isNotEmpty()) {
8793
logger.debug("Initial connected devices: {}", adb.devices.joinToString(", "))
8894
adb.devices.forEach {
8995
deviceConnected(it)

0 commit comments

Comments
 (0)