Justin Klaassen | d770c05 | 2016-06-28 19:26:43 -0700 | [diff] [blame] | 1 | # This is a configuration file for ProGuard. |
| 2 | # http://proguard.sourceforge.net/index.html#manual/usage.html |
| 3 | |
Daisuke Miyakawa | c81adf5 | 2010-08-12 13:04:43 -0700 | [diff] [blame] | 4 | # Keep all Fragments in this package, which are used by reflection. |
Justin Klaassen | 478b5a8 | 2016-06-21 18:31:16 -0700 | [diff] [blame] | 5 | -keep public class com.android.settings.** extends android.app.Fragment |
Amith Yamasani | b14e1e0 | 2010-11-02 09:52:29 -0700 | [diff] [blame] | 6 | |
Fan Zhang | 917f101 | 2018-02-21 15:22:25 -0800 | [diff] [blame^] | 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 | |
Justin Klaassen | d770c05 | 2016-06-28 19:26:43 -0700 | [diff] [blame] | 16 | # We want to keep methods in Activity that could be used in the XML attribute onClick. |
Justin Klaassen | 478b5a8 | 2016-06-21 18:31:16 -0700 | [diff] [blame] | 17 | -keepclassmembers class * extends android.app.Activity { |
Justin Klaassen | ab70411 | 2016-08-01 16:16:40 -0700 | [diff] [blame] | 18 | public void *(android.view.View); |
| 19 | public void *(android.view.MenuItem); |
Jean Chalard | 0824d31 | 2011-12-02 17:47:09 +0900 | [diff] [blame] | 20 | } |
Udam Saini | 8ef4c62 | 2016-02-03 17:31:11 -0800 | [diff] [blame] | 21 | |
Justin Klaassen | d770c05 | 2016-06-28 19:26:43 -0700 | [diff] [blame] | 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. |
Justin Klaassen | 478b5a8 | 2016-06-21 18:31:16 -0700 | [diff] [blame] | 33 | -keepclasseswithmembers class * { |
Udam Saini | 8ef4c62 | 2016-02-03 17:31:11 -0800 | [diff] [blame] | 34 | public <init>(android.content.Context, android.util.AttributeSet); |
Justin Klaassen | d770c05 | 2016-06-28 19:26:43 -0700 | [diff] [blame] | 35 | } |
| 36 | -keepclasseswithmembers class * { |
Justin Klaassen | 478b5a8 | 2016-06-21 18:31:16 -0700 | [diff] [blame] | 37 | public <init>(android.content.Context, android.util.AttributeSet, int); |
Anna Galusza | 16d58e7 | 2016-03-22 13:07:44 -0700 | [diff] [blame] | 38 | } |
Matthew Fritze | b277557 | 2017-12-05 10:46:47 -0800 | [diff] [blame] | 39 | -keepclasseswithmembers class * { |
| 40 | public <init>(android.content.Context, android.util.AttributeSet, int, int); |
| 41 | } |
Justin Klaassen | ab70411 | 2016-08-01 16:16:40 -0700 | [diff] [blame] | 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 | } |