# Copyright 2016 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -keepclassmembers class org.chromium.android_webview.AwPdfExporter { android.view.ViewGroup mContainerView; } # Keep the factory and its public members; it's the main entry point used by the # framework. -keep class com.android.webview.chromium.WebViewChromiumFactoryProvider { public *; } -keep class * implements android.webkit.WebViewFactoryProvider$Statics { *; } -keep class com.android.webview.chromium.ContentSettingsAdapter { public *; } -keep class com.android.webview.chromium.WebViewChromiumFactoryProviderFor* { public *; } -keep class com.android.webview.chromium.WebViewDatabaseAdapter { public *; } # This is the main entry point for APIs. It is kept to make developing with # unreleased Android easier. -keep class com.android.webview.chromium.WebViewChromium { public *; } # This rule prevents class merging on R$* resource classes (for example, R$anim, # R$styleable, R$bool). This causes issues for WebView when unused resource # stripping, since in WebView we are forced to detect which resources are unused # by scanning the dex file for R$.. Having the R$* classes # being merged together means that R$anim.foo may now be found in R$bool.foo, # and this mistakenly will mark the foo resouce to be removed. More details in # crbug.com/1348329. -keep,allowaccessmodification,allowobfuscation,allowshrinking class **.R$* # Functor classes with native methods implemented in Android. -keep class com.android.webview.chromium.DrawFunctor -keep class com.android.webview.chromium.DrawGLFunctor -keep class com.android.webview.chromium.GraphicsUtils # The lock file object must be kept explicitly to avoid it being optimized # away and the lock released by the object's finalizer. -keep class org.chromium.android_webview.AwDataDirLock { java.nio.channels.FileLock sExclusiveFileLock; java.io.RandomAccessFile sLockFile; } # Workaround for crbug/1002847. Methods of BaseGmsClient are incorrectly # removed even though they are required for the derived class GmsClient # to correctly implement Api$Client. # TODO: remove once crbug/1002847 resolved. -keep public class com.google.android.gms.common.internal.BaseGmsClient { public void disconnect(); public void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]); public int getMinApkVersion(); public boolean requiresSignIn(); }