Do not keep runtime invisible annotations in proguard.flags

This updates the corresponding Android.bp file to keep the runtime invisible annotations, meaning this should be a no-op.

When RELEASE_R8_ONLY_RUNTIME_VISIBLE_ANNOTATIONS is enabled, keep_runtime_invisible_annotations will become a no-op, which should lead to all runtime invisible annotations being stripped from this build.

Bug: 387958004
Change-Id: Ib0090cd30d44630a1b0a1d1f0605edb7fef8c5cf
Test: existing
diff --git a/Android.bp b/Android.bp
index fd0ed55..05fd866 100644
--- a/Android.bp
+++ b/Android.bp
@@ -32,6 +32,7 @@
     soong_config_variables: {
         build_variant_eng: {
             optimize: {
+                keep_runtime_invisible_annotations: true,
                 proguard_flags_files: [
                     "proguard.flags",
                     "proguard-test.flags",
@@ -39,6 +40,7 @@
             },
             conditions_default: {
                 optimize: {
+                    keep_runtime_invisible_annotations: true,
                     proguard_flags_files: [
                         "proguard.flags",
                         "proguard-release.flags",
diff --git a/proguard.flags b/proguard.flags
index 5531a9c..9c4c022 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -14,7 +14,12 @@
 #
 # Keep enough data for stack traces
 -renamesourcefileattribute SourceFile
--keepattributes SourceFile,LineNumberTable,*Annotation*
+-keepattributes SourceFile,
+                LineNumberTable,
+                RuntimeVisibleAnnotations,
+                RuntimeVisibleParameterAnnotations,
+                RuntimeVisibleTypeAnnotations,
+                AnnotationDefault
 
 # Keep classes and methods that have the guava @VisibleForTesting annotation
 # TODO(b/373579455): Evaluate if <init> needs to be kept.