/*
 * Copyright (C) 2019-2022 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",
    system_ext_specific: true,
    privileged: true,

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

    static_libs: [
        "androidx.appcompat_appcompat",
        "androidx.dynamicanimation_dynamicanimation",
        "androidx.palette_palette",
        "androidx.recyclerview_recyclerview",
        "jsr305",
        "org.lineageos.platform.internal",
        "SystemUISharedLib",
        "LineagePreferenceLib",
    ],

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

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