Skip to content

Commit 286a051

Browse files
author
Sergey Chelombitko
committed
Remove duplicate waiting for a device logic
1 parent c958f8a commit 286a051

File tree

2 files changed

+3
-32
lines changed

2 files changed

+3
-32
lines changed

core/src/main/kotlin/com/malinskiy/marathon/execution/Scheduler.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,10 @@ class Scheduler(
6666
initializeCache(scope)
6767

6868
try {
69+
logger.debug("Waiting for a device...")
6970
withTimeout(deviceProvider.deviceInitializationTimeoutMillis) {
7071
while (pools.isEmpty()) {
71-
delay(100)
72+
delay(500L)
7273
}
7374
}
7475
} catch (e: TimeoutCancellationException) {

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

+1-31
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import com.malinskiy.marathon.device.DeviceEvent
1313
import com.malinskiy.marathon.device.DeviceEvent.DeviceConnected
1414
import com.malinskiy.marathon.device.DeviceEvent.DeviceDisconnected
1515
import com.malinskiy.marathon.device.DeviceProvider
16-
import com.malinskiy.marathon.exceptions.NoDevicesException
1716
import com.malinskiy.marathon.execution.Configuration
1817
import com.malinskiy.marathon.execution.StrictRunChecker
1918
import com.malinskiy.marathon.io.AttachmentManager
@@ -68,33 +67,7 @@ class DdmlibDeviceProvider(
6867
AndroidDebugBridge.addDeviceChangeListener(this)
6968

7069
logger.debug("Creating ADB bridge")
71-
val adb = AndroidDebugBridge.createBridge(vendorConfiguration.adbPath.absolutePath, false, ADB_INIT_TIMEOUT.toMillis(), TimeUnit.MILLISECONDS)
72-
73-
var getDevicesCountdown = config.noDevicesTimeoutMillis
74-
val sleepTime = DEFAULT_DDM_LIB_SLEEP_TIME
75-
while (!adb.hasInitialDeviceList() || !adb.hasDevices() && getDevicesCountdown >= 0) {
76-
logger.debug("No devices, waiting...")
77-
78-
try {
79-
delay(sleepTime)
80-
} catch (e: InterruptedException) {
81-
throw TimeoutException("Timeout getting device list", e)
82-
}
83-
getDevicesCountdown -= sleepTime
84-
}
85-
86-
logger.debug("Finished waiting for a device")
87-
88-
if (adb.devices.isNotEmpty()) {
89-
logger.debug("Initial connected devices: {}", adb.devices.joinToString(", "))
90-
adb.devices.forEach {
91-
deviceConnected(it)
92-
}
93-
}
94-
95-
if (!adb.hasInitialDeviceList() || !adb.hasDevices()) {
96-
throw NoDevicesException()
97-
}
70+
AndroidDebugBridge.createBridge(vendorConfiguration.adbPath.absolutePath, false, ADB_INIT_TIMEOUT.toMillis(), TimeUnit.MILLISECONDS)
9871
}
9972

10073
private fun getDeviceOrPut(androidDevice: DdmlibAndroidDevice): DdmlibAndroidDevice {
@@ -118,8 +91,6 @@ class DdmlibDeviceProvider(
11891
}
11992
}
12093

121-
private fun AndroidDebugBridge.hasDevices(): Boolean = devices.isNotEmpty()
122-
12394
override suspend fun terminate() {
12495
job.completeRecursively()
12596
job.join()
@@ -250,6 +221,5 @@ class DdmlibDeviceProvider(
250221
companion object {
251222
private val ADB_INIT_TIMEOUT = Duration.ofSeconds(60)
252223
private const val DEFAULT_DDM_LIB_TIMEOUT = 30000
253-
private const val DEFAULT_DDM_LIB_SLEEP_TIME = 500L
254224
}
255225
}

0 commit comments

Comments
 (0)