# ----------------------------------------------------------------------------
# BingoSDK 消费者混淆规则 (Consumer Rules)
# 这些规则会自动合并到宿主 App 的混淆配置中
# ----------------------------------------------------------------------------

# [核心] 锁定 SDK 的混淆状态
# 禁止宿主 App 对 com.bingo.sdk 包下的类进行二次混淆或重命名。
# 确保最终 APK 中的类名和结构与 SDK AAR 完全一致，满足 Smali 替换和稳定性需求。
-keep class com.bingo.sdk.** { *; }

# 以下规则虽然被上面的全量 keep 覆盖，但作为文档保留，表明 SDK 的核心交互部分。

# 1. 保留对外暴露的核心入口
-keep class com.bingo.sdk.BingoSdkCore {
    public <methods>;
}

# 2. 保留宿主需要实现的回调接口
-keep interface com.bingo.sdk.callback.** { *; }

# 3. 保留宿主需要调用的常量
-keep class com.bingo.sdk.constants.** { *; }

# 4. 保留宿主需要传递或接收的实体参数
-keep class com.bingo.sdk.bean.** { *; }

# 5. 自定义 View (如果宿主 XML 引用)
-keep class com.bingo.sdk.view.LoadingIndicatorView {
    public <init>(android.content.Context);
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(android.content.Context, android.util.AttributeSet, int);
}