# Keep the Compose internals class name. We need this in the SR recorder.
-keepnames class androidx.compose.runtime.Composition
-keepnames class androidx.compose.ui.platform.ComposeView
-keepnames class androidx.compose.material.DefaultButtonColors
-keep class androidx.compose.ui.platform.WrappedComposition {
    <fields>;
}
-keepclassmembers class androidx.compose.ui.platform.AbstractComposeView {
    <fields>;
}
-keepclassmembers class androidx.compose.ui.platform.AndroidComposeView {
     <fields>;
}
-keepclassmembers class androidx.compose.foundation.text.modifiers.TextStringSimpleElement {
     <fields>;
}
-keep class androidx.compose.material.CheckDrawingCache {
     <fields>;
}
-keep class androidx.compose.material.CheckboxKt$CheckboxImpl$1$1 {
     <fields>;
}
-keep class androidx.compose.material.RadioButtonKt$RadioButton$2$1 {
     <fields>;
}
-keep class androidx.compose.ui.draw.DrawBehindElement {
     <fields>;
}
-keepclassmembers class androidx.compose.foundation.BackgroundElement {
     <fields>;
}
-keep class androidx.compose.ui.node.LayoutNode {
     *;
}
-keep class androidx.compose.ui.node.NodeChain {
    <fields>;
}
-keep class androidx.compose.ui.Modifier$Node{
    <fields>;
}
-keep class coil3.compose.internal.ContentPainterNode{
    <fields>;
}
-keep class coil3.compose.AsyncImagePainter{
    <methods>;
}

-keep class androidx.compose.ui.semantics.SemanticsNode {
     <fields>;
}
-keep class androidx.compose.ui.draw.PainterElement {
     <fields>;
}
-keep class androidx.compose.ui.graphics.vector.VectorPainter {
     <fields>;
}
-keep class androidx.compose.ui.graphics.painter.BitmapPainter {
     <fields>;
}
-keep class androidx.compose.ui.graphics.vector.VectorComponent {
     <fields>;
}
-keep class androidx.compose.ui.graphics.vector.DrawCache {
     <fields>;
}
-keep class androidx.compose.ui.graphics.AndroidImageBitmap {
     <fields>;
}
-keep class coil.compose.ContentPainterElement {
     <fields>;
}
-keep class coil.compose.ContentPainterModifier {
     <fields>;
}
-keep class coil.compose.AsyncImagePainter {
     <fields>;
}
-keep class androidx.compose.foundation.layout.PaddingElement{
    <fields>;
}
-keep class androidx.compose.ui.graphics.GraphicsLayerElement{
    <fields>;
}
-keep class androidx.compose.ui.text.ParagraphInfo{
    <fields>;
}
-keep class androidx.compose.ui.text.AndroidParagraph{
    <fields>;
}
-keep class androidx.compose.ui.text.android.TextLayout{
    <fields>;
}

# This is needed for the Datadog Error Tracking feature to work reliably,
 # this file is used by Logs and RUM modules
-keepattributes SourceFile,LineNumberTable

# Shaded dependencies
-keep class cloud.flashcat.shaded.** { *; }

# Runtime dependencies checked through Class.forName during SDK initialization.
# Gson and OkHttp are compileOnly, so host apps provide them; keep their original
# class names so R8 minified apps still pass the SDK dependency check.
-keep class com.google.gson.** { *; }
-keep class okhttp3.OkHttpClient { *; }
