/*
 * Copyright (C) 2019-2020 The LineageOS 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: "LineageParts",

    // Include SettingsLib and it's dependencies
    defaults: ["SettingsLibDefaults"],

    srcs: ["src/**/*.java"],
    resource_dirs: ["res"],

    manifest: "AndroidManifest.xml",

    platform_apis: true,
    certificate: "platform",
    privileged: true,

    optimize: {
        proguard_flags_files: ["proguard.flags"],
    },

    static_libs: [
        "androidx.appcompat_appcompat",
        "androidx.dynamicanimation_dynamicanimation",
        "androidx.legacy_legacy-support-v13",
        "androidx.palette_palette",
        "androidx.preference_preference",
        "androidx.recyclerview_recyclerview",
        "jsr305",
        "org.lineageos.platform.internal",
    ],

    required: [
        "privapp_whitelist_org.lineageos.lineageparts"
    ],
}

prebuilt_etc {
    name: "privapp_whitelist_org.lineageos.lineageparts",
    sub_dir: "permissions",
    src: "privapp_whitelist_org.lineageos.lineageparts.xml",
    filename_from_src: true,
}
