# sdk-im consumer ProGuard rules # ── Public API entry point ──────────────────────────────────────────────────── -keep class com.xuqm.sdk.im.ImSDK { *; } # ── Event listener interface (app subclasses it) ────────────────────────────── -keep interface com.xuqm.sdk.im.listener.ImEventListener { *; } -keep class * implements com.xuqm.sdk.im.listener.ImEventListener { *; } # ── All public model / enum classes ─────────────────────────────────────────── -keep class com.xuqm.sdk.im.model.** { *; } # Enum names are used as strings in JSON (chatType="SINGLE", msgType="TEXT", …) -keepclassmembers enum com.xuqm.sdk.im.model.** { public static **[] values(); public static ** valueOf(java.lang.String); } # ── Gson: request/response data classes in api package ─────────────────────── -keep class com.xuqm.sdk.im.api.** { *; } -keepclassmembers class com.xuqm.sdk.im.api.** { *; } # ── STOMP / WebSocket (OkHttp WebSocketListener subclass) ──────────────────── -keep class com.xuqm.sdk.im.ImClient { *; } -keepattributes Signature -keepattributes *Annotation* -keepattributes Exceptions