1-keep,allowshrinking,allowoptimization class com.android.launcher3.** {
2  *;
3}
4
5# The support library contains references to newer platform versions.
6# Don't warn about those in case this app is linking against an older
7# platform version.  We know about them, and they are safe.
8-dontwarn android.support.**
9
10# Proguard will strip methods required for talkback to properly scroll to
11# next row when focus is on the last item of last row when using a RecyclerView
12# Keep optimized and shrunk proguard to prevent issues like this when using
13# support jar.
14-keep class androidx.recyclerview.widget.RecyclerView { *; }
15
16# Fragments
17-keep class ** extends androidx.fragment.app.Fragment {
18    public <init>(...);
19}
20-keep class ** extends android.app.Fragment {
21    public <init>(...);
22}
23
24## Prevent obfuscating various overridable objects
25-keep class ** implements com.android.launcher3.util.ResourceBasedOverride {
26    public <init>(...);
27}
28
29-keep interface com.android.launcher3.userevent.nano.LauncherLogProto.** {
30  *;
31}
32-keep interface com.android.launcher3.model.nano.LauncherDumpProto.** {
33  *;
34}
35
36# Discovery bounce animation
37-keep class com.android.launcher3.allapps.DiscoveryBounce$VerticalProgressWrapper {
38  public void setProgress(float);
39  public float getProgress();
40}
41
42# BUG(70852369): Surpress additional warnings after changing from Proguard to R8
43-dontwarn android.app.**
44-dontwarn android.graphics.**
45-dontwarn android.os.**
46-dontwarn android.view.**
47-dontwarn android.window.**
48
49# Ignore warnings for hidden utility classes referenced from the shared lib
50-dontwarn com.android.internal.util.**
51
52################ Do not optimize recents lib #############
53-keep class com.android.systemui.shared.** {
54  *;
55}
56
57-keep class com.android.quickstep.** {
58  *;
59}
60
61-keep class com.android.internal.protolog.** {
62  *;
63}
64