
// Copyright (C) 2019 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_library {
    name: "car-ui-lib",
    sdk_version: "system_current",
    min_sdk_version: "28",
    srcs: ["car-ui-lib/src/main/java/**/*.java"],
    manifest: "car-ui-lib/AndroidManifest.xml",
    resource_dirs: ["car-ui-lib/src/main/res"],
    optimize: {
        enabled: false,
    },
    libs: ["android.car-stubs"],
    static_libs: [
        "androidx.annotation_annotation",
        "androidx.appcompat_appcompat",
        "androidx-constraintlayout_constraintlayout",
        "androidx.preference_preference",
        "androidx.recyclerview_recyclerview",
        "androidx-constraintlayout_constraintlayout-solver",
        "androidx.asynclayoutinflater_asynclayoutinflater",
    ],
}

// User this if your project includes overlayable.xml
android_library {
    name: "car-ui-lib-overlayable",
    sdk_version: "system_current",
    min_sdk_version: "28",
    manifest: "car-ui-lib/AndroidManifest.xml",
    resource_dirs: [
        "car-ui-lib/src/main/res-overlayable"
    ],
    static_libs: [
        "car-ui-lib",
    ],
    // This is also needed for `car-ui-lib` build target.
    // But it's not in explicitly added to the build rule,
    // Because it's hardcoded in apex.go file under Soong.
    apex_available: [
        "com.android.permission"
    ],
}

android_app {
    name: "car-ui-lib-sharedlibrary",
    srcs: ["sharedlibrary/src/main/java/**/*.java"],
    manifest: "sharedlibrary/AndroidManifest.xml",
    resource_dirs: ["sharedlibrary/src/main/res"],
    visibility: [
        "//visibility:private",
    ],
    platform_apis: true,
    aaptflags: ["--shared-lib"],
    optimize: {
        enabled: false,
    },
}

android_library {
    name: "car-ui-lib-testing-support",
    sdk_version: "system_current",
    min_sdk_version: "28",
    manifest: "car-ui-lib/AndroidManifest.xml",
    srcs: [
        "tests/baselayouttests/src/**/*.java",
    ],
    optimize: {
        enabled: false,
    },
    libs: ["android.car-stubs"],
    static_libs: [
        "car-ui-lib",
        "Robolectric_all-target",
    ],
}

android_test {
    name: "CarUILibUnitTests",
    certificate: "platform",
    libs: [
        "android.test.runner",
        "android.test.base",
        "android.test.mock.stubs",
        "android.car"
    ],
    manifest: "car-ui-lib/src/androidTest/AndroidManifest.xml",
    resource_dirs: ["car-ui-lib/src/androidTest/res"],
    // Include all test java files.
    srcs: ["car-ui-lib/src/androidTest/java/**/*.java"],
    static_libs: [
        "androidx.test.rules",
        "androidx.test.espresso.core",
        "androidx.test.espresso.contrib",
        "androidx.test.ext.junit",
        "car-ui-lib",
        "platform-test-annotations",
        "mockito-target-inline-minus-junit4",
        "truth-prebuilt",
    ],
    jni_libs: [
        // For mockito extended
        "libdexmakerjvmtiagent",
        "libstaticjvmtiagent",
    ],

    platform_apis: true,
    test_suites: ["device-tests"],
}

android_app {
    name: "PaintBooth",
    srcs: [
    	"paintbooth/src/**/*.java",
    	"paintbooth/src/**/*.kt",
    ],
    required: ["privapp_whitelist_com.android.car.ui.paintbooth"],
    manifest: "paintbooth/AndroidManifest.xml",
    resource_dirs: ["paintbooth/src/main/res", "paintbooth/src/main/res-public"],
    platform_apis: true,
    certificate: "platform",
    privileged: true,
    libs: ["android.car-stubs"],
    static_libs: [
        "car-ui-lib",
        "guava",
        "gson-prebuilt-jar",
    ],
    optimize: {
        enabled: false,
    },
    dex_preopt: {
        enabled: false,
    },
    product_variables: {
        pdk: {
            enabled: false,
        },
    },
    export_package_resources: true,
}
