xref: /aosp_15_r20/external/zxing/android/proguard.cfg (revision 513427e33d61bc67fc40bc261642ac0b2a686b45)
1*513427e3STreehugger Robot# This is a configuration file for ProGuard.
2*513427e3STreehugger Robot# http://proguard.sourceforge.net/index.html#manual/usage.html
3*513427e3STreehugger Robot
4*513427e3STreehugger Robot# Optimizations: If you don't want to optimize, use the
5*513427e3STreehugger Robot# proguard-android.txt configuration file instead of this one, which
6*513427e3STreehugger Robot# turns off the optimization flags.  Adding optimization introduces
7*513427e3STreehugger Robot# certain risks, since for example not all optimizations performed by
8*513427e3STreehugger Robot# ProGuard works on all versions of Dalvik.  The following flags turn
9*513427e3STreehugger Robot# off various optimizations known to have issues, but the list may not
10*513427e3STreehugger Robot# be complete or up to date. (The "arithmetic" optimization can be
11*513427e3STreehugger Robot# used if you are only targeting Android 2.0 or later.)  Make sure you
12*513427e3STreehugger Robot# test thoroughly if you go this route.
13*513427e3STreehugger Robot-optimizations !code/simplification/cast,!field/*,!class/merging/*,!class/unboxing/enum,!code/allocation/variable,!method/marking/private
14*513427e3STreehugger Robot-optimizationpasses 5
15*513427e3STreehugger Robot-allowaccessmodification
16*513427e3STreehugger Robot-dontpreverify
17*513427e3STreehugger Robot
18*513427e3STreehugger Robot# The remainder of this file is identical to the non-optimized version
19*513427e3STreehugger Robot# of the Proguard configuration file (except that the other file has
20*513427e3STreehugger Robot# flags to turn off optimization).
21*513427e3STreehugger Robot
22*513427e3STreehugger Robot-dontusemixedcaseclassnames
23*513427e3STreehugger Robot-dontskipnonpubliclibraryclasses
24*513427e3STreehugger Robot-verbose
25*513427e3STreehugger Robot
26*513427e3STreehugger Robot# ADDED
27*513427e3STreehugger Robot-dontshrink
28*513427e3STreehugger Robot-dontobfuscate
29*513427e3STreehugger Robot
30*513427e3STreehugger Robot-keepattributes *Annotation*
31*513427e3STreehugger Robot-keep public class com.google.vending.licensing.ILicensingService
32*513427e3STreehugger Robot-keep public class com.android.vending.licensing.ILicensingService
33*513427e3STreehugger Robot
34*513427e3STreehugger Robot# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
35*513427e3STreehugger Robot-keepclasseswithmembernames class * {
36*513427e3STreehugger Robot    native <methods>;
37*513427e3STreehugger Robot}
38*513427e3STreehugger Robot
39*513427e3STreehugger Robot# keep setters in Views so that animations can still work.
40*513427e3STreehugger Robot# see http://proguard.sourceforge.net/manual/examples.html#beans
41*513427e3STreehugger Robot-keepclassmembers public class * extends android.view.View {
42*513427e3STreehugger Robot   void set*(***);
43*513427e3STreehugger Robot   *** get*();
44*513427e3STreehugger Robot}
45*513427e3STreehugger Robot
46*513427e3STreehugger Robot# We want to keep methods in Activity that could be used in the XML attribute onClick
47*513427e3STreehugger Robot-keepclassmembers class * extends android.app.Activity {
48*513427e3STreehugger Robot   public void *(android.view.View);
49*513427e3STreehugger Robot}
50*513427e3STreehugger Robot
51*513427e3STreehugger Robot# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
52*513427e3STreehugger Robot-keepclassmembers enum * {
53*513427e3STreehugger Robot    public static **[] values();
54*513427e3STreehugger Robot    public static ** valueOf(java.lang.String);
55*513427e3STreehugger Robot}
56*513427e3STreehugger Robot
57*513427e3STreehugger Robot-keep class * implements android.os.Parcelable {
58*513427e3STreehugger Robot  public static final android.os.Parcelable$Creator *;
59*513427e3STreehugger Robot}
60*513427e3STreehugger Robot
61*513427e3STreehugger Robot-keepclassmembers class **.R$* {
62*513427e3STreehugger Robot    public static <fields>;
63*513427e3STreehugger Robot}
64*513427e3STreehugger Robot
65*513427e3STreehugger Robot# The support library contains references to newer platform versions.
66*513427e3STreehugger Robot# Don't warn about those in case this app is linking against an older
67*513427e3STreehugger Robot# platform version.  We know about them, and they are safe.
68*513427e3STreehugger Robot-dontwarn android.support.**
69