Skip to content

Commit bc428ff

Browse files
committed
Add detailed logging in AdbWrapperImpl to identify why isReady() returns false
1 parent 5c6a5e1 commit bc428ff

1 file changed

Lines changed: 24 additions & 4 deletions

File tree

  • src/main/kotlin/com/github/grishberg/androidstudio/plugins

src/main/kotlin/com/github/grishberg/androidstudio/plugins/AdbWrapper.kt

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,49 @@ interface AdbWrapper {
1111
}
1212

1313
class AdbWrapperImpl(private val logger: AppLogger, project: Project) : AdbWrapper {
14-
val androidBridge = AndroidSdkUtils.getDebugBridge(project)
14+
private val androidBridge: com.android.ddmlib.AndroidDebugBridge?
1515

1616
init {
17-
logger.d("AdbWrapperImpl created, androidBridge = ${if (androidBridge != null) "NOT NULL" else "NULL"}")
17+
logger.d("AdbWrapperImpl.init - calling AndroidSdkUtils.getDebugBridge(project)...")
18+
androidBridge = AndroidSdkUtils.getDebugBridge(project)
19+
logger.d("AdbWrapperImpl.init - AndroidSdkUtils.getDebugBridge() returned: ${if (androidBridge != null) "NOT NULL (hash=${androidBridge.hashCode()})" else "NULL"}")
20+
if (androidBridge != null) {
21+
logger.d("AdbWrapperImpl.init - bridge initial state: isConnected=${androidBridge.isConnected}, hasInitialDeviceList=${androidBridge.hasInitialDeviceList()}")
22+
}
1823
}
1924

2025
override fun isReady(): Boolean {
2126
return try {
2227
logger.d("AdbWrapperImpl.isReady() - checking bridge: ${if (androidBridge != null) "NOT NULL" else "NULL"}")
2328
if (androidBridge == null) {
2429
logger.d("AdbWrapperImpl.isReady() - bridge is NULL, returning false")
30+
logger.d("AdbWrapperImpl.isReady() - FAILURE REASON: androidBridge is null from AndroidSdkUtils.getDebugBridge()")
2531
return false
2632
}
2733

34+
logger.d("AdbWrapperImpl.isReady() - bridge available, checking isConnected...")
2835
val isConnected = androidBridge.isConnected
36+
logger.d("AdbWrapperImpl.isReady() - isConnected=$isConnected")
37+
if (!isConnected) {
38+
logger.d("AdbWrapperImpl.isReady() - FAILURE REASON: androidBridge.isConnected is false")
39+
logger.d("AdbWrapperImpl.isReady() - bridge state details: ${androidBridge}")
40+
}
41+
42+
logger.d("AdbWrapperImpl.isReady() - checking hasInitialDeviceList()...")
2943
val hasInitialList = androidBridge.hasInitialDeviceList()
30-
logger.d("AdbWrapperImpl.isReady() - isConnected=$isConnected, hasInitialDeviceList=$hasInitialList")
44+
logger.d("AdbWrapperImpl.isReady() - hasInitialDeviceList=$hasInitialList")
45+
if (!hasInitialList) {
46+
logger.d("AdbWrapperImpl.isReady() - FAILURE REASON: hasInitialDeviceList() is false")
47+
}
48+
3149
val result = isConnected && hasInitialList
32-
logger.d("AdbWrapperImpl.isReady() - FINAL result: $result")
50+
logger.d("AdbWrapperImpl.isReady() - FINAL result: $result (isConnected=$isConnected && hasInitialList=$hasInitialList)")
3351
result
3452
} catch (t: Throwable) {
3553
logger.e("AdbWrapperImpl.isReady() FAILED with exception", t)
3654
logger.e(" androidBridge is null: ${androidBridge == null}")
55+
logger.e(" exception type: ${t.javaClass.simpleName}")
56+
logger.e(" exception message: ${t.message}")
3757
false
3858
}
3959
}

0 commit comments

Comments
 (0)