Simplify Android facet resolving in IDEAndroidResourceManager
This commit is contained in:
+6
-10
@@ -30,28 +30,24 @@ import com.intellij.openapi.vfs.VirtualFile
|
|||||||
|
|
||||||
public class IDEAndroidResourceManager(project: Project, searchPath: String?) : AndroidResourceManagerBase(project, searchPath) {
|
public class IDEAndroidResourceManager(project: Project, searchPath: String?) : AndroidResourceManagerBase(project, searchPath) {
|
||||||
|
|
||||||
private class NoAndroidFacetException: Exception("No android facet found in project")
|
|
||||||
|
|
||||||
override fun getLayoutXmlFiles(): Collection<PsiFile> {
|
override fun getLayoutXmlFiles(): Collection<PsiFile> {
|
||||||
try {
|
val directories = getAndroidFacet()?.getAllResourceDirectories() ?: listOf()
|
||||||
val directories = getAndroidFacet().getAllResourceDirectories()
|
return directories.flatMap {
|
||||||
return directories.flatMap { (it.findChild("layout")?.getChildren() ?: array<VirtualFile>()).map { virtualFileToPsi(it)!! } }
|
(it.findChild("layout")?.getChildren() ?: array<VirtualFile>()).map { virtualFileToPsi(it)!! }
|
||||||
} catch (e: NoAndroidFacetException) {
|
|
||||||
return listOf()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getAndroidFacet(): AndroidFacet {
|
private fun getAndroidFacet(): AndroidFacet? {
|
||||||
for (module in ModuleManager.getInstance(project).getModules()) {
|
for (module in ModuleManager.getInstance(project).getModules()) {
|
||||||
val facet = AndroidFacet.getInstance(module)
|
val facet = AndroidFacet.getInstance(module)
|
||||||
if (facet != null) return facet
|
if (facet != null) return facet
|
||||||
}
|
}
|
||||||
throw NoAndroidFacetException()
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun readManifest(): AndroidManifest {
|
override fun readManifest(): AndroidManifest {
|
||||||
val facet = getAndroidFacet()
|
val facet = getAndroidFacet()
|
||||||
val attributeValue = facet.getManifest()!!.getPackage()
|
val attributeValue = facet?.getManifest()!!.getPackage()
|
||||||
return AndroidManifest(attributeValue!!.getRawText()!!)
|
return AndroidManifest(attributeValue!!.getRawText()!!)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user