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.PsiField
|
||||||
import com.intellij.psi.PsiClass
|
import com.intellij.psi.PsiClass
|
||||||
import org.jetbrains.jet.utils.emptyOrSingletonList
|
import org.jetbrains.jet.utils.emptyOrSingletonList
|
||||||
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
|
import com.intellij.openapi.util.Computable
|
||||||
|
|
||||||
trait AndroidResource
|
trait AndroidResource
|
||||||
|
|
||||||
@@ -49,7 +51,9 @@ fun isAndroidSyntheticFile(f: PsiFile?): Boolean {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public fun isAndroidSyntheticElement(element: PsiElement?): 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 {
|
public fun isRClassField(element: PsiElement): Boolean {
|
||||||
|
|||||||
+2
-1
@@ -32,6 +32,7 @@ import org.jetbrains.android.util.AndroidResourceUtil
|
|||||||
import java.util.ArrayList
|
import java.util.ArrayList
|
||||||
import com.intellij.find.findUsages.JavaVariableFindUsagesOptions
|
import com.intellij.find.findUsages.JavaVariableFindUsagesOptions
|
||||||
import org.jetbrains.jet.plugin.findUsages.handlers.KotlinFindUsagesHandlerDecorator
|
import org.jetbrains.jet.plugin.findUsages.handlers.KotlinFindUsagesHandlerDecorator
|
||||||
|
import org.jetbrains.jet.plugin.util.application.runReadAction
|
||||||
|
|
||||||
class AndroidFindUsageHandlerDecorator : KotlinFindUsagesHandlerDecorator {
|
class AndroidFindUsageHandlerDecorator : KotlinFindUsagesHandlerDecorator {
|
||||||
override fun decorateHandler(element: PsiElement, forHighlightUsages: Boolean, delegate: FindUsagesHandler): FindUsagesHandler {
|
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 {
|
override fun processElementUsages(element: PsiElement, processor: Processor<UsageInfo>, options: FindUsagesOptions): Boolean {
|
||||||
assert(isAndroidSyntheticElement(declaration))
|
assert(isAndroidSyntheticElement(declaration))
|
||||||
|
|
||||||
val findUsagesOptions = JavaVariableFindUsagesOptions(element.getProject())
|
val findUsagesOptions = JavaVariableFindUsagesOptions(runReadAction { element.getProject() })
|
||||||
findUsagesOptions.isSearchForTextOccurrences = false
|
findUsagesOptions.isSearchForTextOccurrences = false
|
||||||
findUsagesOptions.isSkipImportStatements = true
|
findUsagesOptions.isSkipImportStatements = true
|
||||||
findUsagesOptions.isUsages = true
|
findUsagesOptions.isUsages = true
|
||||||
|
|||||||
Reference in New Issue
Block a user