Files
Xpress-rider/android/app/proguard-rules.pro

90 lines
2.8 KiB
Prolog

##########################################
## FLUTTER
##########################################
-keep class io.flutter.** { *; }
-dontwarn io.flutter.**
##########################################
## FIREBASE (Safe)
##########################################
-keep class com.google.firebase.** { *; }
-keep class com.google.android.gms.** { *; }
-dontwarn com.google.firebase.**
-dontwarn com.google.android.gms.**
##########################################
## FCM Background Messaging
##########################################
-keep class com.google.firebase.messaging.FirebaseMessagingService { *; }
-keep class com.google.firebase.messaging.FirebaseMessaging { *; }
-keep class com.google.firebase.messaging.RemoteMessage { *; }
##########################################
## Gson / JSON Models (Correct way)
##########################################
-keepclassmembers class * {
@com.google.gson.annotations.SerializedName <fields>;
}
# Keep all model classes to prevent crashes
-keep class **.model.** { *; }
-keep class **.models.** { *; }
##########################################
## Retrofit / OkHttp
##########################################
-dontwarn okhttp3.**
-dontwarn okio.**
-dontwarn retrofit2.**
-keep class okhttp3.** { *; }
-keep class okio.** { *; }
-keep interface retrofit2.** { *; }
##########################################
## Glide / image loading (avoid BigPicture FCM crash)
##########################################
-dontwarn com.bumptech.glide.**
-keep class com.bumptech.glide.** { *; }
##########################################
## Prevent crashes for reflection
##########################################
-keepattributes Signature
-keepattributes Annotation
##########################################
## KEEP ENUMS (Firebase uses it)
##########################################
-keepclassmembers enum * { *; }
##########################################
## Do NOT break Kotlin (Important)
##########################################
-keep class kotlin.** { *; }
-dontwarn kotlin.**
##########################################
## GETX (State Management & Snackbars)
##########################################
# Keep all GetX classes and methods
-keep class get.** { *; }
-keep class * extends get.GetxController { *; }
-keepclassmembers class * extends get.GetxController {
<methods>;
<fields>;
}
# Keep GetX navigation and routing
-keep class get.Get { *; }
-keep class get.GetMaterialApp { *; }
-keep class get.GetNavigator { *; }
-keep class get.GetSnackbar { *; }
# Keep GetX observables and reactive variables
-keep class get.Rx* { *; }
-keep class get.Obs* { *; }
-dontwarn get.**
##########################################
## Reduce unnecessary warnings
##########################################
-ignorewarnings