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

# Consumer proguard rules for videoextensions AAR
# Automatically applied when consumers build with R8/ProGuard

# Keep public API
-keep class com.meta.horizon.media.** { *; }

# Keep internal implementation classes (used via reflection, IPC, and JNI)
-keep class com.oculus.media.stereoview.** { *; }
-keep class com.oculus.media.utils.** { *; }
-keep class com.oculus.vrshell.** { *; }

# Keep native methods
-keepclasseswithmembernames class * {
    native <methods>;
}

# Suppress warnings for device-provided HorizonOS/VrOS classes
-dontwarn horizonos.**
-dontwarn vros.**

# Suppress warnings for device-provided classes referenced by the AAR
# (blur and IPC classes are provided by the HorizonOS runtime)
-dontwarn com.oculus.media.stereoview.blur.**
-dontwarn com.oculus.vrshell.privateipc.**

# Suppress warnings for compile-time annotations from transitive dependencies
# (Guava errorprone, j2objc, and JSR-305 annotations are not needed at runtime)
-dontwarn com.google.errorprone.annotations.**
-dontwarn com.google.j2objc.annotations.**
-dontwarn javax.annotation.**
-dontwarn com.facebook.kotlin.compilerplugins.dataclassgenerate.**
