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

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

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

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

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

// Opt-in configuration for Launcher Quickstep code depending on Jetpack Compose.
soong_config_bool_variable {
    name: "release_enable_compose_in_launcher",
}

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

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

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

            // Compose dependencies
            static_libs: [
                "androidx.compose.runtime_runtime",
                "androidx.compose.material3_material3",
            ],

            // By default, Compose is disabled and we compile the ComposeFacade
            // in compose/launcher3/facade/disabled/.
            conditions_default: {
                srcs: [
                    ":launcher-compose-disabled-src",
                ],
                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",
            ],

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

launcher_compose_tests_java_defaults {
    name: "launcher_compose_tests_defaults",
    soong_config_variables: {
        release_enable_compose_in_launcher: {
            // Compose dependencies
            static_libs: [
                "androidx.compose.runtime_runtime",
                "androidx.compose.ui_ui-test-junit4",
                "androidx.compose.ui_ui-test-manifest",
            ],

            conditions_default: {
                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",
    ],
    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",
    defaults: [
        "launcher_compose_defaults",
    ],
    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",
        "SystemUI-statsd",
        "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",
    ],
    manifest: "AndroidManifest-common.xml",
    sdk_version: "current",
    min_sdk_version: min_launcher3_sdk_version,
    lint: {
        baseline_filename: "lint-baseline.xml",
    },
}

//
// Build rule for Launcher3 app.
//
android_app {
    name: "Launcher3",
    defaults: ["launcher-non-platform-apis-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: {
        baseline_filename: "lint-baseline.xml",
    },
}

// 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",
    ],
    manifest: "quickstep/AndroidManifest.xml",
    min_sdk_version: "current",
}

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

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

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

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