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

// Common source files used to build launcher (java and kotlin)
// All sources are split so they can be reused in many other libraries/apps in other folders
filegroup {
    name: "launcher-src",
    srcs: [ "src/**/*.java", "src/**/*.kt" ],
}

filegroup {
    name: "launcher-quickstep-src",
    srcs: [ "quickstep/src/**/*.java", "quickstep/src/**/*.kt" ],
}

filegroup {
    name: "launcher-go-src",
    srcs: [ "go/src/**/*.java", "go/src/**/*.kt" ],
}

filegroup {
    name: "launcher-go-quickstep-src",
    srcs: [ "go/quickstep/src/**/*.java", "go/quickstep/src/**/*.kt" ],
}

filegroup {
    name: "launcher-src_shortcuts_overrides",
    srcs: [ "src_shortcuts_overrides/**/*.java", "src_shortcuts_overrides/**/*.kt" ],
}

filegroup {
    name: "launcher-src_ui_overrides",
    srcs: [ "src_ui_overrides/**/*.java", "src_ui_overrides/**/*.kt" ],
}

filegroup {
    name: "launcher-ext_tests",
    srcs: [ "ext_tests/**/*.java", "ext_tests/**/*.kt" ],
}

filegroup {
    name: "launcher-quickstep-ext_tests",
    srcs: [ "quickstep/ext_tests/**/*.java", "quickstep/ext_tests/**/*.kt" ],
}

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

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",
        "view_capture"
    ],
    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: [
        ":launcher-src",
        ":launcher-src_shortcuts_overrides",
        ":launcher-src_ui_overrides",
        ":launcher-ext_tests",
    ],
    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",
}


// Library with all the dependencies for building Launcher Go
android_library {
    name: "LauncherGoResLib",
    srcs: [
        ":launcher-src",
        ":launcher-quickstep-src",
        ":launcher-go-src",
        ":launcher-go-quickstep-src",
    ],
    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",
        ":launcher-quickstep-src",
        ":launcher-src_shortcuts_overrides",
    ],
    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: [
        ":launcher-src",
        ":launcher-go-src",
        ":launcher-src_ui_overrides",
    ],

    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: [ ],

    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.*"],
    }

}

