# We rely on these Google Play services AppSet classes when useAppSetIdForDeviceId = true
-keep class com.google.android.gms.appset.AppSet {
  public static com.google.android.gms.appset.AppSetIdClient getClient(android.content.Context);
}
-keep class com.google.android.gms.appset.AppSetIdClient {
  public com.google.android.gms.tasks.Task getAppSetIdInfo();
}
-keep class com.google.android.gms.appset.AppSetIdInfo {
  public java.lang.String getId();
}
-keep class com.google.android.gms.tasks.Tasks {
  public static java.lang.Object await(com.google.android.gms.tasks.Task);
}
-keep class com.google.android.gms.tasks.Task

#################### START: Compose Proguard Rules ####################

# The Android SDK checks at runtime if these classes are available via Class.forName
-keepnames interface androidx.compose.ui.node.Owner
-keep class com.amplitude.android.internal.locators.ComposeViewTargetLocator

-keepnames class androidx.compose.foundation.ClickableElement
-keepnames class androidx.compose.foundation.CombinedClickableElement

# Keep custom Compose modifiers for type-based detection
-keep class com.amplitude.android.internal.compose.AmpFrustrationIgnoreElement

#################### END: Compose Proguard Rules ####################