Parcelable: Add quick fixes

This commit is contained in:
Yan Zhulanow
2017-09-07 23:52:39 +03:00
committed by Yan Zhulanow
parent 8eeed17b65
commit e6171dc4c5
58 changed files with 1607 additions and 27 deletions
@@ -21,6 +21,7 @@ import com.intellij.psi.util.PsiTreeUtil
import org.jetbrains.android.util.AndroidBundle
import org.jetbrains.kotlin.android.canAddParcelable
import org.jetbrains.kotlin.android.implementParcelable
import org.jetbrains.kotlin.android.isParcelize
import org.jetbrains.kotlin.psi.KtClass
@@ -29,8 +30,10 @@ class ParcelableQuickFix : AndroidLintQuickFix {
startElement.getTargetClass()?.implementParcelable()
}
override fun isApplicable(startElement: PsiElement, endElement: PsiElement, contextType: AndroidQuickfixContexts.ContextType): Boolean =
startElement.getTargetClass()?.canAddParcelable() ?: false
override fun isApplicable(startElement: PsiElement, endElement: PsiElement, contextType: AndroidQuickfixContexts.ContextType): Boolean {
val targetClass = startElement.getTargetClass() ?: return false
return targetClass.canAddParcelable() && !targetClass.isParcelize()
}
override fun getName(): String = AndroidBundle.message("implement.parcelable.intention.text")