// // 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", ], } 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", ], } android_library { name: "SystemUI-core", srcs: [ "src/**/*.kt", "src/**/*.java", "src/**/I*.aidl", ":ReleaseJavaFiles", ], product_variables: { debuggable: { srcs: [":DebugJavaFiles"], exclude_srcs: [":ReleaseJavaFiles"], }, }, resource_dirs: [ "res-product", "res-keyguard", "res", ], static_libs: [ "WifiTrackerLib", "WindowManager-Shell", "SystemUIAnimationLib", "SystemUIPluginLib", "SystemUISharedLib", "SystemUI-statsd", "SettingsLib", "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", "com.google.android.material_material", "kotlinx_coroutines_android", "kotlinx_coroutines", "iconloader_base", "SystemUI-tags", "SystemUI-proto", "monet", "dagger2", "jsr330", "lottie", "LowLightDreamLib", ], manifest: "AndroidManifest.xml", kotlincflags: ["-Xjvm-default=enable"], plugins: ["dagger2-compiler"], lint: { extra_check_modules: ["SystemUILintChecker"], }, } 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", } 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", manifest: "tests/AndroidManifest-base.xml", additional_manifests: ["tests/AndroidManifest.xml"], resource_dirs: [ "tests/res", "res-product", "res-keyguard", "res", ], srcs: [ "tests/src/**/*.kt", "tests/src/**/*.java", "src/**/*.kt", "src/**/*.java", "src/**/I*.aidl", ":ReleaseJavaFiles", ":SystemUI-tests-utils", ], static_libs: [ "WifiTrackerLib", "SystemUIAnimationLib", "SystemUIPluginLib", "SystemUISharedLib", "SystemUI-statsd", "SettingsLib", "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", "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", "androidx.test.uiautomator_uiautomator", "mockito-target-extended-minus-junit4", "testables", "truth-prebuilt", "monet", "dagger2", "jsr330", "WindowManager-Shell", "LowLightDreamLib", ], libs: [ "android.test.runner", "android.test.base", "android.test.mock", ], kotlincflags: ["-Xjvm-default=enable"], aaptflags: [ "--extra-packages", "com.android.systemui", ], plugins: ["dagger2-compiler"], lint: { test: true, }, } // 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_app_defaults", soong_config_variables: { SYSTEMUI_OPTIMIZE_JAVA: { optimize: { enabled: true, optimize: true, shrink: true, proguard_flags_files: ["proguard.flags"], }, conditions_default: { optimize: { proguard_flags_files: ["proguard.flags"], }, }, }, }, } android_app { name: "SystemUI", defaults: [ "platform_app_defaults", "SystemUI_app_defaults", ], static_libs: [ "SystemUI-core", ], resource_dirs: [], platform_apis: true, system_ext_specific: true, certificate: "platform", privileged: true, kotlincflags: ["-Xjvm-default=enable"], dxflags: ["--multi-dex"], required: [ "privapp_whitelist_com.android.systemui", ], }