//
// SPDX-FileCopyrightText: 2020 The Calyx Institute
// SPDX-License-Identifier: Apache-2.0
//

android_app {
    name: "Seedvault",
    srcs: [
        "app/src/main/java/**/*.kt",
        "app/src/main/java/**/*.java",
        "app/src/main/proto/*.proto",
        // as of Android 15, there is no way to pass --kotlin_out to aprotoc compiler
        "app/build/generated/source/proto/debug/kotlin/com/stevesoltys/seedvault/proto/*.kt",
    ],
    resource_dirs: [
        "app/src/main/res",
    ],
    asset_dirs: [
        "app/src/main/assets"
    ],
    proto: {
        type: "lite",
        local_include_dirs: ["app/src/main/proto"],
    },
    static_libs: [
        "kotlin-stdlib-jdk8",
        "libprotobuf-java-lite",
        "androidx.core_core-ktx",
        "androidx.fragment_fragment-ktx",
        "androidx.activity_activity-ktx",
        "androidx.preference_preference",
        "androidx.documentfile_documentfile",
        "androidx.work_work-runtime-ktx",
        "androidx.lifecycle_lifecycle-viewmodel-ktx",
        "androidx.lifecycle_lifecycle-livedata-ktx",
        "androidx-constraintlayout_constraintlayout",
        "com.google.android.material_material",
        "kotlinx-coroutines-android",
        "kotlinx-coroutines-core",
        "seedvault-lib-kotlin-logging-jvm",
        // app backup related libs
        "seedvault-lib-protobuf-kotlin-lite",
        "seedvault-logback-android",
        "seedvault-lib-chunker",
        "seedvault-lib-zstd-jni",
        "okio-lib",
        // our own gradle module libs
        "seedvault-lib-core",
        "seedvault-lib-storage",
        // koin
        "seedvault-lib-koin-core-jvm", // did not manage to add this as transitive dependency
        "seedvault-lib-koin-android",
        // bip39
        "seedvault-lib-kotlin-bip39",
    ],
    use_embedded_native_libs: true,
    manifest: "app/src/main/AndroidManifest.xml",

    platform_apis: true,
    system_ext_specific: true,
    certificate: "platform",
    privileged: true,
    required: [
        "LocalContactsBackup",
        "com.stevesoltys.backup_allowlist",
        "com.stevesoltys.backup_default-permissions",
        "com.stevesoltys.backup_privapp_allowlist"
    ],
    optimize: {
        enabled: false,
    },
}

prebuilt_etc {
    name: "com.stevesoltys.backup_allowlist",
    system_ext_specific: true,
    sub_dir: "sysconfig",
    src: "allowlist_com.stevesoltys.seedvault.xml",
    filename_from_src: true,
}

prebuilt_etc {
    name: "com.stevesoltys.backup_default-permissions",
    system_ext_specific: true,
    sub_dir: "default-permissions",
    src: "default-permissions_com.stevesoltys.seedvault.xml",
    filename_from_src: true,
}

prebuilt_etc {
    name: "com.stevesoltys.backup_privapp_allowlist",
    system_ext_specific: true,
    sub_dir: "permissions",
    src: "permissions_com.stevesoltys.seedvault.xml",
    filename_from_src: true,
}