1 # This is a configuration file for ProGuard. 2 # http://proguard.sourceforge.net/index.html#manual/usage.html 3 4 # Keep all Fragments in this package, which are used by reflection. 5 -keep public class com.android.settings.** extends android.app.Fragment 6 7 # Keep all preference controllers needed by slice and DashboardFragment. 8 -keep class * extends com.android.settings.core.BasePreferenceController { 9 *; 10 } 11 12 -keep class * extends com.android.settings.core.TogglePreferenceController { 13 *; 14 } 15 16 # We want to keep methods in Activity that could be used in the XML attribute onClick. 17 -keepclassmembers class * extends android.app.Activity { 18 public void *(android.view.View); 19 public void *(android.view.MenuItem); 20 } 21 22 # Keep setters in Views so that animations can still work. 23 -keep public class * extends android.view.View { 24 public <init>(android.content.Context); 25 public <init>(android.content.Context, android.util.AttributeSet); 26 public <init>(android.content.Context, android.util.AttributeSet, int); 27 28 void set*(***); 29 *** get*(); 30 } 31 32 # Keep classes that may be inflated from XML. 33 -keepclasseswithmembers class * { 34 public <init>(android.content.Context, android.util.AttributeSet); 35 } 36 -keepclasseswithmembers class * { 37 public <init>(android.content.Context, android.util.AttributeSet, int); 38 } 39 -keepclasseswithmembers class * { 40 public <init>(android.content.Context, android.util.AttributeSet, int, int); 41 } 42 43 # Keep annotated classes or class members. 44 -keep @android.support.annotation.Keep class * 45 -keepclassmembers class * { 46 @android.support.annotation.Keep *; 47 } 48 49 # Keep specific fields used via reflection. 50 -keepclassmembers class * { 51 public static ** SEARCH_INDEX_DATA_PROVIDER; 52 public static ** SUMMARY_PROVIDER_FACTORY; 53 } 54 -keep class android.support.v4.app.CoreComponentFactory 55