// // 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", "kotlinx_coroutines_android", "kotlinx_coroutines", "iconloader_base", "SystemUI-tags", "SystemUI-proto", "monet", "libmonet", "dagger2", "jsr305", "jsr330", "lottie", "LowLightDreamLib", "motion_tool_lib", ], 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-test-fakes", srcs: [ /* Status bar fakes */ "tests/src/com/android/systemui/statusbar/pipeline/airplane/data/repository/FakeAirplaneModeRepository.kt", "tests/src/com/android/systemui/statusbar/pipeline/shared/data/repository/FakeConnectivityRepository.kt", "tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/FakeWifiRepository.kt", "tests/src/com/android/systemui/statusbar/pipeline/mobile/util/FakeSubscriptionManagerProxy.kt", /* QS fakes */ "tests/src/com/android/systemui/qs/pipeline/domain/interactor/FakeQSTile.kt", ], path: "tests/src", } filegroup { name: "SystemUI-tests-robolectric-pilots", srcs: [ /* Keyguard converted tests */ // data "tests/src/com/android/systemui/bouncer/data/repository/SimBouncerRepositoryTest.kt", "tests/src/com/android/systemui/keyguard/data/quickaffordance/DoNotDisturbQuickAffordanceConfigTest.kt", "tests/src/com/android/systemui/keyguard/data/quickaffordance/FlashlightQuickAffordanceConfigTest.kt", "tests/src/com/android/systemui/keyguard/data/quickaffordance/HomeControlsKeyguardQuickAffordanceConfigTest.kt", "tests/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceLegacySettingSyncerTest.kt", "tests/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceLocalUserSelectionManagerTest.kt", "tests/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceRemoteUserSelectionManagerTest.kt", "tests/src/com/android/systemui/keyguard/data/quickaffordance/MuteQuickAffordanceConfigTest.kt", "tests/src/com/android/systemui/keyguard/data/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfigTest.kt", "tests/src/com/android/systemui/keyguard/data/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfigTest.kt", "tests/src/com/android/systemui/keyguard/data/quickaffordance/VideoCameraQuickAffordanceConfigTest.kt", "tests/src/com/android/systemui/keyguard/data/repository/BiometricSettingsRepositoryTest.kt", "tests/src/com/android/systemui/keyguard/data/repository/DeviceEntryFaceAuthRepositoryTest.kt", "tests/src/com/android/systemui/keyguard/data/repository/DeviceEntryFingerprintAuthRepositoryTest.kt", "tests/src/com/android/systemui/keyguard/data/repository/DevicePostureRepositoryTest.kt", "tests/src/com/android/systemui/keyguard/data/repository/KeyguardQuickAffordanceRepositoryTest.kt", "tests/src/com/android/systemui/keyguard/data/repository/KeyguardRepositoryImplTest.kt", "tests/src/com/android/systemui/keyguard/data/repository/LightRevealScrimRepositoryTest.kt", "tests/src/com/android/systemui/keyguard/data/repository/TrustRepositoryTest.kt", // domain "tests/src/com/android/systemui/bouncer/domain/interactor/AlternateBouncerInteractorTest.kt", "tests/src/com/android/systemui/bouncer/domain/interactor/PrimaryBouncerCallbackInteractorTest.kt", "tests/src/com/android/systemui/bouncer/domain/interactor/PrimaryBouncerInteractorWithCoroutinesTest.kt", "tests/src/com/android/systemui/bouncer/domain/interactor/SimBouncerInteractorTest.kt", "tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorTest.kt", "tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardLongPressInteractorTest.kt", "tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractorTest.kt", "tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionInteractorTest.kt", "tests/src/com/android/systemui/keyguard/domain/interactor/LightRevealScrimInteractorTest.kt", // ui "tests/src/com/android/systemui/bouncer/ui/viewmodel/KeyguardBouncerViewModelTest.kt", "tests/src/com/android/systemui/keyguard/ui/viewmodel/DreamingToLockscreenTransitionViewModelTest.kt", "tests/src/com/android/systemui/keyguard/ui/viewmodel/GoneToDreamingTransitionViewModelTest.kt", "tests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToDreamingTransitionViewModelTest.kt", "tests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToOccludedTransitionViewModelTest.kt", "tests/src/com/android/systemui/keyguard/ui/viewmodel/OccludedToLockscreenTransitionViewModelTest.kt", "tests/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToGoneTransitionViewModelTest.kt", // Keyguard helper "tests/src/com/android/systemui/keyguard/data/quickaffordance/FakeKeyguardQuickAffordanceConfig.kt", "tests/src/com/android/systemui/dock/DockManagerFake.java", "tests/src/com/android/systemui/dump/LogBufferHelper.kt", "tests/src/com/android/systemui/statusbar/phone/FakeKeyguardStateController.java", /* Biometric converted tests */ "tests/src/com/android/systemui/biometrics/BiometricTestExtensions.kt", "tests/src/com/android/systemui/biometrics/AuthControllerTest.java", "tests/src/com/android/systemui/biometrics/BiometricDisplayListenerTest.java", "tests/src/com/android/systemui/biometrics/FaceHelpMessageDeferralTest.kt", "tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt", "tests/src/com/android/systemui/biometrics/UdfpsControllerOverlayTest.kt", "tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java", "tests/src/com/android/systemui/biometrics/UdfpsDialogMeasureAdapterTest.java", "tests/src/com/android/systemui/biometrics/UdfpsDisplayModeTest.java", "tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewLegacyControllerBaseTest.java", "tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewLegacyControllerTest.java", "tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewLegacyControllerWithCoroutinesTest.kt", "tests/src/com/android/systemui/biometrics/UdfpsShellTest.kt", "tests/src/com/android/systemui/biometrics/UdfpsViewTest.kt", /* Status bar wifi converted tests */ "tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositorySwitcherTest.kt", "tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/DisabledWifiRepositoryTest.kt", "tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/WifiRepositoryImplTest.kt", "tests/src/com/android/systemui/statusbar/pipeline/wifi/domain/interactor/WifiInteractorImplTest.kt", "tests/src/com/android/systemui/statusbar/pipeline/wifi/ui/viewmodel/WifiViewModelTest.kt", "tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconsInteractor.kt", "tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconInteractor.kt", /* Bouncer UI tests */ "tests/src/com/android/keyguard/KeyguardPasswordViewControllerTest.kt", "tests/src/com/android/keyguard/KeyguardPatternViewControllerTest.kt", "tests/src/com/android/keyguard/KeyguardPinBasedInputViewControllerTest.java", "tests/src/com/android/keyguard/KeyguardPinViewControllerTest.kt", "tests/src/com/android/keyguard/KeyguardSecurityContainerTest.java", "tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.kt", "tests/src/com/android/keyguard/KeyguardSecurityViewFlipperControllerTest.java", "tests/src/com/android/keyguard/KeyguardSimPinViewControllerTest.kt", "tests/src/com/android/keyguard/KeyguardSimPukViewControllerTest.kt", /* Communal tests */ "tests/src/com/android/systemui/communal/data/repository/CommunalWidgetRepositoryImplTest.kt", "tests/src/com/android/systemui/communal/domain/interactor/CommunalInteractorTest.kt", "tests/src/com/android/systemui/communal/ui/view/layout/blueprints/DefaultCommunalBlueprintTest.kt", /* Dream tests */ "tests/src/com/android/systemui/dreams/complication/HideComplicationTouchHandlerTest.java", "tests/src/com/android/systemui/dreams/conditions/AssistantAttentionConditionTest.java", "tests/src/com/android/systemui/dreams/conditions/DreamConditionTest.java", "tests/src/com/android/systemui/dreams/touch/scrim/BouncerlessScrimControllerTest.java", "tests/src/com/android/systemui/dreams/touch/scrim/ScrimManagerTest.java", "tests/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandlerTest.java", "tests/src/com/android/systemui/dreams/touch/ShadeTouchHandlerTest.java", "tests/src/com/android/systemui/dreams/DreamOverlayAnimationsControllerTest.kt", "tests/src/com/android/systemui/dreams/DreamOverlayCallbackControllerTest.kt", "tests/src/com/android/systemui/dreams/DreamOverlayContainerViewControllerTest.java", "tests/src/com/android/systemui/dreams/DreamOverlayNotificationCountProviderTest.java", "tests/src/com/android/systemui/dreams/DreamOverlayServiceTest.java", "tests/src/com/android/systemui/dreams/DreamOverlayStateControllerTest.java", "tests/src/com/android/systemui/dreams/DreamOverlayStatusBarItemsProviderTest.java", "tests/src/com/android/systemui/dreams/DreamOverlayStatusBarViewControllerTest.java", /* Smartspace tests */ "tests/src/com/android/systemui/smartspace/BcSmartspaceConfigProviderTest.kt", "tests/src/com/android/systemui/smartspace/DreamSmartspaceControllerTest.kt", "tests/src/com/android/systemui/smartspace/LockscreenAndDreamTargetFilterTest.kt", "tests/src/com/android/systemui/smartspace/LockscreenPreconditionTest.kt", /* Quick Settings new pipeline converted tests */ "tests/src/com/android/systemui/qs/pipeline/data/**/*Test.kt", "tests/src/com/android/systemui/qs/pipeline/domain/**/*Test.kt", "tests/src/com/android/systemui/qs/pipeline/shared/TileSpecTest.kt", "tests/src/com/android/systemui/qs/tiles/base/**/*.kt", "tests/src/com/android/systemui/qs/tiles/viewmodel/**/*.kt", "tests/src/com/android/systemui/qs/tiles/impl/**/*.kt", /* Authentication */ "tests/src/com/android/systemui/authentication/data/repository/AuthenticationRepositoryTest.kt", "tests/src/com/android/systemui/authentication/domain/interactor/AuthenticationInteractorTest.kt", /* Device entry */ "tests/src/com/android/systemui/deviceentry/data/repository/DeviceEntryRepositoryTest.kt", "tests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractorTest.kt", /* Bouncer scene */ "tests/src/com/android/systemui/bouncer/domain/interactor/BouncerInteractorTest.kt", "tests/src/com/android/systemui/bouncer/ui/viewmodel/AuthMethodBouncerViewModelTest.kt", "tests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerViewModelTest.kt", "tests/src/com/android/systemui/bouncer/ui/viewmodel/PasswordBouncerViewModelTest.kt", "tests/src/com/android/systemui/bouncer/ui/viewmodel/PatternBouncerViewModelTest.kt", "tests/src/com/android/systemui/bouncer/ui/viewmodel/PinBouncerViewModelTest.kt", "tests/src/com/android/systemui/bouncer/ui/viewmodel/PinInputViewModelTest.kt", /* Lockscreen scene */ "tests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenSceneViewModelTest.kt", /* Shade scene */ "tests/src/com/android/systemui/shade/ui/viewmodel/ShadeSceneViewModelTest.kt", "tests/src/com/android/systemui/shade/ui/viewmodel/ShadeHeaderViewModelTest.kt", /* Quick Settings scene */ "tests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsSceneViewModelTest.kt", /* Flexiglass / Scene framework tests */ "tests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt", "tests/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryTest.kt", "tests/src/com/android/systemui/scene/data/repository/WindowRootViewVisibilityRepositoryTest.kt", "tests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt", "tests/src/com/android/systemui/scene/domain/interactor/WindowRootViewVisibilityInteractorTest.kt", "tests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt", "tests/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModelTest.kt", ], path: "tests/src", } filegroup { name: "SystemUI-tests-multivalent", srcs: [ "multivalentTests/src/**/*.kt", ], 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", "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", "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", ], } 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", ], 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-test-fakes", ":SystemUI-tests-robolectric-pilots", ":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", ], }