# =====================================
# GlobalJain - ProGuard / R8 Configuration
# =====================================

# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# -------------------------------------
# WebView support (uncomment if needed)
# -------------------------------------
# -keepclassmembers class fqcn.of.javascript.interface.for.webview {
#     public *;
# }

# Preserve line numbers for crash stack traces
# -keepattributes SourceFile,LineNumberTable
# -renamesourcefileattribute SourceFile


# =====================================
# 🚀 Firebase & Google Play Services
# =====================================
-keep class com.google.firebase.** { *; }
-dontwarn com.google.firebase.**
-keep class com.google.android.gms.** { *; }
-dontwarn com.google.android.gms.**

# Keep analytics and measurement classes
-keep class com.google.android.gms.measurement.** { *; }
-keep class com.google.firebase.analytics.** { *; }

# Keep Firebase Auth, Database, and Messaging models
-keepclassmembers class * {
    @com.google.firebase.database.PropertyName <fields>;
}

# =====================================
#⚙️ Facebook & Google Auth SDK (from your missing_rules.txt)
# =====================================
-dontwarn com.facebook.CallbackManager$Factory
-dontwarn com.facebook.CallbackManager
-dontwarn com.facebook.FacebookCallback
-dontwarn com.facebook.login.LoginManager
-dontwarn com.facebook.login.widget.LoginButton
-dontwarn com.google.android.gms.auth.GoogleAuthException
-dontwarn com.google.android.gms.auth.GoogleAuthUtil
-dontwarn com.google.android.gms.auth.api.signin.GoogleSignIn
-dontwarn com.google.android.gms.auth.api.signin.GoogleSignInClient

# =====================================
# ⚡ Ionic / Capacitor (keep core native bridge)
# =====================================
-keep class com.getcapacitor.** { *; }
-dontwarn com.getcapacitor.**

# Keep capacitor plugins (prevents R8 from stripping plugin classes)
-keep class * extends com.getcapacitor.Plugin

# =====================================
# ✅ General Safe Defaults
# =====================================
# Keep annotations
-keepattributes *Annotation*

# Keep enum values
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

