# Twilio Video SDK: https://www.twilio.com/docs/video/android
-keep class tvi.webrtc.** { *; }
-keep class com.twilio.video.** { *; }
-keepattributes InnerClasses

# Don't obfuscate our model classes used by Retrofit/pbandk
-keepnames class * extends pbandk.Message
-keepclassmembers class * extends pbandk.Message {
    public static ** Companion;
}
-keepnames class * extends pbandk.Message$Companion

################### Needed for kotlin-reflect ###################
# TODO: we can remove these rules after updating to Kotlin 1.4 since they will be included.
# See here: https://github.com/JetBrains/kotlin/commit/482874fdc1f1fe99a81147b90f81102c0c85c58e

# Keep Metadata annotations so they can be parsed at runtime.
-keep class kotlin.Metadata { *; }

# Keep generic signatures and annotations at runtime.
# R8 requires InnerClasses and EnclosingMethod if you keepattributes Signature.
-keepattributes InnerClasses,Signature,RuntimeVisible*Annotations,EnclosingMethod

# Don't note on API calls from different JVM versions as they're gated properly at runtime.
-dontnote kotlin.internal.PlatformImplementationsKt

# Don't note on internal APIs, as there is some class relocating that shrinkers may unnecessarily find suspicious.
-dontwarn kotlin.reflect.jvm.internal.**
################### End kotlin-reflect ###################
