From cab1813dcdb783e71026e81d8dc28799035d3b10 Mon Sep 17 00:00:00 2001 From: Raluca Sauciuc Date: Wed, 21 Feb 2018 03:28:22 -0800 Subject: [PATCH] as32: Fix compilation to match changes in SdkConstants (#1533) ... and match the intended semantics for AndroidxName. Change-Id: If2148ab8cefcc124a72f63458b7dbddf1a6cfe04 --- .../android/quickfix/AddTargetApiQuickFix.kt.as32 | 13 ++++++++----- .../quickfix/KotlinAndroidQuickFixProvider.kt.as32 | 8 ++++++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/idea/idea-android/src/org/jetbrains/kotlin/android/quickfix/AddTargetApiQuickFix.kt.as32 b/idea/idea-android/src/org/jetbrains/kotlin/android/quickfix/AddTargetApiQuickFix.kt.as32 index 2e3c95ff25d..a3158423e23 100644 --- a/idea/idea-android/src/org/jetbrains/kotlin/android/quickfix/AddTargetApiQuickFix.kt.as32 +++ b/idea/idea-android/src/org/jetbrains/kotlin/android/quickfix/AddTargetApiQuickFix.kt.as32 @@ -32,12 +32,12 @@ import org.jetbrains.kotlin.psi.* class AddTargetApiQuickFix( val api: Int, - val useRequiresApi: Boolean + val useRequiresApi: Boolean, + val useNewName: Boolean = false ) : AndroidLintQuickFix { private companion object { val FQNAME_TARGET_API = FqName(SdkConstants.FQCN_TARGET_API) - val FQNAME_REQUIRES_API = FqName(REQUIRES_API_ANNOTATION.defaultName()) } override fun isApplicable(startElement: PsiElement, endElement: PsiElement, contextType: AndroidQuickfixContexts.ContextType): Boolean = @@ -61,9 +61,12 @@ class AddTargetApiQuickFix( if (annotationContainer is KtModifierListOwner) { annotationContainer.addAnnotation( - if (useRequiresApi) FQNAME_REQUIRES_API else FQNAME_TARGET_API, - getAnnotationValue(true), - whiteSpaceText = if (annotationContainer.isNewLineNeededForAnnotation()) "\n" else " ") + if (useRequiresApi) + if (useNewName) FqName(REQUIRES_API_ANNOTATION.newName()) + else FqName(REQUIRES_API_ANNOTATION.oldName()) + else FQNAME_TARGET_API, + getAnnotationValue(true), + whiteSpaceText = if (annotationContainer.isNewLineNeededForAnnotation()) "\n" else " ") } } diff --git a/idea/idea-android/src/org/jetbrains/kotlin/android/quickfix/KotlinAndroidQuickFixProvider.kt.as32 b/idea/idea-android/src/org/jetbrains/kotlin/android/quickfix/KotlinAndroidQuickFixProvider.kt.as32 index c96480c222c..0f17a861027 100644 --- a/idea/idea-android/src/org/jetbrains/kotlin/android/quickfix/KotlinAndroidQuickFixProvider.kt.as32 +++ b/idea/idea-android/src/org/jetbrains/kotlin/android/quickfix/KotlinAndroidQuickFixProvider.kt.as32 @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.android.quickfix import com.android.SdkConstants.SUPPORT_ANNOTATIONS_PREFIX +import com.android.support.AndroidxName import com.android.tools.lint.checks.ApiDetector import com.android.tools.lint.checks.CommentDetector import com.android.tools.lint.checks.ParcelDetector @@ -57,7 +58,10 @@ class KotlinAndroidQuickFixProvider : AndroidLintQuickFixProvider { } val project = element.project - if (JavaPsiFacade.getInstance(project).findClass(REQUIRES_API_ANNOTATION, GlobalSearchScope.allScope(project)) != null) { + if (JavaPsiFacade.getInstance(project).findClass(REQUIRES_API_ANNOTATION.newName(), GlobalSearchScope.allScope(project)) != null) { + return arrayOf(AddTargetApiQuickFix(api, true, true), AddTargetApiQuickFix(api, false, true), AddTargetVersionCheckQuickFix(api)) + } + if (JavaPsiFacade.getInstance(project).findClass(REQUIRES_API_ANNOTATION.oldName(), GlobalSearchScope.allScope(project)) != null) { return arrayOf(AddTargetApiQuickFix(api, true), AddTargetApiQuickFix(api, false), AddTargetVersionCheckQuickFix(api)) } @@ -75,6 +79,6 @@ class KotlinAndroidQuickFixProvider : AndroidLintQuickFixProvider { } companion object { - val REQUIRES_API_ANNOTATION = SUPPORT_ANNOTATIONS_PREFIX.defaultName() + "RequiresApi" + val REQUIRES_API_ANNOTATION = AndroidxName.of(SUPPORT_ANNOTATIONS_PREFIX, "RequiresApi") } } \ No newline at end of file