//
// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

android_app {
    name: "Seedvault",
    srcs: [
        "app/src/main/java/**/*.kt",
        "app/src/main/java/**/*.java",
    ],
    resource_dirs: [
        "app/src/main/res",
    ],
    static_libs: [
        "kotlin-stdlib-jdk8",
        "androidx.core_core-ktx",
        "androidx.preference_preference",
        "androidx.lifecycle_lifecycle-viewmodel-ktx",
        "androidx.lifecycle_lifecycle-livedata-ktx",
        "androidx-constraintlayout_constraintlayout",
        "com.google.android.material_material",
        // storage
        "seedvault-lib-storage", // did not manage to add this as transitive dependency
        "seedvault-lib-tink-android",
        "androidx.room_room-runtime",
        "libprotobuf-java-lite",
        // koin
        "seedvault-lib-koin-core", // did not manage to add this as transitive dependency
        "seedvault-lib-koin-android",
        "seedvault-lib-koin-androidx-viewmodel",
        // bip39
        "seedvault-lib-kotlin-bip39",
    ],
    manifest: "app/src/main/AndroidManifest.xml",

    platform_apis: true,
    certificate: "platform",
    privileged: true,
    required: [
        "LocalContactsBackup",
        "privapp_whitelist_com.stevesoltys.backup",
        "com.stevesoltys.backup_whitelist"
    ],
    optimize: {
        enabled: false,
    },
}

prebuilt_etc {
    name: "privapp_whitelist_com.stevesoltys.backup",
    sub_dir: "permissions",
    src: "permissions_com.stevesoltys.seedvault.xml",
    filename_from_src: true,
}

prebuilt_etc {
    name: "com.stevesoltys.backup_whitelist",
    sub_dir: "sysconfig",
    src: "whitelist_com.stevesoltys.seedvault.xml",
    filename_from_src: true,
}
