# We have moved -dontobfuscate and -dontoptimize to the makefiles.
# dex does not like code run through proguard optimize and preverify steps.
# -dontoptimize
-dontpreverify

# Don't obfuscate. We only need dead code striping.
# -dontobfuscate

# Add this flag in your package's own configuration if it's needed.
#-flattenpackagehierarchy

# Keep classes and methods that have @VisibleForTesting annotations, except in
# intermediate libraries that export those annotations (e.g., androidx, guava).
# This avoids keeping library-specific test code that isn't actually needed
# for platform testing.
# TODO(b/239961360): Migrate away from androidx.annotation.VisibleForTesting
# and com.google.common.annotations.VisibleForTesting use in platform code.
-keep @**.VisibleForTesting class !androidx.**,!com.google.common.**,*
-keepclassmembers class !androidx.**,!com.google.common.**,* {
    @**.VisibleForTesting *;
}

# Keep rule for members that are needed solely to keep alive downstream weak
# references, and could otherwise be removed after tree shaking optimizations.
-keepclassmembers,allowaccessmodification,allowobfuscation,allowshrinking class * {
  @com.android.internal.annotations.KeepForWeakReference <fields>;
}

# Understand the common @Keep annotation from various Android packages:
#  * android.support.annotation
#  * androidx.annotation
#  * com.android.internal.annotations
-keep class **android**.annotation*.Keep

-keep @**android**.annotation*.Keep class * { *; }

-keepclasseswithmembers class * {
    @**android**.annotation*.Keep <methods>;
}

-keepclasseswithmembers class * {
    @**android**.annotation*.Keep <fields>;
}

-keepclasseswithmembers class * {
    @**android**.annotation*.Keep <init>(...);
}

-include proguard_basic_keeps.flags
