-keep class androidx.databinding.DataBindingComponent {*;}

-keep class com.particle.gui.**{*;}
-dontwarn com.particle.gui.**
-keep class com.google.android.filament.**{*;}
-dontwarn com.google.android.filament.**
-keep class com.luck.picture.lib.** { *; }




-keepattributes *Annotation*
-keepclassmembers class * {
    @org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }

# If using AsyncExecutord, keep required constructor of default event used.
# Adjust the class name if a custom failure event type is used.
-keepclassmembers class org.greenrobot.eventbus.util.ThrowableFailureEvent {
    <init>(java.lang.Throwable);
}

# Accessed via reflection, avoid renaming or removal
-keep class org.greenrobot.eventbus.android.AndroidComponentsImpl


-keep class com.google.gson.reflect.TypeToken { *; }
-keep class * extends com.google.gson.reflect.TypeToken
-keepattributes AnnotationDefault,RuntimeVisibleAnnotations

-keep public class * extends com.chad.library.adapter.base.viewholder.BaseViewHolder
-keepclassmembers  class **$** extends com.chad.library.adapter.base.viewholder.BaseViewHolder {
     <init>(...);
}
-keep class com.chad.library.adapter.base.viewholder.BaseDataBindingHolder {*;}

-keep class com.chad.library.adapter.base.**{*;}

# Keep all Particle GUI fragments
-keep class com.particle.gui.base.fragment.** { *; }

# Keep LoginOptFragment and its parents
-keep class com.particle.gui.ui.login.** { *; }