aboutsummaryrefslogtreecommitdiffstats
path: root/proguard.flags
blob: 7ff3d1753d58054a47a88b5bf40d331f0029b209 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#configuration
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

#keep common classes
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider

#keep all classes that might be used in XML layouts
-keep public class * extends android.view.View {
    public <init>(android.content.Context);
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(android.content.Context, android.util.AttributeSet, int);
    public void set*(...);
}
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

#keep callback methods (onClick, onOption...)
-keepclassmembers class * extends android.content.Context {
   public void *(android.view.View);
   public void *(android.view.MenuItem);
}

#keep parcelable constructors
-keepclassmembers class * implements android.os.Parcelable {
    static android.os.Parcelable$Creator CREATOR;
}

#keep all resource identifiers
-keep class **.R$*
-keepclassmembers class **.R$* {
    public static <fields>;
}

#keep all enumerations
-keep public enum * {
    **[] $VALUES;
    public *;
}

#keep preference's classes
-keep public class * extends android.preference.PreferenceFragment {
    public <init>(...);
}
-keep public class * extends android.preference.Preference {
    public <init>(...);
}

#keep effects and transitions classes public
-keep public class org.cyanogenmod.wallpapers.photophase.effects.* {
    public <init>(...);
    public java.lang.String getName();
    public void apply(...);
    public void setParameter(...);
    public void setUpdateListener(...);
    public void release(...);
}
-keep public class org.cyanogenmod.wallpapers.photophase.transitions.* {
    public <init>(...);
}