xref: /aosp_15_r20/frameworks/base/packages/SystemUI/proguard_common.flags (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker-include proguard_kotlin.flags
2*d57664e9SAndroid Build Coastguard Worker-keep class com.android.systemui.VendorServices
3*d57664e9SAndroid Build Coastguard Worker
4*d57664e9SAndroid Build Coastguard Worker# Needed to ensure callback field references are kept in their respective
5*d57664e9SAndroid Build Coastguard Worker# owning classes when the downstream callback registrars only store weak refs.
6*d57664e9SAndroid Build Coastguard Worker# Note that we restrict this to SysUISingleton classes, as other registering
7*d57664e9SAndroid Build Coastguard Worker# classes should either *always* unregister or *never* register from their
8*d57664e9SAndroid Build Coastguard Worker# constructor. We also keep callback class names for easier debugging.
9*d57664e9SAndroid Build Coastguard Worker-keepnames @com.android.systemui.util.annotations.WeaklyReferencedCallback class *
10*d57664e9SAndroid Build Coastguard Worker-keepnames class * extends @com.android.systemui.util.annotations.WeaklyReferencedCallback **
11*d57664e9SAndroid Build Coastguard Worker-if @com.android.systemui.util.annotations.WeaklyReferencedCallback class *
12*d57664e9SAndroid Build Coastguard Worker-keepclassmembers,allowaccessmodification @com.android.systemui.dagger.SysUISingleton class * {
13*d57664e9SAndroid Build Coastguard Worker  <1> *;
14*d57664e9SAndroid Build Coastguard Worker}
15*d57664e9SAndroid Build Coastguard Worker-if class * extends @com.android.systemui.util.annotations.WeaklyReferencedCallback **
16*d57664e9SAndroid Build Coastguard Worker-keepclassmembers,allowaccessmodification @com.android.systemui.dagger.SysUISingleton class * {
17*d57664e9SAndroid Build Coastguard Worker  <1> *;
18*d57664e9SAndroid Build Coastguard Worker}
19*d57664e9SAndroid Build Coastguard Worker
20*d57664e9SAndroid Build Coastguard Worker-keep class androidx.core.app.CoreComponentFactory
21*d57664e9SAndroid Build Coastguard Worker
22*d57664e9SAndroid Build Coastguard Worker# Keep the wm shell lib
23*d57664e9SAndroid Build Coastguard Worker-keep class com.android.wm.shell.*
24*d57664e9SAndroid Build Coastguard Worker# Keep the protolog group methods that are called by the generated code
25*d57664e9SAndroid Build Coastguard Worker-keepclassmembers class com.android.wm.shell.protolog.ShellProtoLogGroup {
26*d57664e9SAndroid Build Coastguard Worker    *;
27*d57664e9SAndroid Build Coastguard Worker}
28*d57664e9SAndroid Build Coastguard Worker
29*d57664e9SAndroid Build Coastguard Worker# Prevent optimization or access modification of any referenced code that may
30*d57664e9SAndroid Build Coastguard Worker# conflict with code in the bootclasspath.
31*d57664e9SAndroid Build Coastguard Worker# TODO(b/222468116): Resolve such collisions in the build system.
32*d57664e9SAndroid Build Coastguard Worker-keepnames class android.**.nano.** { *; }
33*d57664e9SAndroid Build Coastguard Worker-keepnames class com.android.**.nano.** { *; }
34*d57664e9SAndroid Build Coastguard Worker-keepnames class com.android.internal.protolog.** { *; }
35*d57664e9SAndroid Build Coastguard Worker-keepnames class android.hardware.common.** { *; }
36*d57664e9SAndroid Build Coastguard Worker
37*d57664e9SAndroid Build Coastguard Worker# TODO(b/316553881): Statically linking flags into SystemUI and bootclasspath might not be a
38*d57664e9SAndroid Build Coastguard Worker# good idea in the first place
39*d57664e9SAndroid Build Coastguard Worker-keepnames class com.android.window.flags.Flags { public *; }
40*d57664e9SAndroid Build Coastguard Worker
41*d57664e9SAndroid Build Coastguard Worker
42*d57664e9SAndroid Build Coastguard Worker# Allows proguard to make private and protected methods and fields public as
43*d57664e9SAndroid Build Coastguard Worker# part of optimization. This lets proguard inline trivial getter/setter methods.
44*d57664e9SAndroid Build Coastguard Worker-allowaccessmodification
45*d57664e9SAndroid Build Coastguard Worker
46*d57664e9SAndroid Build Coastguard Worker# Strip verbose logs.
47*d57664e9SAndroid Build Coastguard Worker-assumenosideeffects class android.util.Log {
48*d57664e9SAndroid Build Coastguard Worker  static *** v(...);
49*d57664e9SAndroid Build Coastguard Worker  static *** isLoggable(...);
50*d57664e9SAndroid Build Coastguard Worker}
51*d57664e9SAndroid Build Coastguard Worker-assumenosideeffects class android.util.Slog {
52*d57664e9SAndroid Build Coastguard Worker  static *** v(...);
53*d57664e9SAndroid Build Coastguard Worker}
54*d57664e9SAndroid Build Coastguard Worker-maximumremovedandroidloglevel 2
55