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