# (c) Meta Platforms, Inc. and affiliates. Confidential and proprietary.

# Proguard configurations in this file get packaged up in the AAR file and
# merged with the application proguard rules.
# For Dynamically Loaded library we want to keep all public classes, so that they are
# available from internal classes.
-dontwarn com.facebook.ads.internal.**
-dontwarn com.facebook.infer.annotation.**
-keeppackagenames com.facebook.*
-keep public class com.facebook.ads.** {
   public protected *;
}
# SoT browser (Chrome Custom Tabs): the vendored androidx.browser wrappers look up
# these AIDL Binder interfaces via Class.forName(literal) in CctAvailability, and the
# interfaces cross the IPC boundary to Chrome. Both require the original names, so R8
# must not shrink or rename them. Without this, release builds strip these classes and
# CCT silently falls back to the in-app WebView.
-keep class android.support.customtabs.** { *; }
-keep interface android.support.customtabs.** { *; }
# Keep DSL perf instrumentation for dumpapp access (debug-only, not public API)
-keep class com.facebook.ads.internal.view.dynamiclayout.DynamicWebViewController {
   void recordPerf(java.lang.String);
   void recordJSPerf(java.lang.String, long, long);
   private void persistPerfTimings();
   private java.util.HashMap mPerfTimings;
   private long mPerfStartTime;
}
