From fdc253b67face66dd44ec2554313daf62638294d Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Wed, 15 Apr 2015 17:50:43 +0300 Subject: [PATCH] Bugfix: support several resource directories in AndroidPsiTreeChangePreprocessor --- .../kotlin/lang/resolve/android/androidResources.kt | 4 +++- .../plugin/android/AndroidPsiTreeChangePreprocessor.kt | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/androidResources.kt b/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/androidResources.kt index 34934346a5e..919a73bed20 100644 --- a/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/androidResources.kt +++ b/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/lang/resolve/android/androidResources.kt @@ -16,7 +16,9 @@ package org.jetbrains.kotlin.lang.resolve.android -public data class AndroidModuleInfo(val applicationPackage: String, val resDirectories: List) +public data class AndroidModuleInfo(val applicationPackage: String, resDirectories: List) { + val resDirectories = resDirectories.sort() +} public abstract class AndroidResource(val id: String) { public abstract val className: String diff --git a/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/AndroidPsiTreeChangePreprocessor.kt b/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/AndroidPsiTreeChangePreprocessor.kt index 95732f9e5d2..8704a38363e 100644 --- a/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/AndroidPsiTreeChangePreprocessor.kt +++ b/plugins/android-idea-plugin/src/org/jetbrains/kotlin/plugin/android/AndroidPsiTreeChangePreprocessor.kt @@ -48,11 +48,11 @@ public class AndroidPsiTreeChangePreprocessor : PsiTreeChangePreprocessor, Simpl val module = projectFileIndex.getModuleForFile(file.getVirtualFile()) if (module != null) { val resourceManager = AndroidResourceManager.getInstance(module) - val mainResDirectory = resourceManager.getResDirectories() + val resDirectories = resourceManager.getModuleResDirectories() val baseDirectory = file.getParent()?.getParent()?.getVirtualFile() - //File from res/ directory was modified - if (mainResDirectory == baseDirectory && file.isLayoutXmlFile()) { + // File from the res/ directory was modified + if (baseDirectory in resDirectories && file.isLayoutXmlFile()) { incModificationCount() } }