| 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 # TODO(aurimas): figure out why we need to keep these classes. | |
| 12 -keep class org.chromium.base.test.** { | |
| 13 *; | |
| 14 } | |
| 15 | |
| 16 # Keep protobuf code used via reflection | 11 # Keep protobuf code used via reflection |
| 17 # TODO(tonyg): Removing these -keeps results in new notes, but nothing seems to | 12 # TODO(tonyg): Removing these -keeps results in new notes, but nothing seems to |
| 18 # break. This exclusion costs almost 100k of dex size so consider replacing it | 13 # break. This exclusion costs almost 100k of dex size so consider replacing it |
| 19 # with a -dontnote after more testing. | 14 # with a -dontnote after more testing. |
| 20 -keep class com.google.protobuf.** { | 15 -keep class com.google.protobuf.** { |
| 21 *** newBuilder(); | 16 *** newBuilder(); |
| 22 *** parseFrom(java.io.InputStream); | 17 *** parseFrom(java.io.InputStream); |
| 23 } | 18 } |
| 24 | 19 |
| 25 # Keep the client interfaces for cacheinvalidation as they are used as | 20 # Keep the client interfaces for cacheinvalidation as they are used as |
| (...skipping 21 matching lines...) Expand all Loading... |
| 47 # Don't warn about those in case this app is linking against an older | 42 # Don't warn about those in case this app is linking against an older |
| 48 # platform version. We know about them, and they are safe. | 43 # platform version. We know about them, and they are safe. |
| 49 -dontwarn android.support.** | 44 -dontwarn android.support.** |
| 50 | 45 |
| 51 # Proguard mistakenly optimizes away some null checks on final fields | 46 # Proguard mistakenly optimizes away some null checks on final fields |
| 52 # in the support library. | 47 # in the support library. |
| 53 # See https://sourceforge.net/p/proguard/bugs/531/#fdc9/41e2 | 48 # See https://sourceforge.net/p/proguard/bugs/531/#fdc9/41e2 |
| 54 -keepclassmembers,allowshrinking,allowobfuscation class android.support.v7.widge
t.AppCompatButton { | 49 -keepclassmembers,allowshrinking,allowobfuscation class android.support.v7.widge
t.AppCompatButton { |
| 55 !static final <fields>; | 50 !static final <fields>; |
| 56 } | 51 } |
| 57 | |
| 58 # Everything below this is kept because they are referenced by the test APK. | |
| 59 -keep class android.support.v7.mediarouter.R* { | |
| 60 *; | |
| 61 } | |
| 62 | |
| 63 -keep class android.support.v7.media.MediaRouteProvider** { | |
| 64 *; | |
| 65 } | |
| 66 | |
| 67 -keep class android.support.v4.app.FragmentManager** { | |
| 68 *; | |
| 69 } | |
| 70 | |
| 71 -keep class android.support.v4.app.DialogFragment** { | |
| 72 *; | |
| 73 } | |
| 74 | |
| 75 -keep class android.support.v7.app.NotificationCompat** { | |
| 76 *; | |
| 77 } | |
| 78 | |
| 79 -keep class android.support.v7.app.AlertDialog** { | |
| 80 *; | |
| 81 } | |
| 82 | |
| 83 -keep class com.google.android.gms.cast.CastMediaControlIntent* { | |
| 84 *; | |
| 85 } | |
| 86 | |
| 87 -keepnames class com.google.android.gms.gcm.** { | |
| 88 *; | |
| 89 } | |
| 90 | |
| 91 -keepclassmembers class com.google.android.gms.gcm.TaskParams { | |
| 92 public <init>(java.lang.String); | |
| 93 } | |
| 94 | |
| 95 -keepnames class jp.tomorrowkey.android.gifplayer.** { | |
| 96 public *; | |
| 97 } | |
| 98 | |
| 99 # Keeping @VisibleForTesting and its annotated classes + methods | |
| 100 -keep @interface org.chromium.base.VisibleForTesting | |
| 101 -keep @org.chromium.base.VisibleForTesting class ** | |
| 102 -keepclasseswithmembers class * { | |
| 103 @org.chromium.base.VisibleForTesting <methods>; | |
| 104 } | |
| 105 | |
| 106 # Used in tests. | |
| 107 -keep class android.support.v4.view.ViewCompat { | |
| 108 public static int getLayoutDirection(android.view.View); | |
| 109 } | |
| 110 | |
| 111 # flingViewport is used by Android WebView and a Chrome test. | |
| 112 -keepclassmembers class org.chromium.content.browser.ContentViewCore { | |
| 113 public void flingViewport(long, int, int); | |
| 114 } | |
| 115 | |
| 116 # Needed to compile ChromeTest.apk | |
| 117 -keep class android.support.customtabs.** { | |
| 118 *; | |
| 119 } | |
| 120 | |
| 121 # TODO(yfriedman): Remove when crbug.com/488192 is fixed. | |
| 122 -dontwarn org.apache.http.conn.scheme.LayeredSocketFactory | |
| 123 | |
| 124 # Needed to run ChromeTest.apk | |
| 125 -keepnames class com.google.android.gms.common.GoogleApiAvailability { | |
| 126 *; | |
| 127 } | |
| 128 | |
| 129 # Needed for chrome_sync_shell_test_apk. Note - these do no affect chrome_apk's | |
| 130 # size. | |
| 131 -keep class org.chromium.sync.protocol.* { *; } | |
| 132 | |
| 133 # These resources are referenced in tests, but not in the real application. | |
| 134 -keepclassmembers class org.chromium.chrome.R$id { | |
| 135 int webapp_splash_space; | |
| 136 int mr_chooser_list; | |
| 137 int find_toolbar; | |
| 138 } | |
| OLD | NEW |