# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in android-sdk/sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html
#

# Keep class name intact so we can detect its presence at runtime
-keepnames class com.google.android.gms.location.LocationServices
-keepnames class com.google.android.gms.common.GoogleApiAvailability

# Reflection-based optional dependency access (API < 24 notification status check)
-keepnames class androidx.core.app.NotificationManagerCompat
-keepclassmembers class androidx.core.app.NotificationManagerCompat {
    public static androidx.core.app.NotificationManagerCompat from(android.content.Context);
    public boolean areNotificationsEnabled();
}

# Reflection-based legacy FCM token retrieval (firebase-messaging < 20.3.0)
-keepnames class com.google.firebase.iid.FirebaseInstanceId
-keepclassmembers class com.google.firebase.iid.FirebaseInstanceId {
    public static com.google.firebase.iid.FirebaseInstanceId getInstance();
    public java.lang.String getToken(java.lang.String, java.lang.String);
}

-keepnames class com.google.firebase.messaging.FirebaseMessaging
-keepclassmembers class com.google.firebase.messaging.FirebaseMessaging {
    public static com.google.firebase.messaging.FirebaseMessaging getInstance();
    public *** getToken();
    public *** register();
}

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

-dontwarn com.amazon.device.messaging.**
-dontwarn bo.app.**
-dontwarn com.google.android.gms.**
-dontwarn com.google.firebase.iid.FirebaseInstanceId
-dontwarn com.google.firebase.messaging.FirebaseMessaging
-dontwarn com.google.android.gms.cloudmessaging.CloudMessage
