// 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.

package {
    // See: http://go/android-license-faq
    default_applicable_licenses: ["Android-Apache-2.0"],
}

min_launcher3_sdk_version = "26"

android_library {
    name: "launcher-aosp-tapl",
    libs: [
        "framework-statsd",
    ],
    static_libs: [
        "androidx.annotation_annotation",
        "androidx.test.runner",
        "androidx.test.rules",
        "androidx.test.uiautomator_uiautomator",
        "androidx.preference_preference",
        "SystemUISharedLib",
        "SystemUIAnimationLib",
    ],
    srcs: [
        "tests/tapl/**/*.java",
        "src/com/android/launcher3/testing/shared/**/*.java",
    ],
    resource_dirs: [ ],
    manifest: "tests/tapl/AndroidManifest.xml",
    platform_apis: true,
}

java_library_static {
    name: "launcher_log_protos_lite",
    srcs: [
        "protos/*.proto",
        "protos_overrides/*.proto",
    ],
    sdk_version: "current",
    proto: {
        type: "lite",
        local_include_dirs:[
            "protos",
            "protos_overrides",
        ],
    },
    static_libs: ["libprotobuf-java-lite"],
}

java_library_static {
    name: "launcher_quickstep_log_protos_lite",
    srcs: [
        "quickstep/protos_overrides/*.proto",
    ],
    sdk_version: "current",
    proto: {
        type: "lite",
        local_include_dirs:[
            "quickstep/protos_overrides",
        ],
    },
    static_libs: [
      "libprotobuf-java-lite",
      "launcher_log_protos_lite"
      ],
}

java_library {
    name: "LauncherPluginLib",

    static_libs: ["PluginCoreLib"],

    srcs: ["src_plugins/**/*.java"],

    sdk_version: "current",
    min_sdk_version: min_launcher3_sdk_version,
}

// Library with all the dependencies for building Launcher3
android_library {
    name: "Launcher3ResLib",
    srcs: [ ],
    resource_dirs: ["res"],
    static_libs: [
        "LauncherPluginLib",
        "launcher_quickstep_log_protos_lite",
        "androidx-constraintlayout_constraintlayout",
        "androidx.recyclerview_recyclerview",
        "androidx.dynamicanimation_dynamicanimation",
        "androidx.fragment_fragment",
        "androidx.preference_preference",
        "androidx.slice_slice-view",
        "androidx.cardview_cardview",
        "com.google.android.material_material",
        "iconloader_base",
    ],
    manifest: "AndroidManifest-common.xml",
    sdk_version: "current",
    min_sdk_version: min_launcher3_sdk_version,
    lint: {
        baseline_filename: "lint-baseline-res-lib.xml",
    },
}

//
// Build rule for Launcher3 dependencies lib.
//
android_library {
    name: "Launcher3CommonDepsLib",
    srcs: ["src_build_config/**/*.java"],
    static_libs: ["Launcher3ResLib"],
    sdk_version: "current",
    min_sdk_version: min_launcher3_sdk_version,
    manifest: "AndroidManifest-common.xml",
    lint: {
        baseline_filename: "lint-baseline-common-deps-lib.xml",
    },
}

//
// Build rule for Launcher3 app.
//
android_app {
    name: "Launcher3",

    static_libs: [
        "Launcher3CommonDepsLib",
    ],
    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
        "src_shortcuts_overrides/**/*.java",
        "src_shortcuts_overrides/**/*.kt",
        "src_ui_overrides/**/*.java",
        "src_ui_overrides/**/*.kt",
        "ext_tests/src/**/*.java",
        "ext_tests/src/**/*.kt",
    ],
    resource_dirs: [
        "ext_tests/res",
    ],
    optimize: {
        proguard_flags_files: ["proguard.flags"],
        // Proguard is disable for testing. Derivarive prjects to keep proguard enabled
        enabled: false,
    },

    sdk_version: "current",
    min_sdk_version: min_launcher3_sdk_version,
    target_sdk_version: "current",
    privileged: true,
    system_ext_specific: true,

    overrides: [
        "Home",
        "Launcher2",
    ],
    required: ["privapp_whitelist_com.android.launcher3"],

    jacoco: {
        include_filter: ["com.android.launcher3.**"],
    },
    additional_manifests: [
        "AndroidManifest-common.xml",
    ],
    lint: {
        baseline_filename: "lint-baseline-launcher3.xml",
    },
}

// Library with all the dependencies for building quickstep
android_library {
    name: "QuickstepResLib",
    srcs: [ ],
    resource_dirs: [
        "quickstep/res",
    ],
    libs: [
        "framework-statsd",
    ],
    static_libs: [
        "Launcher3ResLib",
        "lottie",
        "SystemUISharedLib",
        "SystemUI-statsd",
        "SystemUIAnimationLib",
    ],
    manifest: "quickstep/AndroidManifest.xml",
    min_sdk_version: "current",
}


// Source code used for test helpers
filegroup {
    name: "launcher-src-ext-tests",
    srcs: [
        "ext_tests/src/**/*.java",
        "ext_tests/src/**/*.kt",
        "quickstep/ext_tests/src/**/*.java",
        "quickstep/ext_tests/src/**/*.kt",
    ],
}

// Common source files used to build launcher
filegroup {
    name: "launcher-src-no-build-config",
    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
        "src_shortcuts_overrides/**/*.java",
        "src_shortcuts_overrides/**/*.kt",
        "quickstep/src/**/*.java",
        "quickstep/src/**/*.kt",
    ],
}

