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

// Targets that don't inherit framework aconfig libs (i.e., those that don't set
// `platform_apis: true`) must manually link them.
java_defaults {
    name: "launcher-non-platform-apis-defaults",
    static_libs: [
        "android.os.flags-aconfig-java",
        "android.multiuser.flags-aconfig-java",
        "android.appwidget.flags-aconfig-java",
        "com.android.window.flags.window-aconfig-java",
    ],
}

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

// Main Launcher source, excluding the build config
filegroup {
    name: "launcher-src",
    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
    ],
}

// Main Launcher source for compose, excluding the build config
filegroup {
    name: "launcher-compose-enabled-src",
    srcs: [
        "compose/facade/enabled/**/*.kt",
        "compose/facade/core/**/*.kt",
        "compose/features/**/*.kt",
    ],
}

filegroup {
    name: "launcher-compose-disabled-src",
    srcs: [
        "compose/facade/core/**/*.kt",
        "compose/facade/disabled/**/*.kt",
    ],
}

filegroup {
    name: "launcher-compose-test-helpers-src",
    srcs: [
        "compose/tests/com/android/launcher3/helper/TestHelper.kt",
    ],
}

filegroup {
    name: "launcher-compose-ui-tests-src",
    srcs: [], // Placeholder for compose/tests/com/android/launcher3/ui/.. tests.
}

// Tests for features that are enabled only when compose dependency is enabled & run as part of
// Launcher3Tests
filegroup {
    name: "launcher-compose-unit-tests-src",
    srcs: [
        "compose/tests/com/android/launcher3/widget/AddWidgetConfigTest.kt",
    ],
}

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

// Source code for quickstep build, on top of launcher-src
filegroup {
    name: "launcher-quickstep-src",
    srcs: [
        "quickstep/src/**/*.kt",
        "quickstep/src/**/*.java",
    ],
    device_common_srcs: [
        ":launcher-quickstep-processed-protolog-src",
    ],
}

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

// Launcher ProtoLog support
filegroup {
    name: "launcher-quickstep-unprocessed-protolog-src",
    srcs: [
        "quickstep/src_protolog/**/*.java",
    ],
}

java_library {
    name: "launcher-quickstep_protolog-groups",
    srcs: [
        "quickstep/src_protolog/**/*.java",
    ],
    static_libs: [
        "protolog-group",
        "androidx.annotation_annotation",
        "com_android_launcher3_flags_lib",
    ],
}

java_genrule {
    name: "launcher-quickstep-processed-protolog-src",
    srcs: [
        ":protolog-impl",
        ":launcher-quickstep-unprocessed-protolog-src",
        ":launcher-quickstep_protolog-groups",
    ],
    tools: ["protologtool"],
    cmd: "$(location protologtool) transform-protolog-calls " +
        "--protolog-class com.android.internal.protolog.common.ProtoLog " +
        "--loggroups-class com.android.quickstep.util.QuickstepProtoLogGroup " +
        "--loggroups-jar $(location :launcher-quickstep_protolog-groups) " +
        "--viewer-config-file-path /system_ext/etc/launcher.quickstep.protolog.pb " +
        "--output-srcjar $(out) " +
        "$(locations :launcher-quickstep-unprocessed-protolog-src)",
    out: ["launcher.quickstep.protolog.srcjar"],
}

java_genrule {
    name: "gen-launcher.quickstep.protolog.pb",
    srcs: [
        ":launcher-quickstep-unprocessed-protolog-src",
        ":launcher-quickstep_protolog-groups",
    ],
    tools: ["protologtool"],
    cmd: "$(location protologtool) generate-viewer-config " +
        "--protolog-class com.android.internal.protolog.common.ProtoLog " +
        "--loggroups-class com.android.quickstep.util.QuickstepProtoLogGroup " +
        "--loggroups-jar $(location :launcher-quickstep_protolog-groups) " +
        "--viewer-config $(out) " +
        "$(locations :launcher-quickstep-unprocessed-protolog-src)",
    out: ["launcher.quickstep.protolog.pb"],
}

prebuilt_etc {
    name: "launcher.quickstep.protolog.pb",
    system_ext_specific: true,
    src: ":gen-launcher.quickstep.protolog.pb",
    filename_from_src: true,
}

// Source code for quickstep dagger
filegroup {
    name: "launcher-quickstep-dagger",
    srcs: [
        "quickstep/dagger/**/*.java",
        "quickstep/dagger/**/*.kt",
    ],
}

// Source code for quickstep build with compose enabled, on top of launcher-src
filegroup {
    name: "launcher-quickstep-compose-enabled-src",
    srcs: [
        "quickstep/compose/facade/core/*.kt",
        "quickstep/compose/facade/enabled/*.kt",
        "quickstep/compose/features/**/*.kt",
    ],
}

filegroup {
    name: "launcher-quickstep-compose-disabled-src",
    srcs: [
        "quickstep/compose/facade/core/*.kt",
        "quickstep/compose/facade/disabled/*.kt",
    ],
}

