blob: 2b908a7dde6b9a992f8878ac298fb6e758eb94cb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
-include proguard_kotlin.flags
# VendorServices implements CoreStartable and may be instantiated reflectively in
# SystemUIApplication#startAdditionalStartable.
# TODO(b/373579455): Rewrite this to a @UsesReflection keep annotation.
-keep class com.android.systemui.VendorServices {
public void <init>();
}
# Needed to ensure callback field references are kept in their respective
# owning classes when the downstream callback registrars only store weak refs.
# Note that we restrict this to SysUISingleton classes, as other registering
# classes should either *always* unregister or *never* register from their
# constructor. We also keep callback class names for easier debugging.
# TODO(b/373579455): Evaluate if <init> needs to be kept.
-keepnames @com.android.systemui.util.annotations.WeaklyReferencedCallback class * {
void <init>();
}
# TODO(b/373579455): Evaluate if <init> needs to be kept.
-keepnames class * extends @com.android.systemui.util.annotations.WeaklyReferencedCallback ** {
void <init>();
}
-if @com.android.systemui.util.annotations.WeaklyReferencedCallback class *
-keepclassmembers,allowaccessmodification @com.android.systemui.dagger.SysUISingleton class * {
<1> *;
}
-if class * extends @com.android.systemui.util.annotations.WeaklyReferencedCallback **
-keepclassmembers,allowaccessmodification @com.android.systemui.dagger.SysUISingleton class * {
<1> *;
}
# TODO(b/373579455): Evaluate if <init> needs to be kept.
-keep class androidx.core.app.CoreComponentFactory {
void <init>();
}
# Keep the wm shell lib
# TODO(b/373579455): Evaluate if <init> needs to be kept.
-keep class com.android.wm.shell.* {
void <init>();
}
# Keep the protolog group methods that are called by the generated code
-keepclassmembers class com.android.wm.shell.protolog.ShellProtoLogGroup {
*;
}
# Prevent optimization or access modification of any referenced code that may
# conflict with code in the bootclasspath.
# TODO(b/222468116): Resolve such collisions in the build system.
-keepnames class android.**.nano.** { *; }
-keepnames class com.android.**.nano.** { *; }
-keepnames class com.android.internal.protolog.** { *; }
-keepnames class android.hardware.common.** { *; }
# TODO(b/316553881): Statically linking flags into SystemUI and bootclasspath might not be a
# good idea in the first place
-keepnames class com.android.window.flags.Flags { public *; }
# Allows proguard to make private and protected methods and fields public as
# part of optimization. This lets proguard inline trivial getter/setter methods.
-allowaccessmodification
# Strip verbose logs.
-assumenosideeffects class android.util.Log {
static *** v(...);
static *** isLoggable(...);
}
-assumenosideeffects class android.util.Slog {
static *** v(...);
}
-maximumremovedandroidloglevel 2
#Keep the R
-keepclassmembers class com.android.systemui.customization.R$* {
public static <fields>;
}
|