From 448fa8495ad3806290b1b5dd5a4eced0bcf56b73 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Mon, 31 Jul 2017 16:23:43 +0300 Subject: [PATCH] Parcelable, Lint: Do not report "CREATOR field missing" warnings on our '@Parselize' Parcelables --- plugins/lint/lint-checks/lint-checks.iml | 1 + .../src/com/android/tools/klint/checks/ParcelDetector.java | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/plugins/lint/lint-checks/lint-checks.iml b/plugins/lint/lint-checks/lint-checks.iml index 7f00be7406e..e946263a51c 100644 --- a/plugins/lint/lint-checks/lint-checks.iml +++ b/plugins/lint/lint-checks/lint-checks.iml @@ -14,5 +14,6 @@ + \ No newline at end of file diff --git a/plugins/lint/lint-checks/src/com/android/tools/klint/checks/ParcelDetector.java b/plugins/lint/lint-checks/src/com/android/tools/klint/checks/ParcelDetector.java index 72c51361a4e..e5b66dbfa57 100644 --- a/plugins/lint/lint-checks/src/com/android/tools/klint/checks/ParcelDetector.java +++ b/plugins/lint/lint-checks/src/com/android/tools/klint/checks/ParcelDetector.java @@ -33,6 +33,7 @@ import com.intellij.psi.PsiField; import com.intellij.psi.PsiModifier; import com.intellij.psi.util.InheritanceUtil; +import kotlinx.android.parcel.Parcelize; import org.jetbrains.uast.UAnonymousClass; import org.jetbrains.uast.UClass; @@ -94,6 +95,11 @@ public class ParcelDetector extends Detector implements Detector.UastScanner { return; } + // Do not report errors on our Android Extensions-improved Parcelables + if (declaration.findAnnotation(Parcelize.class.getName()) != null) { + return; + } + PsiField field = declaration.findFieldByName("CREATOR", false); if (field == null) { Location location = context.getUastNameLocation(declaration);