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