# The rules from AOSP are located in proguard.flags file, we can just maintain Lawnchair related rules here. # Optimization options. -allowaccessmodification -dontusemixedcaseclassnames -allowaccessmodification -keepattributes InnerClasses, *Annotation*, Signature, SourceFile, LineNumberTable # Remove some Kotlin overhead -processkotlinnullchecks remove # Common rules. -keep,allowshrinking,allowoptimization class android.window.** { *; } -keep,allowshrinking,allowoptimization class android.view.** { *; } -keep,allowshrinking,allowoptimization class com.android.systemui.** { *; } -keep,allowshrinking,allowoptimization class com.android.wm.shell.** { *; } -keepclassmembers class * implements android.os.Parcelable { public static final ** CREATOR; } # Lawnchair specific rules. -keep,allowshrinking,allowoptimization class app.lawnchair.LawnchairProto$* { *; } -keep,allowshrinking,allowoptimization class app.lawnchair.LawnchairApp { *; } -keep,allowshrinking,allowoptimization class app.lawnchair.LawnchairLauncher { *; } -keep,allowshrinking,allowoptimization class app.lawnchair.compatlib.** { *; } -keep,allowshrinking,allowoptimization class com.google.protobuf.Timestamp { *; } -keep class * extends com.google.protobuf.GeneratedMessageLite { *; } # We intentionally remove it to replace Smartspacer's widget popup with our own Launcher3 popup -dontwarn com.skydoves.balloon.* # This shouldn't concern us much -dontwarn androidx.window.extensions.** -dontwarn androidx.window.sidecar.**