-dontwarn com.google.**
-dontwarn au.com.bytecode.**
-dontwarn org.joda.time.**
-dontwarn org.osmdroid.**
-dontwarn org.xmlpull.v1.**
-dontwarn org.hamcrest.**
-dontwarn com.rarepebble.**
-dontwarn com.networknt.**
-dontwarn android.content.res.**
-dontwarn org.kxml2.io.**

-keep class org.odk.collect.android.logic.actions.**
-keep class android.support.v7.widget.** { *; }
-keep class org.mp4parser.boxes.** { *; }
#
#-keep class * implements org.javarosa.core.util.externalizable.Externalizable{}
#-keep class org.javarosa.core.model.instance.geojson.GeojsonFeature { *; }
#-keep class org.javarosa.core.model.instance.geojson.GeojsonGeometry { *; }
#-keep class com.xw.net.utils.ForegroundActivityHolder { *; }

-dontobfuscate

# recommended okhttp rules
# https://github.com/square/okhttp#r8--proguard
-dontwarn javax.annotation.**
-dontwarn org.codehaus.mojo.animal_sniffer.*
-dontwarn okhttp3.internal.platform.ConscryptPlatform

# Keep line numbers for Crashlytics https://stackoverflow.com/questions/38529304/android-crashlytics-sending-incorrect-line-number
-keepattributes SourceFile,LineNumberTable

# Please add these rules to your existing keep rules in order to suppress warnings.
# This is generated automatically by the Android Gradle plugin.
-dontwarn javax.annotation.Nullable

-dontwarn java.beans.BeanInfo
-dontwarn java.beans.FeatureDescriptor
-dontwarn java.beans.IntrospectionException
-dontwarn java.beans.Introspector
-dontwarn java.beans.PropertyDescriptor

# --- 保留 MQTT 相关类 ---
-keep class org.eclipse.paho.** { *; }
-keep class org.eclipse.paho.client.mqttv3.** { *; }
-keep interface org.eclipse.paho.client.mqttv3.** { *; }

# --- 保留你自己封装的 MQTT Helper 类 ---
-keep class com.xw.net.client.ClientHelper.** { *; }   # 修改为你的实际包名
-keep class com.xw.net.client.mqtt.MqttHelper.** { *; }   # 修改为你的实际包名

# --- 可选：保留日志类 ---
-keep class org.slf4j.** { *; }
