#=============== Flutter Core ===============
# قوانین مربوط به موتور و پلاگین‌های اصلی فلاتر
-keep class io.flutter.embedding.** { *; }
-keep class io.flutter.plugins.** { *; }
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.** { *; }
-keep class io.flutter.util.** { *; }
-keep class io.flutter.view.** { *; }

#=============== Google Play & Firebase ===============
# این قوانین برای سرویس‌های گوگل پلی و فایربیس ضروری هستند
-keep class com.google.android.gms.** { *; }
-dontwarn com.google.android.gms.**
-keep class com.google.firebase.** { *; }
-dontwarn com.google.firebase.**
-keep class com.google.android.play.core.** { *; }
-dontwarn com.google.android.play.core.**

#=============== Mobile Scanner & ML Kit ===============
# قوانین مربوط به پکیج اسکنر کد QR و ML Kit
-keep class com.google.mlkit.** { *; }
-dontwarn com.google.mlkit.**

#=============== Flutter Plugins ===============
# قوانین مربوط به سایر پکیج‌های استفاده شده
-keep class com.baseflow.geolocator.** { *; }
-keep class io.flutter.plugins.imagepicker.** { *; }
-keep class com.baseflow.permissionhandler.** { *; }

#=============== General Rules ===============
# قوانین عمومی برای حفظ متدهای نیتیو، کلاس‌های Parcelable و انوتیشن‌ها
-keepclasseswithmembernames class * {
    native <methods>;
}

-keep class * implements android.os.Parcelable {
    public static final android.os.Parcelable$Creator *;
}

-keepattributes *Annotation*, Signature, InnerClasses, EnclosingMethod