Merge "Add keep rules for SysUI plugin annotations"

This commit is contained in:
Treehugger Robot
2023-06-09 20:59:03 +00:00
committed by Gerrit Code Review
2 changed files with 14 additions and 0 deletions

View File

@@ -25,6 +25,9 @@ java_library {
sdk_version: "current",
name: "PluginCoreLib",
srcs: ["src/**/*.java"],
optimize: {
proguard_flags_files: ["proguard.flags"],
},
// Enforce that the library is built against java 8 so that there are
// no compatibility issues with launcher

View File

@@ -0,0 +1,11 @@
# R8's full mode is a bit more aggressive in stripping annotations, but the
# SystemUI plugin architecture requires these annotations at runtime. The
# following rules are the minimal set necessary to ensure compatibility.
# For more details, see:
# https://r8.googlesource.com/r8/+/refs/heads/master/compatibility-faq.md#r8-full-mode
-keepattributes RuntimeVisible*Annotation*,AnnotationDefault
-keep interface com.android.systemui.plugins.annotations.** {
*;
}
-keep,allowshrinking,allowoptimization,allowobfuscation,allowaccessmodification @com.android.systemui.plugins.annotations.** class *