# —— 腾讯特效 SDK Android 依赖配置片段 ——
# 占位符替换：
#   - <SUITE>: 套餐后缀，调试期推荐 S1-07，按需替换为 A1-xx / S1-xx / X1-xx / Avatar
#   - <TRTC_VERSION> / <LITEAV_VERSION>: 与项目实际版本对齐
#
# 注意：面板 JSON 不需要按套餐分目录。assets/beauty_panel/ 下直接平铺即可，
#      套餐差异通过运行期 TEUIConfig.getInstance().getPanelDataList() 的 add/skip 控制。


# ---- build.gradle (Module :app) ----
android {
    defaultConfig {
        // License 与包名绑定，调试和发版包名要一致
        applicationId "com.example.beauty"
        ndk {
            // 特效 SDK 至少包含 armeabi-v7a / arm64-v8a，发版建议只保留 arm64-v8a
            abiFilters "armeabi-v7a", "arm64-v8a"
        }
    }
    packagingOptions {
        // 避免 so 重复
        pickFirst "**/libc++_shared.so"
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    // 1) 腾讯特效核心 SDK（按购买套餐替换后缀）
    api 'com.tencent.mediacloud:TencentEffect_S1-07:latest.release'

    // 2) 美颜 UI 套件（含 TEPanelView / TEBeautyKit / TEUIConfig，自带的美颜面板）
    //    走 Adapter 路线 / 想直接用官方面板时强烈推荐
    api 'com.tencent.mediacloud:TEBeautyKit:latest.release'

    // 2.1) ⚠ 使用 TEPanelView / TEBeautyKit 时必加的传递依赖
    //      tebeautykit 内部用了：okhttp（下载素材）、glide（缩略图）、constraintlayout（面板布局）、gson（JSON 解析）。
    //      远程 maven 接入正常会带过来，但 AAR 接入 / BOM 锁版本时会丢失或冲突，
    //      所以官方 demo（TEBeautyDemo / TEBeauty_Download_Example）的 build.gradle 都 **显式声明** 这 4 个：
    implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
    implementation 'com.squareup.okhttp3:okhttp:3.9.0'
    implementation 'com.google.code.gson:gson:2.8.2'
    implementation 'com.github.bumptech.glide:glide:4.12.0'
    // 不用 TEPanelView 时（纯手动路线、不引入 TEBeautyKit）可以删掉这 4 行。

    // 3) 载体（按需启用其中之一）
    // implementation 'com.tencent.liteav:LiteAVSDK_TRTC:latest.release'          // TRTC
    // implementation 'com.tencent.liteav:LiteAVSDK_Professional:latest.release'  // 直播/MLVB/全功能
    // implementation 'com.tencent.liteav:LiteAVSDK_Smart:latest.release'         // 短视频

    // 4) 载体适配器（与上面 3 配套使用，二选一或都不选）
    //    选了 adapter 就走"Adapter 路线"，应用层不用自己接 setLocalVideoProcessListener / setVideoProcessListener
    // api 'com.tencent.mediacloud:te_adapter_trtc:latest.release'   // TRTC 适配器（提供 TEBeautyTRTCAdapter）
    // api 'com.tencent.mediacloud:te_adapter_live:latest.release'   // 直播 SDK 适配器（V2TXLivePusher）
}


# ---- 面板资源（assets） ----
# agent 直接跑脚本（不要把这一步丢给用户）：
#   bash snippets/fetch-beauty-panel.sh <android_project_root> [<suite>]
#
# - 用户给了套餐（如 S1-07 / A1-04）→ 第二参数传套餐，脚本自动按白名单裁剪
# - 用户没给套餐 → 不传第二参数，保留全部 15 个 JSON
# - 已存在 assets/beauty_panel/ → 自动备份成 beauty_panel.bak.<时间戳>/ 后再覆盖
# - panel_icon/ 整个目录任何套餐都全保留（JSON 内部引用，删了图标会空白）
#
# 完整 SOP（套餐白名单、JSON 含义、需要客户改写素材的 JSON、TEUIConfig 配置代码）：
#   references/13-beauty-panel-assets.md


# ---- AndroidManifest.xml 关键权限 ----
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>


# ---- Application ----
# android:name=".BeautyApp"
# 在 BeautyApp.onCreate() 里：
#   - Adapter 路线：调用 TEBeautyKit.setupSDK(ctx, licenseUrl, key, callback)
#                   （内部已包含 TELicenseCheck.setTELicense + 资源拷贝）
#   - 手动路线：调用 EffectLicense.init(...) + EffectResource.prepare(...)
