Read action added in Android plugins
This commit is contained in:
committed by
Yan Zhulanow
parent
e9e96657c3
commit
562b563e7e
+5
-1
@@ -24,6 +24,8 @@ import com.intellij.openapi.components.ServiceManager
|
||||
import com.intellij.psi.PsiField
|
||||
import com.intellij.psi.PsiClass
|
||||
import org.jetbrains.jet.utils.emptyOrSingletonList
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.util.Computable
|
||||
|
||||
trait AndroidResource
|
||||
|
||||
@@ -49,7 +51,9 @@ fun isAndroidSyntheticFile(f: PsiFile?): Boolean {
|
||||
}
|
||||
|
||||
public fun isAndroidSyntheticElement(element: PsiElement?): Boolean {
|
||||
return isAndroidSyntheticFile(element?.getContainingFile())
|
||||
return isAndroidSyntheticFile(ApplicationManager.getApplication()!!.runReadAction(Computable {
|
||||
element?.getContainingFile()
|
||||
}))
|
||||
}
|
||||
|
||||
public fun isRClassField(element: PsiElement): Boolean {
|
||||
|
||||
+2
-1
@@ -32,6 +32,7 @@ import org.jetbrains.android.util.AndroidResourceUtil
|
||||
import java.util.ArrayList
|
||||
import com.intellij.find.findUsages.JavaVariableFindUsagesOptions
|
||||
import org.jetbrains.jet.plugin.findUsages.handlers.KotlinFindUsagesHandlerDecorator
|
||||
import org.jetbrains.jet.plugin.util.application.runReadAction
|
||||
|
||||
class AndroidFindUsageHandlerDecorator : KotlinFindUsagesHandlerDecorator {
|
||||
override fun decorateHandler(element: PsiElement, forHighlightUsages: Boolean, delegate: FindUsagesHandler): FindUsagesHandler {
|
||||
@@ -86,7 +87,7 @@ class AndroidFindMemberUsagesHandler(
|
||||
override fun processElementUsages(element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions): Boolean {
|
||||
assert(isAndroidSyntheticElement(declaration))
|
||||
|
||||
val findUsagesOptions = JavaVariableFindUsagesOptions(element.getProject())
|
||||
val findUsagesOptions = JavaVariableFindUsagesOptions(runReadAction { element.getProject() })
|
||||
findUsagesOptions.isSearchForTextOccurrences = false
|
||||
findUsagesOptions.isSkipImportStatements = true
|
||||
findUsagesOptions.isUsages = true
|
||||
|
||||
Reference in New Issue
Block a user