// Common source files used to build go launcher except go/src files
filegroup {
    name: "launcher-go-src-no-build-config",
    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
        "quickstep/src/**/*.java",
        "quickstep/src/**/*.kt",
        "go/quickstep/src/**/*.java",
        "go/quickstep/src/**/*.kt",
    ],
}

// Proguard files for Launcher3
filegroup {
    name: "launcher-proguard-rules",
    srcs: ["proguard.flags"],
}

// Library with all the dependencies for building Launcher Go
android_library {
    name: "LauncherGoResLib",
    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
        "quickstep/src/**/*.java",
        "quickstep/src/**/*.kt",
        "go/src/**/*.java",
        "go/src/**/*.kt",
        "go/quickstep/src/**/*.java",
        "go/quickstep/src/**/*.kt",
    ],
    resource_dirs: [
        "go/res",
        "go/quickstep/res",
    ],
    // Note the ordering here is important when it comes to resource
    // overriding. We want the most specific resource overrides defined
    // in QuickstepResLib to take precendece, so it should be the final
    // dependency. See b/205278434 for how this can go wrong.
    static_libs: [
        "Launcher3CommonDepsLib",
        "QuickstepResLib",
        "androidx.room_room-runtime",
    ],
    plugins: ["androidx.room_room-compiler-plugin"],
    manifest: "quickstep/AndroidManifest-launcher.xml",
    additional_manifests: [
        "go/AndroidManifest.xml",
        "AndroidManifest-common.xml",
    ],
    min_sdk_version: "current",
    lint: {
        baseline_filename: "lint-baseline-go-res-lib.xml",
    },
}

// Build rule for Quickstep library
android_library {
    name: "Launcher3QuickStepLib",
    srcs: [
        ":launcher-src-no-build-config",
    ],
    resource_dirs: [],
    libs: [
        "framework-statsd",
    ],
    // Note the ordering here is important when it comes to resource
    // overriding. We want the most specific resource overrides defined
    // in QuickstepResLib to take precendece, so it should be the final
    // dependency. See b/208647810 for how this can go wrong.
    static_libs: [
        "SystemUI-statsd",
        "SystemUISharedLib",
        "Launcher3CommonDepsLib",
        "QuickstepResLib",
        "SystemUIAnimationLib",
    ],
    manifest: "quickstep/AndroidManifest.xml",
    platform_apis: true,
    min_sdk_version: "current",
    lint: {
        baseline_filename: "lint-baseline-launcher3.xml",
    },
}

// Build rule for Launcher3 Go app for Android Go devices.
android_app {
    name: "Launcher3Go",

    static_libs: ["Launcher3CommonDepsLib"],

    srcs: [
        "src/**/*.java",
        "src_ui_overrides/**/*.java",
        "go/src/**/*.java",
    ],

    resource_dirs: ["go/res"],

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

    sdk_version: "current",
    min_sdk_version: "current",
    target_sdk_version: "current",
    privileged: true,
    system_ext_specific: true,
    overrides: [
        "Home",
        "Launcher2",
        "Launcher3",
        "Launcher3QuickStep",
    ],
    required: ["privapp_whitelist_com.android.launcher3"],

    additional_manifests: [
        "AndroidManifest.xml",
        "AndroidManifest-common.xml",
    ],

    manifest: "go/AndroidManifest.xml",
    jacoco: {
        include_filter: ["com.android.launcher3.*"],
    }

}

// Build rule for Quickstep app.
android_app {
    name: "Launcher3QuickStep",

    static_libs: ["Launcher3QuickStepLib"],
    optimize: {
        enabled: false,
    },

    platform_apis: true,
    min_sdk_version: "current",
    target_sdk_version: "current",

    privileged: true,
    system_ext_specific: true,
    overrides: [
        "Home",
        "Launcher2",
        "Launcher3",
    ],
    required: ["privapp_whitelist_com.android.launcher3"],

    resource_dirs: ["quickstep/res"],

    additional_manifests: [
        "quickstep/AndroidManifest-launcher.xml",
        "AndroidManifest-common.xml",
    ],

    manifest: "quickstep/AndroidManifest.xml",
    jacoco: {
        include_filter: ["com.android.launcher3.*"],
    }

}

// Build rule for Launcher3 Go app with quickstep for Android Go devices.
android_app {
    name: "Launcher3QuickStepGo",

    static_libs: [
        "SystemUI-statsd",
        "SystemUISharedLib",
        "LauncherGoResLib",
    ],

    platform_apis: true,
    min_sdk_version: "current",
    target_sdk_version: "current",

    srcs: [
        "src/**/*.java",
        "quickstep/src/**/*.java",
        "go/src/**/*.java",
        "go/quickstep/src/**/*.java",
    ],

    resource_dirs: [
        "go/quickstep/res",
        "go/res",
        "quickstep/res",
    ],

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

    privileged: true,
    system_ext_specific: true,
    overrides: [
        "Home",
        "Launcher2",
        "Launcher3",
        "Launcher3QuickStep",
    ],
    required: ["privapp_whitelist_com.android.launcher3"],

    additional_manifests: [
        "go/AndroidManifest.xml",
        "go/AndroidManifest-launcher.xml",
        "AndroidManifest-common.xml",
    ],

    manifest: "quickstep/AndroidManifest.xml",
    jacoco: {
        include_filter: ["com.android.launcher3.*"],
    }

}

