@@ -3,17 +3,21 @@ package com.developerphil.adbidea.adb
3
3
import com.android.ddmlib.IDevice
4
4
import com.android.tools.idea.insights.isAndroidApp
5
5
import com.android.tools.idea.model.AndroidModel
6
- import com.android.tools.idea.projectsystem.getHolderModule
6
+ import com.android.tools.idea.projectsystem.gradle. getHolderModule
7
7
import com.android.tools.idea.util.androidFacet
8
8
import com.developerphil.adbidea.adb.DeviceResult.DeviceNotFound
9
9
import com.developerphil.adbidea.adb.DeviceResult.SuccessfulDeviceResult
10
+ import com.developerphil.adbidea.compatibility.BackwardCompatibleGetter
10
11
import com.developerphil.adbidea.ui.DeviceChooserDialog
11
12
import com.developerphil.adbidea.ui.ModuleChooserDialogHelper
12
13
import com.developerphil.adbidea.ui.NotificationHelper
13
14
import com.intellij.facet.ProjectFacetManager
15
+ import com.intellij.openapi.module.Module
16
+ import com.intellij.openapi.module.impl.ModuleImpl
14
17
import com.intellij.openapi.project.Project
15
18
import com.intellij.openapi.ui.DialogWrapper
16
19
import org.jetbrains.android.facet.AndroidFacet
20
+ import org.joor.Reflect
17
21
18
22
19
23
class DeviceResultFetcher constructor(
@@ -53,7 +57,7 @@ class DeviceResultFetcher constructor(
53
57
54
58
private fun getFacet (facets : List <AndroidFacet >): AndroidFacet ? {
55
59
val appFacets = facets
56
- .map { it.module.getHolderModule () }
60
+ .map { HolderModuleGetter (it).get () }
57
61
.filter { it.isAndroidApp }
58
62
.mapNotNull { it.androidFacet }
59
63
.distinct()
@@ -65,6 +69,19 @@ class DeviceResultFetcher constructor(
65
69
}
66
70
}
67
71
72
+ // Can be removed after 242.23339
73
+ class HolderModuleGetter (private val facet : AndroidFacet ) : BackwardCompatibleGetter<Module>() {
74
+ override fun getCurrentImplementation (): Module {
75
+ return facet.module.getHolderModule()
76
+ }
77
+
78
+ override fun getPreviousImplementation (): Module {
79
+ return Reflect .onClass(" com.android.tools.idea.projectsystem.ModuleSystemUtil" )
80
+ .call(" getHolderModule" , facet.module).get<ModuleImpl >()
81
+ }
82
+ }
83
+
84
+
68
85
private fun showDeviceChooserDialog (facet : AndroidFacet , packageName : String ): DeviceResult {
69
86
val chooser = DeviceChooserDialog (facet)
70
87
chooser.show()
0 commit comments