//
// 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 {
    default_applicable_licenses: ["frameworks_base_packages_SystemUI_license"],
}

// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
    name: "frameworks_base_packages_SystemUI_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
    ],
    license_text: [
        "NOTICE",
    ],
}

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

systemui_compose_java_defaults {
    name: "SystemUI_compose_defaults",
    soong_config_variables: {
        SYSTEMUI_USE_COMPOSE: {
            // Because files in compose/features/ depend on SystemUI
            // code, we compile those files when compiling SystemUI-core.
            // We also compile the ComposeFacade in
            // compose/facade/enabled/.
            srcs: [
                "compose/features/src/**/*.kt",
                "compose/facade/enabled/src/**/*.kt",
            ],

            // The dependencies needed by SystemUIComposeFeatures,
            // except for SystemUI-core.
            // Copied from compose/features/Android.bp.
            static_libs: [
                "PlatformComposeCore",
                "PlatformComposeSceneTransitionLayout",

                "androidx.compose.runtime_runtime",
                "androidx.compose.material3_material3",
                "androidx.activity_activity-compose",
                "androidx.compose.animation_animation-graphics",
            ],

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

java_library {
    name: "SystemUI-proto",

    srcs: ["src/**/*.proto"],

    proto: {
        type: "nano",
    },

    libs: [
        "WindowManager-Shell-proto",
    ],
}

java_library {
    name: "SystemUI-tags",
    srcs: ["src/com/android/systemui/EventLogTags.logtags"],
}

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

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

//Create a library to expose SystemUI's resources to other modules.
android_library {
    name: "SystemUI-res",
    use_resource_processor: true,
    resource_dirs: [
        "res-product",
        "res-keyguard",
        "res",
    ],
    static_libs: [
        "SystemUISharedLib",
        "SystemUICustomizationLib",
        "SettingsLib",
        "androidx.leanback_leanback",
        "androidx.slice_slice-core",
        "androidx.slice_slice-view",
    ],
    manifest: "AndroidManifest-res.xml",
}

android_library {
    name: "SystemUI-core",
    defaults: [
        "SystemUI_compose_defaults",
    ],
    srcs: [
        "src/**/*.kt",
        "src/**/*.java",
        "src/**/I*.aidl",
        ":ReleaseJavaFiles",
    ],
    product_variables: {
        debuggable: {
            srcs: [":DebugJavaFiles"],
            exclude_srcs: [":ReleaseJavaFiles"],
        },
    },
    use_resource_processor: true,
    static_libs: [
        "SystemUI-res",
        "WifiTrackerLib",
        "WindowManager-Shell",
        "SystemUIAnimationLib",
        "SystemUICommon",
        "SystemUICustomizationLib",
        "SystemUILogLib",
        "SystemUIPluginLib",
        "SystemUISharedLib",
        "SystemUI-statsd",
        "SettingsLib",
        "com_android_systemui_flags_lib",
        "com_android_systemui_shared_flags_lib",
        "androidx.core_core-ktx",
        "androidx.viewpager2_viewpager2",
        "androidx.legacy_legacy-support-v4",
        "androidx.recyclerview_recyclerview",
        "androidx.preference_preference",
        "androidx.appcompat_appcompat",
        "androidx.concurrent_concurrent-futures",
        "androidx.mediarouter_mediarouter",
        "androidx.palette_palette",
        "androidx.legacy_legacy-preference-v14",
        "androidx.leanback_leanback",
        "androidx.slice_slice-core",
        "androidx.slice_slice-view",
        "androidx.slice_slice-builders",
        "androidx.arch.core_core-runtime",
        "androidx.lifecycle_lifecycle-common-java8",
        "androidx.lifecycle_lifecycle-extensions",
        "androidx.lifecycle_lifecycle-runtime-ktx",
        "androidx.dynamicanimation_dynamicanimation",
        "androidx-constraintlayout_constraintlayout",
        "androidx.exifinterface_exifinterface",
        "androidx.room_room-runtime",
        "androidx.room_room-ktx",
        "com.google.android.material_material",
        "device_state_flags_lib",
        "kotlinx_coroutines_android",
        "kotlinx_coroutines",
        "iconloader_base",
        "SystemUI-tags",
        "SystemUI-proto",
        "monet",
        "libmonet",
        "dagger2",
        "jsr305",
        "jsr330",
        "lottie",
        "LowLightDreamLib",
        "motion_tool_lib",
        "notification_flags_lib",
        "vendor.lineage.powershare-V1.0-java",
    ],
    libs: [
        "keepanno-annotations",
    ],
    manifest: "AndroidManifest.xml",

    javacflags: [
        "-Adagger.fastInit=enabled",
        "-Aroom.schemaLocation=frameworks/base/packages/SystemUI/schemas",
    ],
    kotlincflags: ["-Xjvm-default=all"],

    plugins: [
        "androidx.room_room-compiler-plugin",
        "dagger2-compiler",
    ],

    lint: {
        extra_check_modules: ["SystemUILintChecker"],
        warning_checks: ["MissingApacheLicenseDetector"],
    },
}

filegroup {
    name: "AAA-src",
    srcs: ["tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java"],
    path: "tests/src",
}

filegroup {
    name: "SystemUI-tests-utils",
    srcs: [
        "tests/utils/src/**/*.java",
        "tests/utils/src/**/*.kt",
    ],
    path: "tests/utils/src",
}

filegroup {
    name: "SystemUI-tests-multivalent",
    srcs: [
        "multivalentTests/src/**/*.kt",
        "multivalentTests/src/**/*.java",
    ],
    path: "multivalentTests/src",
}

java_library {
    name: "SystemUI-tests-concurrency",
    srcs: [
        "src/com/android/systemui/util/concurrency/DelayableExecutor.java",
        "src/com/android/systemui/util/time/SystemClock.java",
        "tests/utils/src/com/android/systemui/util/concurrency/FakeExecutor.java",
        "tests/utils/src/com/android/systemui/util/time/FakeSystemClock.java",
    ],
    jarjar_rules: ":jarjar-rules-shared",
}

android_library {
    name: "SystemUI-tests-base",
    use_resource_processor: true,
    manifest: "tests/AndroidManifest-base.xml",
    resource_dirs: [
        "tests/res",
    ],
    static_libs: [
        "SystemUI-res",
        "WifiTrackerLib",
        "SystemUIAnimationLib",
        "SystemUIPluginLib",
        "SystemUISharedLib",
        "SystemUICustomizationLib",
        "SystemUI-statsd",
        "SettingsLib",
        "com_android_systemui_flags_lib",
        "com_android_systemui_shared_flags_lib",
        "flag-junit-base",
        "platform-parametric-runner-lib",
        "androidx.viewpager2_viewpager2",
        "androidx.legacy_legacy-support-v4",
        "androidx.recyclerview_recyclerview",
        "androidx.preference_preference",
        "androidx.appcompat_appcompat",
        "androidx.concurrent_concurrent-futures",
        "androidx.mediarouter_mediarouter",
        "androidx.palette_palette",
        "androidx.legacy_legacy-preference-v14",
        "androidx.leanback_leanback",
        "androidx.slice_slice-core",
        "androidx.slice_slice-view",
        "androidx.slice_slice-builders",
        "androidx.arch.core_core-runtime",
        "androidx.lifecycle_lifecycle-common-java8",
        "androidx.lifecycle_lifecycle-extensions",
        "androidx.lifecycle_lifecycle-runtime-ktx",
        "androidx.dynamicanimation_dynamicanimation",
        "androidx-constraintlayout_constraintlayout",
        "androidx.exifinterface_exifinterface",
        "androidx.room_room-runtime",
        "androidx.room_room-ktx",
        "device_state_flags_lib",
        "kotlinx-coroutines-android",
        "kotlinx-coroutines-core",
        "kotlinx_coroutines_test",
        "kotlin-reflect",
        "iconloader_base",
        "SystemUI-tags",
        "SystemUI-proto",
        "metrics-helper-lib",
        "hamcrest-library",
        "androidx.test.rules",
        "testables",
        "truth",
        "monet",
        "libmonet",
        "dagger2",
        "jsr330",
        "WindowManager-Shell",
        "LowLightDreamLib",
        "motion_tool_lib",
        "androidx.core_core-animation-testing-nodeps",
        "androidx.compose.ui_ui",
        "flag-junit",
        "platform-test-annotations",
        "notification_flags_lib",
    ],
}

android_library {
    name: "SystemUI-tests",
    use_resource_processor: true,
    defaults: [
        "SystemUI_compose_defaults",
    ],
    manifest: "tests/AndroidManifest-base.xml",
    additional_manifests: ["tests/AndroidManifest.xml"],
    srcs: [
        "tests/src/**/*.kt",
        "tests/src/**/*.java",
        "src/**/*.kt",
        "src/**/*.java",
        "src/**/I*.aidl",
        ":ReleaseJavaFiles",
        ":SystemUI-tests-multivalent",
        ":SystemUI-tests-utils",
    ],
    static_libs: [
        "SystemUI-tests-base",
        "androidx.test.uiautomator_uiautomator",
        "androidx.core_core-animation-testing",
        "mockito-target-extended-minus-junit4",
        "androidx.test.ext.junit",
        "androidx.test.ext.truth",
        "kotlin-test",
        "vendor.lineage.powershare-V1.0-java",
    ],
    libs: [
        "android.test.runner",
        "android.test.base",
        "android.test.mock",
        "keepanno-annotations",
    ],
    kotlincflags: ["-Xjvm-default=all"],
    aaptflags: [
        "--extra-packages",
        "com.android.systemui",
    ],
    plugins: [
        "androidx.room_room-compiler-plugin",
        "dagger2-compiler",
    ],
    lint: {
        test: true,
        extra_check_modules: ["SystemUILintChecker"],
    },
}

android_app {
    name: "SystemUIRobo-stub",
    use_resource_processor: true,
    defaults: [
        "platform_app_defaults",
        "SystemUI_optimized_defaults",
        "SystemUI_compose_defaults",
    ],
    manifest: "tests/AndroidManifest-base.xml",

    srcs: [
        "src/**/*.kt",
        "src/**/*.java",
        "src/**/I*.aidl",
        ":ReleaseJavaFiles",
    ],
    static_libs: [
        "SystemUI-tests-base",
    ],
    libs: [
        "keepanno-annotations",
    ],
    aaptflags: [
        "--extra-packages",
        "com.android.systemui",
    ],
    dont_merge_manifests: true,
    platform_apis: true,
    system_ext_specific: true,
    certificate: "platform",
    privileged: true,
    resource_dirs: [],
    kotlincflags: ["-Xjvm-default=all"],
    optimize: {
        shrink_resources: false,
        proguard_flags_files: ["proguard.flags"],
    },

    plugins: ["dagger2-compiler"],
}

android_robolectric_test {
    name: "SystemUiRoboTests",
    srcs: [
        "tests/robolectric/src/**/*.kt",
        "tests/robolectric/src/**/*.java",
        ":SystemUI-tests-utils",
        ":SystemUI-tests-multivalent",
    ],
    static_libs: [
        "dagger2",
        "androidx.test.uiautomator_uiautomator",
        "androidx.core_core-animation-testing",
        "androidx.test.ext.junit",
        "inline-mockito-robolectric-prebuilt",
    ],
    libs: [
        "android.test.runner",
        "android.test.base",
        "android.test.mock",
        "truth",
    ],

    upstream: true,

    instrumentation_for: "SystemUIRobo-stub",
    java_resource_dirs: ["tests/robolectric/config"],
    plugins: [
        "dagger2-compiler",
    ],
}

// Opt-out config for optimizing the SystemUI target using R8.
// Disabled via `export SYSTEMUI_OPTIMIZE_JAVA=false`, or explicitly in Make via
// `SYSTEMUI_OPTIMIZE_JAVA := false`.
soong_config_module_type {
    name: "systemui_optimized_java_defaults",
    module_type: "java_defaults",
    config_namespace: "ANDROID",
    bool_variables: ["SYSTEMUI_OPTIMIZE_JAVA"],
    properties: ["optimize"],
}

systemui_optimized_java_defaults {
    name: "SystemUI_optimized_defaults",
    soong_config_variables: {
        SYSTEMUI_OPTIMIZE_JAVA: {
            optimize: {
                enabled: true,
                optimize: true,
                shrink: true,
                shrink_resources: true,
                ignore_warnings: false,
                proguard_compatibility: false,
            },
            conditions_default: {
                optimize: {
                    ignore_warnings: false,
                    proguard_compatibility: false,
                },
            },
        },
    },
}

android_app {
    name: "SystemUI",
    defaults: [
        "platform_app_defaults",
        "SystemUI_optimized_defaults",
    ],
    static_libs: [
        "SystemUI-core",
    ],
    resource_dirs: [],

    use_resource_processor: true,
    platform_apis: true,
    system_ext_specific: true,
    certificate: "platform",
    privileged: true,

    kotlincflags: ["-Xjvm-default=all"],

    dxflags: ["--multi-dex"],
    optimize: {
        proguard_flags_files: ["proguard.flags"],
    },
    required: [
        "privapp_whitelist_com.android.systemui",
        "wmshell.protolog.json.gz",
    ],
}