// Alternate source when quickstep is not included
filegroup {
    name: "launcher-src_no_quickstep",
    srcs: [
        "src_no_quickstep/**/*.java",
        "src_no_quickstep/**/*.kt",
    ],
}

// Default build config for Launcher3
filegroup {
    name: "launcher-build-config",
    srcs: [
        "src_build_config/**/*.java",
    ],
}

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

soong_config_bool_variable {
    name: "release_enable_compose_in_launcher",
}

// Opt-in configuration for Launcher3 code depending on Jetpack Compose.
soong_config_module_type {
    name: "launcher_compose_java_defaults",
    module_type: "java_defaults",
    config_namespace: "ANDROID",
    bool_variables: ["release_enable_compose_in_launcher"],
    properties: [
        "srcs",
        "static_libs",
    ],
}

launcher_compose_java_defaults {
    name: "launcher_compose_defaults",
    soong_config_variables: {
        release_enable_compose_in_launcher: {
            srcs: [
                ":launcher-compose-enabled-src",
            ],

            static_libs: [
                "widget_picker_component",
                // Compose dependencies
                "androidx.compose.runtime_runtime",
                "androidx.compose.material3_material3",
                "androidx.compose.ui_ui-tooling-preview",
                "androidx.compose.ui_ui-tooling",
            ],

            // By default, Compose is disabled and we compile the ComposeFacade
            // in compose/launcher3/facade/disabled/.
            conditions_default: {
                srcs: [
                    ":launcher-compose-disabled-src",
                ],
                static_libs: [],
            },
        },
    },
}

soong_config_module_type {
    name: "launcher_compose_tests_java_defaults",
    module_type: "java_defaults",
    config_namespace: "ANDROID",
    bool_variables: ["release_enable_compose_in_launcher"],
    properties: [
        "srcs",
        "static_libs",
    ],
}

launcher_compose_tests_java_defaults {
    name: "launcher_compose_tests_defaults",
    soong_config_variables: {
        release_enable_compose_in_launcher: {
            srcs: [
                ":launcher-compose-test-helpers-src",
                ":launcher-compose-unit-tests-src",
            ],
            // Compose dependencies
            static_libs: [
                "widget_picker_component",
                "androidx.compose.runtime_runtime",
                "androidx.compose.ui_ui-test-junit4",
                "androidx.compose.ui_ui-test-manifest",
            ],

            conditions_default: {
                srcs: [],
                static_libs: [],
            },
        },
    },
}

// Opt-in configuration for Launcher Quickstep code depending on Jetpack Compose.
soong_config_module_type {
    name: "quickstep_compose_java_defaults",
    module_type: "java_defaults",
    config_namespace: "ANDROID",
    bool_variables: ["release_enable_compose_in_launcher"],
    properties: [
        "srcs",
        "static_libs",
    ],
}

quickstep_compose_java_defaults {
    name: "quickstep_compose_defaults",
    soong_config_variables: {
        release_enable_compose_in_launcher: {
            srcs: [
                ":launcher-quickstep-compose-enabled-src",
            ],

            // Compose dependencies
            static_libs: [
                "androidx.compose.runtime_runtime",
                "androidx.compose.material3_material3",
                "androidx.compose.ui_ui-tooling-preview",
                "androidx.compose.ui_ui-tooling",
            ],

            // By default, Compose is disabled and we compile the ComposeFacade
            // in compose/quickstep/facade/disabled/.
            conditions_default: {
                srcs: [
                    ":launcher-quickstep-compose-disabled-src",
                ],
                static_libs: [],
            },
        },
    },
}

android_library {
    name: "launcher-aosp-tapl",
    libs: [
        "framework-statsd.stubs.module_lib",
    ],
    static_libs: [
        "androidx.annotation_annotation",
        "androidx.test.runner",
        "androidx.test.rules",
        "androidx.test.uiautomator_uiautomator",
        "androidx.preference_preference",
        "SystemUISharedLib",
        "//frameworks/libs/systemui:animationlib",
        "//frameworks/libs/systemui:contextualeducationlib",
        "launcher-testing-shared",
    ],
    srcs: [
        "tests/tapl/**/*.java",
        "tests/tapl/**/*.kt",
        "tests/src_tapl_build_config/**/*.java",
        "tests/src_tapl_build_config/**/*.kt",
    ],
    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",
        "androidx.window_window",
        "com.google.android.material_material",
        "//frameworks/libs/systemui:iconloader_base",
        "//frameworks/libs/systemui:view_capture",
        "//frameworks/libs/systemui:animationlib",
        "//frameworks/libs/systemui:contextualeducationlib",
        "//frameworks/libs/systemui:mechanics",
        "//frameworks/libs/systemui:msdl",
        "SystemUI-statsd",
        "WindowManager-Shell-shared-AOSP",
        "launcher-testing-shared",
        "androidx.lifecycle_lifecycle-common-java8",
        "androidx.lifecycle_lifecycle-extensions",
        "androidx.lifecycle_lifecycle-runtime-ktx",
        "kotlinx_coroutines_android",
        "kotlinx_coroutines",
        "com_android_launcher3_flags_lib",
        "com_android_wm_shell_flags_lib",
        "dagger2",
        "jsr330",
        "com_android_systemui_shared_flags_lib",
        "launcher-dagger-qualifiers",
        "launcher-executor-qualifiers",
        "launcher-executors-module",
    ],
    manifest: "AndroidManifest-common.xml",
    sdk_version: "current",
    min_sdk_version: min_launcher3_sdk_version,
    lint: {
        baseline_filename: "lint-baseline.xml",
    },
    flags_packages: [
        "com_android_launcher3_flags",
    ],
}

