1# required for replacing elements in PreferenceFragment
2-keep class com.android.car.ui.preference.CarUiDropDownPreference {*;}
3-keep class com.android.car.ui.preference.CarUiListPreference {*;}
4-keep class com.android.car.ui.preference.CarUiMultiSelectListPreference {*;}
5-keep class com.android.car.ui.preference.CarUiEditTextPreference {*;}
6-keep class com.android.car.ui.preference.CarUiSwitchPreference {*;}
7-keep class com.android.car.ui.preference.CarUiPreference {*;}
8-keep class com.android.car.ui.preference.** extends com.android.car.ui.preference.CarUiPreference {*;}
9
10# required for default scrollbar implementation.
11-keep class com.android.car.ui.recyclerview.DefaultScrollBar {*;}
12
13# required for MenuItem click listeners
14-keepclasseswithmembers class * extends android.app.Activity {
15  public void * (com.android.car.ui.toolbar.MenuItem);
16}
17
18# We dynamically link the oem apis, and proguard can't see them
19# when running, so it errors out without -dontwarn
20-dontwarn com.android.car.ui.plugin.oemapis.**
21
22# Required because the static lib doesn't call most of the methods
23# on adapters, but instead passes it to the plugin, where they
24# are called. Since proguard can't even see that those methods are
25# overriding oem api interfaces (since the oem apis are dynamically
26# linked and marked with -dontwarn), it thinks they're unused.
27-keep class com.android.car.ui.**AdapterV* {*;}
28
29# required for accessing oem apis
30-keep class com.android.car.ui.pluginsupport.OemApiUtil {*;}
31
32# Required for AppCompat instantiating our layout inflater factory,
33# Otherwise it will be obfuscated and the reference to it in xml won't match
34-keep class com.android.car.ui.CarUiLayoutInflaterFactory {*;}
35
36# Required for reflection code in CarUiInstaller
37-keep class com.android.car.ui.baselayout.Insets {*;}
38-keep class com.android.car.ui.core.BaseLayoutController {*;}
39
40# Required for car-lib APIs
41# One of the GAS apps is failing during obfuscation by CrossReferenceValidator.
42# The root cause is unknown, and the suggestion from the team was to
43# suppress this warning.
44-dontwarn android.car.Car
45
46# This is needed so proguard would ignore the missing content provider.
47-dontwarn com.android.car.ui.plugin.PluginNameProvider
48