@@ -3,17 +3,21 @@ package com.developerphil.adbidea.adb
33import com.android.ddmlib.IDevice
44import com.android.tools.idea.insights.isAndroidApp
55import com.android.tools.idea.model.AndroidModel
6- import com.android.tools.idea.projectsystem.getHolderModule
6+ import com.android.tools.idea.projectsystem.gradle. getHolderModule
77import com.android.tools.idea.util.androidFacet
88import com.developerphil.adbidea.adb.DeviceResult.DeviceNotFound
99import com.developerphil.adbidea.adb.DeviceResult.SuccessfulDeviceResult
10+ import com.developerphil.adbidea.compatibility.BackwardCompatibleGetter
1011import com.developerphil.adbidea.ui.DeviceChooserDialog
1112import com.developerphil.adbidea.ui.ModuleChooserDialogHelper
1213import com.developerphil.adbidea.ui.NotificationHelper
1314import com.intellij.facet.ProjectFacetManager
15+ import com.intellij.openapi.module.Module
16+ import com.intellij.openapi.module.impl.ModuleImpl
1417import com.intellij.openapi.project.Project
1518import com.intellij.openapi.ui.DialogWrapper
1619import org.jetbrains.android.facet.AndroidFacet
20+ import org.joor.Reflect
1721
1822
1923class DeviceResultFetcher constructor(
@@ -53,7 +57,7 @@ class DeviceResultFetcher constructor(
5357
5458 private fun getFacet (facets : List <AndroidFacet >): AndroidFacet ? {
5559 val appFacets = facets
56- .map { it.module.getHolderModule () }
60+ .map { HolderModuleGetter (it).get () }
5761 .filter { it.isAndroidApp }
5862 .mapNotNull { it.androidFacet }
5963 .distinct()
@@ -65,6 +69,19 @@ class DeviceResultFetcher constructor(
6569 }
6670 }
6771
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+
6885 private fun showDeviceChooserDialog (facet : AndroidFacet , packageName : String ): DeviceResult {
6986 val chooser = DeviceChooserDialog (facet)
7087 chooser.show()
0 commit comments