| OLD | NEW |
| 1 # Disable obfuscation for the following two packages. | 1 # Disable obfuscation for the following two packages. |
| 2 -keepnames,allowoptimization class com.google.android.apps.chrome.**,org.chromiu
m.** { | 2 -keepnames,allowoptimization class com.google.android.apps.chrome.**,org.chromiu
m.** { |
| 3 *; | 3 *; |
| 4 } | 4 } |
| 5 | 5 |
| 6 # Fragments are loaded using reflection via Fragment.instantiate(Context,String) | 6 # Fragments are loaded using reflection via Fragment.instantiate(Context,String) |
| 7 # This can be improved upon - see crbug.com/622023. | 7 # This can be improved upon - see crbug.com/622023. |
| 8 -keep public class com.google.android.apps.chrome** extends android.app.Fragment | 8 -keep public class com.google.android.apps.chrome** extends android.app.Fragment |
| 9 -keep public class org.chromium** extends android.app.Fragment | 9 -keep public class org.chromium** extends android.app.Fragment |
| 10 | 10 |
| 11 # Keep protobuf code used via reflection | |
| 12 # TODO(tonyg): Removing these -keeps results in new notes, but nothing seems to | |
| 13 # break. This exclusion costs almost 100k of dex size so consider replacing it | |
| 14 # with a -dontnote after more testing. | |
| 15 -keep class com.google.protobuf.** { | |
| 16 *** newBuilder(); | |
| 17 *** parseFrom(java.io.InputStream); | |
| 18 } | |
| 19 | |
| 20 # Keep the client interfaces for cacheinvalidation as they are used as | 11 # Keep the client interfaces for cacheinvalidation as they are used as |
| 21 # argument types for some of our code that we're keeping and proguard warns | 12 # argument types for some of our code that we're keeping and proguard warns |
| 22 # otherwise. | 13 # otherwise. |
| 23 -keep class com.google.ipc.invalidation.external.client.** { | 14 -keep class com.google.ipc.invalidation.external.client.** { |
| 24 *; | 15 *; |
| 25 } | 16 } |
| 26 | 17 |
| 27 # Keep all Parcelables as they might be marshalled outside Chrome. | 18 # Keep all Parcelables as they might be marshalled outside Chrome. |
| 28 -keepnames class * implements android.os.Parcelable { | 19 -keepnames class * implements android.os.Parcelable { |
| 29 public static final ** CREATOR; | 20 public static final ** CREATOR; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 42 # Don't warn about those in case this app is linking against an older | 33 # Don't warn about those in case this app is linking against an older |
| 43 # platform version. We know about them, and they are safe. | 34 # platform version. We know about them, and they are safe. |
| 44 -dontwarn android.support.** | 35 -dontwarn android.support.** |
| 45 | 36 |
| 46 # Proguard mistakenly optimizes away some null checks on final fields | 37 # Proguard mistakenly optimizes away some null checks on final fields |
| 47 # in the support library. | 38 # in the support library. |
| 48 # See https://sourceforge.net/p/proguard/bugs/531/#fdc9/41e2 | 39 # See https://sourceforge.net/p/proguard/bugs/531/#fdc9/41e2 |
| 49 -keepclassmembers,allowshrinking,allowobfuscation class android.support.v7.widge
t.AppCompatButton { | 40 -keepclassmembers,allowshrinking,allowobfuscation class android.support.v7.widge
t.AppCompatButton { |
| 50 !static final <fields>; | 41 !static final <fields>; |
| 51 } | 42 } |
| OLD | NEW |