blob: 3517ebae10bf554896ea88fe122f0b346834217a [file] [log] [blame]
Winson Chung2dbcf092018-10-24 13:00:41 -07001-keep class com.android.systemui.recents.OverviewProxyRecentsImpl
Rakesh Iyer1186faa2015-12-07 16:48:46 -08002-keep class com.android.systemui.statusbar.car.CarStatusBar
Jason Monk2a6ea9c2017-01-26 11:14:51 -05003-keep class com.android.systemui.statusbar.phone.StatusBar
Christopher Tateacad1832012-02-17 16:01:27 -08004-keep class com.android.systemui.statusbar.tv.TvStatusBar
Yao Chen634acb92016-04-13 16:17:47 -07005-keep class com.android.systemui.car.CarSystemUIFactory
Xiyuan Xia1b30f792016-01-06 08:50:30 -08006-keep class com.android.systemui.SystemUIFactory
Sergey Nikolaienkov7842bac2019-12-19 16:34:11 +01007-keep class com.android.systemui.tv.TvSystemUIFactory
Dave Mankofff2da1d52021-11-09 14:33:45 -05008-keep class * extends com.android.systemui.CoreStartable
9-keep class * implements com.android.systemui.CoreStartable$Injector
Winsone6c90732015-09-24 16:06:29 -070010
Jason Monk87ccd552015-12-11 21:39:54 -050011-keepclasseswithmembers class * {
12 public <init>(android.content.Context, android.util.AttributeSet);
13}
14
Aurimas Liutikasfd52c142018-04-17 09:50:46 -070015-keep class ** extends androidx.preference.PreferenceFragment
Jason Monk3ebd2392016-01-22 10:01:44 -050016-keep class com.android.systemui.tuner.*
Jason Monk86bc3312016-08-16 13:17:56 -040017-keep class com.android.systemui.plugins.** {
Jason Monke6089af2018-07-31 14:38:11 -040018 *;
Jason Monk86bc3312016-08-16 13:17:56 -040019}
Jason Monk9424af72018-12-19 14:17:26 -050020-keep class com.android.systemui.fragments.FragmentService$FragmentCreator {
21 *;
22}
Aurimas Liutikasfd52c142018-04-17 09:50:46 -070023-keep class androidx.core.app.CoreComponentFactory
Dave Mankoffa5d8a392019-10-10 12:21:09 -040024
Dave Mankofff2da1d52021-11-09 14:33:45 -050025-keep public class * extends com.android.systemui.CoreStartable {
Dave Mankoffa5d8a392019-10-10 12:21:09 -040026 public <init>(android.content.Context);
Bill Lina17858d12020-07-14 10:30:10 +080027}
28
Winson Chungb754f522020-08-03 22:17:08 -070029# Keep the wm shell lib
Dave Mankoff85528072020-08-06 10:32:25 -040030-keep class com.android.wm.shell.*
Winson Chungb754f522020-08-03 22:17:08 -070031# Keep the protolog group methods that are called by the generated code
32-keepclassmembers class com.android.wm.shell.protolog.ShellProtoLogGroup {
33 *;
34}
Dave Mankoff85528072020-08-06 10:32:25 -040035
Dave Mankoffecfbd9b2020-08-12 17:00:40 -040036-keep class com.android.systemui.dagger.GlobalRootComponent { *; }
Dave Mankoffdd7ce812020-08-17 10:34:05 -040037-keep class com.android.systemui.dagger.GlobalRootComponent$SysUIComponentImpl { *; }
Dave Mankoff7f74eb82020-08-18 10:09:31 -040038-keep class com.android.systemui.dagger.Dagger** { *; }
Jared Dukedc1646f2021-11-30 12:35:45 -080039-keep class com.android.systemui.tv.Dagger** { *; }
40
41# Removes runtime checks added through Kotlin to JVM code genereration to
42# avoid linear growth as more Kotlin code is converted / added to the codebase.
43# These checks are generally applied to Java platform types (values returned
44# from Java code that don't have nullness annotations), but we remove them to
45# avoid code size increases.
46#
47# See also https://kotlinlang.org/docs/reference/java-interop.html
48#
49# TODO(b/199941987): Consider standardizing these rules in a central place as
50# Kotlin gains adoption with other platform targets.
51-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
52 # Remove check for method parameters being null
53 static void checkParameterIsNotNull(java.lang.Object, java.lang.String);
54
55 # When a Java platform type is returned and passed to Kotlin NonNull method,
56 # remove the null check
57 static void checkExpressionValueIsNotNull(java.lang.Object, java.lang.String);
58 static void checkNotNullExpressionValue(java.lang.Object, java.lang.String);
59
60 # Remove check that final value returned from method is null, if passing
61 # back Java platform type.
62 static void checkReturnedValueIsNotNull(java.lang.Object, java.lang.String, java.lang.String);
63 static void checkReturnedValueIsNotNull(java.lang.Object, java.lang.String);
64
65 # Null check for accessing a field from a parent class written in Java.
66 static void checkFieldIsNotNull(java.lang.Object, java.lang.String, java.lang.String);
67 static void checkFieldIsNotNull(java.lang.Object, java.lang.String);
68
69 # Removes code generated from !! operator which converts Nullable type to
70 # NonNull type. These would throw an NPE immediate after on access.
71 static void checkNotNull(java.lang.Object, java.lang.String);
72 static void checkNotNullParameter(java.lang.Object, java.lang.String);
73
74 # Removes lateinit var check being used before being set. Check is applied
75 # on every field access without this.
76 static void throwUninitializedPropertyAccessException(java.lang.String);
77}