Support Android flavors

This commit is contained in:
Yan Zhulanow
2015-04-14 20:11:27 +03:00
parent bf707ec3f7
commit 77be78b627
6 changed files with 24 additions and 20 deletions
@@ -55,7 +55,7 @@ public abstract class AndroidResourceManager(val project: Project) {
return allChildren
}
val resDirectories = info.mainResDirectories.map { fileManager.findFileByUrl("file://$it") }
val resDirectories = info.resDirectories.map { fileManager.findFileByUrl("file://$it") }
val allChildren = resDirectories.flatMap { it?.getAllChildren() ?: listOf() }
return allChildren
@@ -66,13 +66,6 @@ public abstract class AndroidResourceManager(val project: Project) {
.mapValues { it.getValue().sortBy { it.getParent().getName().length() } }
}
fun getModuleResDirectories(): List<VirtualFile> {
val info = androidModuleInfo
if (info == null) return listOf()
val fileManager = VirtualFileManager.getInstance()
return info.mainResDirectories.map { fileManager.findFileByUrl("file://" + it) }
}
companion object {
public fun getInstance(module: Module): AndroidResourceManager {
val service = ModuleServiceManager.getService<AndroidResourceManager>(module, javaClass<AndroidResourceManager>())
@@ -28,11 +28,11 @@ import kotlin.properties.Delegates
public class CliAndroidResourceManager(
project: Project,
private val manifestPath: String,
private val mainResDirectory: List<String>
private val resDirectories: List<String>
) : AndroidResourceManager(project) {
override val androidModuleInfo by Delegates.lazy {
AndroidModuleInfo(getApplicationPackage(manifestPath), mainResDirectory)
AndroidModuleInfo(getApplicationPackage(manifestPath), resDirectories)
}
val saxParser: SAXParser = initSAX()
@@ -30,11 +30,11 @@ import com.intellij.psi.util.CachedValueProvider.Result
public class CliAndroidUIXmlProcessor(
project: Project,
private val manifestPath: String,
private val mainResDirectories: List<String>
private val resDirectories: List<String>
) : AndroidUIXmlProcessor(project) {
override val resourceManager: CliAndroidResourceManager by Delegates.lazy {
CliAndroidResourceManager(project, manifestPath, mainResDirectories)
CliAndroidResourceManager(project, manifestPath, resDirectories)
}
override val cachedSources: CachedValue<List<AndroidSyntheticFile>> by Delegates.lazy {
@@ -16,7 +16,7 @@
package org.jetbrains.kotlin.lang.resolve.android
public data class AndroidModuleInfo(val applicationPackage: String, val mainResDirectories: List<String>)
public data class AndroidModuleInfo(val applicationPackage: String, val resDirectories: List<String>)
public abstract class AndroidResource(val id: String) {
public abstract val className: String