From 8354d258006f8a8473041151245c9b83016a1204 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Wed, 26 Apr 2017 19:29:24 +0300 Subject: [PATCH] Android Extensions: Fix availability in Android/JPS projects (KT-17610) --- .../res/IDEAndroidPackageFragmentProviderExtension.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/plugins/android-extensions/android-extensions-idea/src/org/jetbrains/kotlin/android/synthetic/idea/res/IDEAndroidPackageFragmentProviderExtension.kt b/plugins/android-extensions/android-extensions-idea/src/org/jetbrains/kotlin/android/synthetic/idea/res/IDEAndroidPackageFragmentProviderExtension.kt index e870cc9f3b7..1fe42b0e04c 100644 --- a/plugins/android-extensions/android-extensions-idea/src/org/jetbrains/kotlin/android/synthetic/idea/res/IDEAndroidPackageFragmentProviderExtension.kt +++ b/plugins/android-extensions/android-extensions-idea/src/org/jetbrains/kotlin/android/synthetic/idea/res/IDEAndroidPackageFragmentProviderExtension.kt @@ -45,9 +45,17 @@ class IDEAndroidPackageFragmentProviderExtension(val project: Project) : Android } private fun isAndroidExtensionsEnabled(module: Module): Boolean { + // Android Extensions should be always enabled for Android/JPS + if (isLegacyIdeaAndroidModule(module)) return true + val androidGradleFacet = AndroidGradleFacet.getInstance(module) ?: return false val buildFile = androidGradleFacet.gradleModel?.buildFile ?: return false val buildGroovyFile = psiManager.findFile(buildFile) as? GroovyFile ?: return false return GradleBuildFile.getPlugins(buildGroovyFile).contains("kotlin-android-extensions") } + + private fun isLegacyIdeaAndroidModule(module: Module): Boolean { + val facet = AndroidFacet.getInstance(module) + return facet != null && !facet.requiresAndroidModel() + } } \ No newline at end of file