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);