//
// Build rule for Launcher3 app.
//
android_app {
    name: "Launcher3",
    defaults: [
        "launcher-non-platform-apis-defaults",
        "launcher_compose_defaults",
    ],

    static_libs: [
        "Launcher3ResLib",
    ],
    srcs: [
        ":launcher-src",
        ":launcher-src_no_quickstep",
        ":launcher-build-config",
    ],

    optimize: {
        proguard_flags_files: [":launcher-proguard-rules"],
        // 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",
    plugins: ["dagger2-compiler"],
    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: {
        extra_check_modules: ["Launcher3LintChecker"],
        baseline_filename: "lint-baseline.xml",
    },
    kotlincflags: [
        "-Xjvm-default=all",
    ],
}

// Library with all the dependencies for building quickstep
android_library {
    name: "QuickstepResLib",
    srcs: [],
    resource_dirs: [
        "quickstep/res",
    ],
    libs: [
        "framework-statsd.stubs.module_lib",
    ],
    static_libs: [
        "Launcher3ResLib",
        "lottie",
        "SystemUISharedLib",
        "SettingsLibSettingsTheme",
        "dagger2",
        "protolog-group",
        "displaylib",
    ],
    manifest: "quickstep/AndroidManifest.xml",
    min_sdk_version: "current",
    lint: {
        disabled_checks: ["MissingClass"],
    },
}

// Library with all the source code and dependencies for building Launcher Go
android_library {
    name: "Launcher3GoLib",
    defaults: [
        "launcher_compose_defaults",
        "quickstep_compose_defaults",
    ],
    srcs: [
        ":launcher-src",
        ":launcher-quickstep-src",
        ":launcher-quickstep-dagger",
        "go/quickstep/src/**/*.java",
        "go/quickstep/src/**/*.kt",
    ],
    resource_dirs: [
        "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: [
        "QuickstepResLib",
        "androidx.room_room-runtime",
    ],
    plugins: [
        "androidx.room_room-compiler-plugin",
        "dagger2-compiler",
    ],
    manifest: "quickstep/AndroidManifest.xml",
    additional_manifests: [
        "go/AndroidManifest.xml",
        "AndroidManifest-common.xml",
    ],
    min_sdk_version: "current",
    // TODO(b/319712088): re-enable use_resource_processor
    use_resource_processor: false,
    kotlincflags: [
        "-Xjvm-default=all",
    ],
}

// Library with all the source code and dependencies for building Quickstep
android_library {
    name: "Launcher3QuickStepLib",
    defaults: [
        "launcher_compose_defaults",
        "quickstep_compose_defaults",
    ],
    srcs: [
        ":launcher-src",
        ":launcher-quickstep-src",
        ":launcher-quickstep-dagger",
        ":launcher-build-config",
    ],
    resource_dirs: [],
    libs: [
        "framework-statsd.stubs.module_lib",
    ],
    // 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",
        "QuickstepResLib",
    ],
    manifest: "quickstep/AndroidManifest.xml",
    platform_apis: true,
    plugins: ["dagger2-compiler"],
    min_sdk_version: "current",
    // TODO(b/319712088): re-enable use_resource_processor
    use_resource_processor: false,
    kotlincflags: [
        "-Xjvm-default=all",
    ],
}

// Build rule for Quickstep app.
android_app {
    name: "Launcher3QuickStep",
    static_libs: ["Launcher3QuickStepLib"],
    optimize: {
        proguard_flags_files: [":launcher-proguard-rules"],
        enabled: true,
        shrink_resources: true,
    },

    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",
        "launcher.quickstep.protolog.pb",
    ],

    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.
// Note that the following two rules are exactly same, and should
// eventually be merged into a single target
android_app {
    name: "Launcher3Go",
    static_libs: ["Launcher3GoLib"],
    resource_dirs: [],

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

    optimize: {
        proguard_flags_files: ["proguard.flags"],
        enabled: true,
        shrink_resources: 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.*"],
    },
}

android_app {
    name: "Launcher3QuickStepGo",
    static_libs: ["Launcher3GoLib"],
    resource_dirs: [],

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

    optimize: {
        proguard_flags_files: ["proguard.flags"],
        enabled: true,
        shrink_resources: 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.*"],
    },
}
