1//
2// Copyright (C) 2018 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17package {
18    default_team: "trendy_team_system_ui_please_use_a_more_specific_subteam_if_possible_",
19    default_applicable_licenses: ["frameworks_base_packages_SystemUI_license"],
20}
21
22// Added automatically by a large-scale-change
23// See: http://go/android-license-faq
24license {
25    name: "frameworks_base_packages_SystemUI_license",
26    visibility: [":__subpackages__"],
27    license_kinds: [
28        "SPDX-license-identifier-Apache-2.0",
29    ],
30    license_text: [
31        "NOTICE",
32    ],
33}
34
35java_library {
36    name: "SystemUI-proto",
37
38    srcs: ["src/**/*.proto"],
39
40    proto: {
41        type: "nano",
42    },
43
44    libs: [
45        "WindowManager-Shell-proto",
46    ],
47}
48
49java_library {
50    name: "SystemUI-tags",
51    srcs: ["src/com/android/systemui/EventLogTags.logtags"],
52}
53
54filegroup {
55    name: "ReleaseJavaFiles",
56    srcs: [
57        "src-release/**/*.kt",
58        "src-release/**/*.java",
59    ],
60    visibility: ["//visibility:private"],
61}
62
63filegroup {
64    name: "DebugJavaFiles",
65    srcs: [
66        "src-debug/**/*.kt",
67        "src-debug/**/*.java",
68    ],
69    visibility: ["//visibility:private"],
70}
71
72filegroup {
73    name: "SystemUI-tests-robofiles",
74    srcs: [
75        "tests/src/**/*.kt",
76        "tests/src/**/*.java",
77    ],
78    visibility: ["//visibility:private"],
79}
80
81// Tests where robolectric conversion caused errors in SystemUITests at runtime
82filegroup {
83    name: "SystemUI-tests-broken-robofiles-sysui-run",
84    srcs: [
85        "tests/src/**/systemui/broadcast/BroadcastDispatcherTest.kt",
86        "tests/src/**/systemui/broadcast/ActionReceiverTest.kt",
87        "tests/src/**/systemui/doze/DozeMachineTest.java",
88        "tests/src/**/systemui/globalactions/GlobalActionsDialogLiteTest.java",
89        "tests/src/**/systemui/globalactions/GlobalActionsImeTest.java",
90        "tests/src/**/systemui/keyguard/data/repository/KeyguardTransitionRepositoryTest.kt",
91        "tests/src/**/systemui/media/controls/domain/pipeline/LegacyMediaDataManagerImplTest.kt",
92        "tests/src/**/systemui/media/controls/domain/pipeline/MediaDataProcessorTest.kt",
93        "tests/src/**/systemui/media/dialog/MediaOutputAdapterTest.java",
94        "tests/src/**/systemui/media/dialog/MediaOutputBaseDialogTest.java",
95        "tests/src/**/systemui/media/dialog/MediaOutputBroadcastDialogTest.java",
96        "tests/src/**/systemui/media/dialog/MediaOutputDialogTest.java",
97        "tests/src/**/systemui/mediaprojection/permission/MediaProjectionPermissionDialogDelegateTest.kt",
98    ],
99}
100
101// Tests where robolectric failed at runtime. (go/multivalent-tests)
102filegroup {
103    name: "SystemUI-tests-broken-robofiles-run",
104    srcs: [
105        "tests/src/**/systemui/accessibility/AccessibilityButtonModeObserverTest.java",
106        "tests/src/**/systemui/accessibility/AccessibilityButtonTargetsObserverTest.java",
107        "tests/src/**/systemui/accessibility/FullscreenMagnificationControllerTest.java",
108        "tests/src/**/systemui/accessibility/WindowMagnificationAnimationControllerTest.java",
109        "tests/src/**/systemui/animation/FontInterpolatorTest.kt",
110        "tests/src/**/systemui/animation/TextAnimatorTest.kt",
111        "tests/src/**/systemui/animation/TextInterpolatorTest.kt",
112        "tests/src/**/systemui/animation/ActivityTransitionAnimatorTest.kt",
113        "tests/src/**/systemui/animation/AnimatorTestRuleOrderTest.kt",
114        "tests/src/**/systemui/animation/DialogTransitionAnimatorTest.kt",
115        "tests/src/**/systemui/broadcast/ActionReceiverTest.kt",
116        "tests/src/**/systemui/broadcast/BroadcastDispatcherTest.kt",
117        "tests/src/**/systemui/compose/ComposeInitializerTest.kt",
118        "tests/src/**/systemui/controls/ui/ControlsActivityTest.kt",
119        "tests/src/**/systemui/controls/management/ControlsEditingActivityTest.kt",
120        "tests/src/**/systemui/controls/management/ControlsRequestDialogTest.kt",
121        "tests/src/**/systemui/controls/ui/DetailDialogTest.kt",
122        "tests/src/**/systemui/doze/DozeMachineTest.kt",
123        "tests/src/**/systemui/fontscaling/FontScalingDialogDelegateTest.kt",
124        "tests/src/**/systemui/keyguard/CustomizationProviderTest.kt",
125        "tests/src/**/systemui/globalactions/GlobalActionsColumnLayoutTest.java",
126        "tests/src/**/systemui/globalactions/GlobalActionsDialogLiteTest.java",
127        "tests/src/**/systemui/globalactions/GlobalActionsImeTest.java",
128        "tests/src/**/systemui/graphics/ImageLoaderTest.kt",
129        "tests/src/**/systemui/keyguard/CustomizationProviderTest.kt",
130        "tests/src/**/systemui/keyguard/KeyguardViewMediatorTest.java",
131        "tests/src/**/systemui/keyguard/LifecycleTest.java",
132        "tests/src/**/systemui/keyguard/data/repository/KeyguardTransitionRepositoryTest.kt",
133        "tests/src/**/systemui/keyguard/ui/view/layout/sections/ClockSectionTest.kt",
134        "tests/src/**/systemui/keyguard/data/repository/KeyguardBlueprintRepositoryTest.kt",
135        "tests/src/**/systemui/keyguard/ui/viewmodel/KeyguardSmartspaceViewModelTest.kt",
136        "tests/src/**/systemui/lifecycle/RepeatWhenAttachedTest.kt",
137        "tests/src/**/systemui/log/LogBufferTest.kt",
138        "tests/src/**/systemui/media/dialog/MediaOutputBaseDialogTest.java",
139        "tests/src/**/systemui/media/dialog/MediaOutputBroadcastDialogTest.java",
140        "tests/src/**/systemui/media/dialog/MediaOutputDialogTest.java",
141        "tests/src/**/systemui/media/controls/domain/resume/MediaResumeListenerTest.kt",
142        "tests/src/**/systemui/mediaprojection/taskswitcher/ui/TaskSwitcherNotificationCoordinatorTest.kt",
143        "tests/src/**/systemui/navigationbar/NavigationBarButtonTest.java",
144        "tests/src/**/systemui/people/PeopleProviderTest.java",
145        "tests/src/**/systemui/people/PeopleSpaceUtilsTest.java",
146        "tests/src/**/systemui/people/widget/PeopleSpaceWidgetManagerTest.java",
147        "tests/src/**/systemui/people/PeopleTileViewHelperTest.java",
148        "tests/src/**/systemui/power/data/repository/PowerRepositoryImplTest.kt",
149        "tests/src/**/systemui/privacy/PrivacyConfigFlagsTest.kt",
150        "tests/src/**/systemui/privacy/PrivacyDialogV2Test.kt",
151        "tests/src/**/systemui/qs/external/TileRequestDialogEventLoggerTest.kt",
152        "tests/src/**/systemui/qs/AutoAddTrackerTest.kt",
153        "tests/src/**/systemui/qs/external/TileRequestDialogEventLoggerTest.kt",
154        "tests/src/**/systemui/qs/tiles/DndTileTest.kt",
155        "tests/src/**/systemui/qs/tiles/DreamTileTest.java",
156        "tests/src/**/systemui/qs/FgsManagerControllerTest.java",
157        "tests/src/**/systemui/qs/QSPanelTest.kt",
158        "tests/src/**/systemui/reardisplay/RearDisplayDialogControllerTest.java",
159        "tests/src/**/systemui/statusbar/KeyboardShortcutListSearchTest.java",
160        "tests/src/**/systemui/statusbar/KeyboardShortcutsTest.java",
161        "tests/src/**/systemui/statusbar/KeyguardIndicationControllerWithCoroutinesTest.kt",
162        "tests/src/**/systemui/statusbar/notification/AssistantFeedbackControllerTest.java",
163        "tests/src/**/systemui/statusbar/notification/collection/NotifCollectionTest.java",
164        "tests/src/**/systemui/statusbar/notification/collection/NotificationEntryTest.java",
165        "tests/src/**/systemui/statusbar/notification/collection/render/GroupExpansionManagerTest.kt",
166        "tests/src/**/systemui/statusbar/notification/collection/ShadeListBuilderTest.java",
167        "tests/src/**/systemui/statusbar/notification/footer/ui/view/FooterViewTest.java",
168        "tests/src/**/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImplTest.java",
169        "tests/src/**/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderWrapperTest.kt",
170        "tests/src/**/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderImplTest.kt",
171        "tests/src/**/systemui/statusbar/NotificationLockscreenUserManagerTest.java",
172        "tests/src/**/systemui/statusbar/notification/logging/NotificationLoggerTest.java",
173        "tests/src/**/systemui/statusbar/notification/row/ExpandableNotificationRowTest.java",
174        "tests/src/**/systemui/statusbar/notification/row/NotificationContentInflaterTest.java",
175        "tests/src/**/systemui/statusbar/notification/row/NotificationContentViewTest.kt",
176        "tests/src/**/systemui/statusbar/notification/row/NotificationConversationInfoTest.java",
177        "tests/src/**/systemui/statusbar/notification/row/NotificationGutsManagerTest.java",
178        "tests/src/**/systemui/statusbar/notification/row/NotificationGutsManagerWithScenesTest.kt",
179        "tests/src/**/systemui/statusbar/notification/row/NotifLayoutInflaterFactoryTest.kt",
180        "tests/src/**/systemui/statusbar/notification/row/wrapper/NotificationTemplateViewWrapperTest.kt",
181        "tests/src/**/systemui/statusbar/notification/stack/NotificationSectionsManagerTest.java",
182        "tests/src/**/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java",
183        "tests/src/**/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelTest.kt",
184        "tests/src/**/systemui/statusbar/phone/AutoTileManagerTest.java",
185        "tests/src/**/systemui/statusbar/phone/CentralSurfacesImplTest.java",
186        "tests/src/**/systemui/statusbar/phone/fragment/CollapsedStatusBarFragmentTest.java",
187        "tests/src/**/systemui/statusbar/phone/PhoneStatusBarTransitionsTest.kt",
188        "tests/src/**/systemui/statusbar/phone/PhoneStatusBarViewControllerTest.kt",
189        "tests/src/**/systemui/statusbar/phone/PhoneStatusBarView.java",
190        "tests/src/**/systemui/statusbar/phone/PhoneStatusBarViewTest.kt",
191        "tests/src/**/systemui/statusbar/phone/StatusBarBoundsProviderTest.kt",
192        "tests/src/**/systemui/statusbar/phone/StatusBarMoveFromCenterAnimationControllerTest.kt",
193        "tests/src/**/systemui/statusbar/pipeline/airplane/ui/viewmodel/AirplaneModeViewModelImplTest.kt",
194        "tests/src/**/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryTest.kt",
195        "tests/src/**/systemui/statusbar/pipeline/mobile/ui/view/ModernStatusBarMobileViewTest.kt",
196        "tests/src/**/systemui/statusbar/pipeline/wifi/data/repository/prod/WifiRepositoryImplTest.kt",
197        "tests/src/**/systemui/statusbar/pipeline/wifi/ui/view/ModernStatusBarWifiViewTest.kt",
198        "tests/src/**/systemui/statusbar/policy/CallbackControllerTest.java",
199        "tests/src/**/systemui/statusbar/policy/DeviceStateRotationLockSettingControllerTest.java",
200        "tests/src/**/systemui/statusbar/policy/InflatedSmartRepliesTest.java",
201        "tests/src/**/systemui/statusbar/policy/LocationControllerImplTest.java",
202        "tests/src/**/systemui/statusbar/policy/RemoteInputViewTest.java",
203        "tests/src/**/systemui/statusbar/policy/SmartReplyViewTest.java",
204        "tests/src/**/systemui/statusbar/StatusBarStateControllerImplTest.kt",
205        "tests/src/**/systemui/theme/ThemeOverlayApplierTest.java",
206        "tests/src/**/systemui/touch/TouchInsetManagerTest.java",
207        "tests/src/**/systemui/util/LifecycleFragmentTest.java",
208        "tests/src/**/systemui/util/TestableAlertDialogTest.kt",
209        "tests/src/**/systemui/util/kotlin/PairwiseFlowTest",
210        "tests/src/**/systemui/util/sensors/AsyncManagerTest.java",
211        "tests/src/**/systemui/util/sensors/ThresholdSensorImplTest.java",
212        "tests/src/**/systemui/util/wakelock/KeepAwakeAnimationListenerTest.java",
213        "tests/src/**/systemui/volume/VolumeDialogImplTest.java",
214        "tests/src/**/systemui/wallet/controller/QuickAccessWalletControllerTest.java",
215        "tests/src/**/systemui/wallet/ui/WalletScreenControllerTest.java",
216    ],
217}
218
219// Tests where robolectric failed at compile time. (go/multivalent-tests)
220filegroup {
221    name: "SystemUI-tests-broken-robofiles-compile",
222    srcs: [
223        "tests/src/**/*DeviceOnlyTest.java",
224        "tests/src/**/*DeviceOnlyTest.kt",
225        "tests/src/**/systemui/media/taptotransfer/receiver/MediaTttChipControllerReceiverTest.kt",
226        "tests/src/**/systemui/accessibility/data/repository/AccessibilityQsShortcutsRepositoryImplForDeviceTest.kt",
227        "tests/src/**/systemui/biometrics/AuthDialogPanelInteractionDetectorTest.kt",
228        "tests/src/**/systemui/controls/management/ControlsFavoritingActivityTest.kt",
229        "tests/src/**/systemui/controls/management/ControlsProviderSelectorActivityTest.kt",
230        "tests/src/**/systemui/controls/start/ControlsStartableTest.kt",
231        "tests/src/**/systemui/haptics/slider/SliderStateTrackerTest.kt",
232        "tests/src/**/systemui/keyboard/stickykeys/ui/StickyKeysIndicatorCoordinatorTest.kt",
233        "tests/src/**/systemui/keyboard/stickykeys/ui/viewmodel/StickyKeysIndicatorViewModelTest.kt",
234        "tests/src/**/systemui/keyguard/data/quickaffordance/MuteQuickAffordanceCoreStartableTest.kt",
235        "tests/src/**/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractorParameterizedTest.kt",
236        "tests/src/**/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractorSceneContainerTest.kt",
237        "tests/src/**/systemui/keyguard/ResourceTrimmerTest.kt",
238        "tests/src/**/systemui/keyguard/ui/viewmodel/KeyguardBottomAreaViewModelTest.kt",
239        "tests/src/**/systemui/keyguard/ui/viewmodel/KeyguardQuickAffordancesCombinedViewModelTest.kt",
240        "tests/src/**/systemui/media/controls/domain/pipeline/MediaTimeoutListenerTest.kt",
241        "tests/src/**/systemui/media/controls/ui/controller/MediaHierarchyManagerTest.kt",
242        "tests/src/**/systemui/mediaprojection/taskswitcher/MediaProjectionTaskSwitcherCoreStartableTest.kt",
243        "tests/src/**/systemui/media/taptotransfer/receiver/FakeMediaTttChipControllerReceiver.kt",
244        "tests/src/**/systemui/qs/tileimpl/QSTileViewImplTest.kt",
245        "tests/src/**/systemui/qs/tiles/DeviceControlsTileTest.kt",
246        "tests/src/**/systemui/screenshot/ActionExecutorTest.kt",
247        "tests/src/**/systemui/screenshot/ActionIntentCreatorTest.kt",
248        "tests/src/**/systemui/screenshot/DefaultScreenshotActionsProviderTest.kt",
249        "tests/src/**/systemui/screenshot/TakeScreenshotServiceTest.kt",
250        "tests/src/**/systemui/statusbar/commandline/CommandRegistryTest.kt",
251        "tests/src/**/systemui/statusbar/notification/collection/TargetSdkResolverTest.kt",
252        "tests/src/**/systemui/statusbar/notification/icon/IconManagerTest.kt",
253        "tests/src/**/systemui/statusbar/notification/row/BigPictureIconManagerTest.kt",
254        "tests/src/**/systemui/statusbar/notification/row/NotificationSettingsControllerTest.kt",
255        "tests/src/**/systemui/statusbar/notification/stack/ui/view/NotificationStatsLoggerTest.kt",
256        "tests/src/**/systemui/statusbar/pipeline/satellite/data/prod/DeviceBasedSatelliteRepositoryImplTest.kt",
257        "tests/src/**/systemui/statusbar/policy/BatteryStateNotifierTest.kt",
258        "tests/src/**/systemui/statusbar/policy/FlashlightControllerImplTest.kt",
259        "tests/src/**/systemui/statusbar/policy/SensitiveNotificationProtectionControllerFlagDisabledTest.kt",
260        "tests/src/**/systemui/stylus/StylusUsiPowerStartableTest.kt",
261        "tests/src/**/systemui/temporarydisplay/TemporaryViewDisplayControllerTest.kt",
262        "tests/src/**/keyguard/ClockEventControllerTest.kt",
263        "tests/src/**/keyguard/LegacyLockIconViewControllerWithCoroutinesTest.kt",
264        "tests/src/**/keyguard/LegacyLockIconViewControllerBaseTest.kt",
265        "tests/src/**/keyguard/LegacyLockIconViewControllerTest.java",
266        "tests/src/**/systemui/animation/TransitionAnimatorTest.kt",
267        "tests/src/**/systemui/bluetooth/qsdialog/BluetoothAutoOnRepositoryTest.kt",
268        "tests/src/**/systemui/bluetooth/qsdialog/BluetoothStateInteractorTest.kt",
269        "tests/src/**/systemui/bluetooth/qsdialog/BluetoothTileDialogDelegateTest.kt",
270        "tests/src/**/systemui/bluetooth/qsdialog/BluetoothTileDialogRepositoryTest.kt",
271        "tests/src/**/systemui/bluetooth/qsdialog/BluetoothTileDialogViewModelTest.kt",
272        "tests/src/**/systemui/bluetooth/qsdialog/DeviceItemFactoryTest.kt",
273        "tests/src/**/systemui/bluetooth/qsdialog/DeviceItemInteractorTest.kt",
274        // TODO(b/322324387): Fails to start due to missing ScreenshotActivity
275        "tests/src/**/systemui/bouncer/ui/composable/BouncerContentTest.kt",
276        "tests/src/**/systemui/bouncer/ui/composable/PatternBouncerTest.kt",
277        "tests/src/**/systemui/broadcast/UserBroadcastDispatcherTest.kt",
278        "tests/src/**/systemui/charging/WiredChargingRippleControllerTest.kt",
279        "tests/src/**/systemui/clipboardoverlay/ClipboardModelTest.kt",
280        "tests/src/**/systemui/controls/controller/AuxiliaryPersistenceWrapperTest.kt",
281        "tests/src/**/systemui/controls/controller/ControlsBindingControllerImplTest.kt",
282        "tests/src/**/systemui/controls/controller/ControlsControllerImplTest.kt",
283        "tests/src/**/systemui/controls/controller/DeletionJobServiceTest.kt",
284        "tests/src/**/systemui/controls/settings/ControlsSettingsDialogManagerImplTest.kt",
285        "tests/src/**/systemui/controls/ui/ControlsUiControllerImplTest.kt",
286        "tests/src/**/systemui/controls/ui/ControlViewHolderTest.kt",
287        "tests/src/**/systemui/controls/ui/SelectionItemTest.kt",
288        "tests/src/**/systemui/keyguard/ui/view/layout/sections/DefaultDeviceEntrySectionTest.kt",
289        "tests/src/**/systemui/media/controls/domain/pipeline/LegacyMediaDataFilterImplTest.kt",
290        "tests/src/**/systemui/media/controls/domain/pipeline/LegacyMediaDataManagerImplTest.kt",
291        "tests/src/**/systemui/media/controls/domain/pipeline/MediaDataFilterImplTest.kt",
292        "tests/src/**/systemui/media/controls/ui/animation/AnimationBindHandlerTest.kt",
293        "tests/src/**/systemui/media/controls/ui/animation/ColorSchemeTransitionTest.kt",
294        "tests/src/**/systemui/media/controls/ui/animation/MetadataAnimationHandlerTest.kt",
295        "tests/src/**/systemui/media/controls/ui/controller/MediaCarouselControllerTest.kt",
296        "tests/src/**/systemui/media/controls/ui/controller/MediaControlPanelTest.kt",
297        "tests/src/**/systemui/media/controls/ui/controller/MediaViewControllerTest.kt",
298        "tests/src/**/systemui/media/controls/ui/drawable/SquigglyProgressTest.kt",
299        "tests/src/**/systemui/media/controls/ui/MediaPlayerDataTest.kt",
300        "tests/src/**/systemui/media/taptotransfer/sender/MediaTttSenderCoordinatorTest.kt",
301        "tests/src/**/systemui/navigationbar/gestural/BackPanelControllerTest.kt",
302        "tests/src/**/systemui/notetask/NoteTaskControllerTest.kt",
303        "tests/src/**/systemui/notetask/NoteTaskInitializerTest.kt",
304        "tests/src/**/systemui/power/domain/interactor/PowerInteractorTest.kt",
305        "tests/src/**/systemui/privacy/AppOpsPrivacyItemMonitorTest.kt",
306        "tests/src/**/systemui/privacy/PrivacyItemControllerTest.kt",
307        "tests/src/**/systemui/qs/external/CustomTileStatePersisterTest.kt",
308        "tests/src/**/systemui/qs/external/TileRequestDialogTest.kt",
309        "tests/src/**/systemui/qs/external/TileServiceRequestControllerTest.kt",
310        "tests/src/**/systemui/qs/tileimpl/TilesStatesTextTest.kt",
311        "tests/src/**/systemui/qs/tiles/AlarmTileTest.kt",
312        "tests/src/**/systemui/qs/tiles/BluetoothTileTest.kt",
313        "tests/src/**/systemui/screenshot/ScreenshotPolicyImplTest.kt",
314        "tests/src/**/systemui/settings/DisplayTrackerImplTest.kt",
315        "tests/src/**/systemui/settings/UserFileManagerImplTest.kt",
316        "tests/src/**/systemui/settings/UserTrackerImplReceiveTest.kt",
317        "tests/src/**/systemui/settings/UserTrackerImplTest.kt",
318        "tests/src/**/systemui/shade/GlanceableHubContainerControllerTest.kt",
319        "tests/src/**/systemui/shade/NotificationsQSContainerControllerLegacyTest.kt",
320        "tests/src/**/systemui/shade/NotificationsQSContainerControllerTest.kt",
321        "tests/src/**/systemui/shade/ShadeExpansionStateManagerTest.kt",
322        "tests/src/**/systemui/shade/ShadeHeaderControllerTest.kt",
323        "tests/src/**/systemui/shade/transition/LargeScreenShadeInterpolatorImplTest.kt",
324        "tests/src/**/systemui/statusbar/commandline/CommandParserTest.kt",
325        "tests/src/**/systemui/statusbar/connectivity/MobileStateTest.kt",
326        "tests/src/**/systemui/statusbar/events/SystemStatusAnimationSchedulerImplTest.kt",
327        "tests/src/**/systemui/statusbar/gesture/GenericGestureDetectorTest.kt",
328        "tests/src/**/systemui/statusbar/LightRevealScrimTest.kt",
329        "tests/src/**/systemui/statusbar/LockscreenShadeTransitionControllerTest.kt",
330        "tests/src/**/systemui/statusbar/notification/collection/coordinator/DataStoreCoordinatorTest.kt",
331        "tests/src/**/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinatorTest.kt",
332        "tests/src/**/systemui/statusbar/notification/collection/coordinator/RowAppearanceCoordinatorTest.kt",
333        "tests/src/**/systemui/statusbar/notification/collection/coordinator/ShadeEventCoordinatorTest.kt",
334        "tests/src/**/systemui/statusbar/notification/collection/coordinator/StackCoordinatorTest.kt",
335        "tests/src/**/systemui/statusbar/notification/collection/coordinator/ViewConfigCoordinatorTest.kt",
336        "tests/src/**/systemui/statusbar/notification/logging/NotificationMemoryLoggerTest.kt",
337        "tests/src/**/systemui/statusbar/notification/logging/NotificationMemoryMeterTest.kt",
338        "tests/src/**/systemui/statusbar/notification/logging/NotificationMemoryViewWalkerTest.kt",
339        "tests/src/**/systemui/statusbar/notification/RoundableTest.kt",
340        "tests/src/**/systemui/statusbar/notification/row/ChannelEditorDialogControllerTest.kt",
341        "tests/src/**/systemui/statusbar/notification/row/SingleLineConversationViewBinderTest.kt",
342        "tests/src/**/systemui/statusbar/notification/row/SingleLineViewBinderTest.kt",
343        "tests/src/**/systemui/statusbar/notification/row/SingleLineViewInflaterTest.kt",
344        "tests/src/**/systemui/statusbar/notification/row/TextPrecomputerTest.kt",
345        "tests/src/**/systemui/statusbar/phone/FoldStateListenerTest.kt",
346        "tests/src/**/systemui/statusbar/phone/fragment/MultiSourceMinAlphaControllerTest.kt",
347        "tests/src/**/systemui/statusbar/pipeline/mobile/data/model/SystemUiCarrierConfigTest.kt",
348        "tests/src/**/systemui/statusbar/pipeline/mobile/data/repository/MobileRepositorySwitcherTest.kt",
349        "tests/src/**/systemui/statusbar/pipeline/mobile/data/repository/prod/FullMobileConnectionRepositoryTest.kt",
350        "tests/src/**/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt",
351        "tests/src/**/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionTelephonySmokeTests.kt",
352        "tests/src/**/systemui/statusbar/pipeline/shared/data/repository/ConnectivityRepositoryImplTest.kt",
353        "tests/src/**/systemui/statusbar/pipeline/wifi/shared/model/WifiNetworkModelTest.kt",
354        "tests/src/**/systemui/statusbar/pipeline/wifi/ui/viewmodel/WifiViewModelIconParameterizedTest.kt",
355        "tests/src/**/systemui/statusbar/policy/DeviceControlsControllerImplTest.kt",
356        "tests/src/**/systemui/statusbar/policy/VariableDateViewControllerTest.kt",
357        "tests/src/**/systemui/statusbar/policy/WalletControllerImplTest.kt",
358        "tests/src/**/systemui/statusbar/SplitShadeLockScreenOverScrollerTest.kt",
359        "tests/src/**/systemui/stylus/StylusUsiPowerUiTest.kt",
360        "tests/src/**/systemui/temporarydisplay/chipbar/ChipbarCoordinatorTest.kt",
361        "tests/src/**/keyguard/KeyguardUpdateMonitorTest.java",
362        "tests/src/**/keyguard/LegacyLockIconViewControllerBaseTest.java",
363        "tests/src/**/keyguard/CarrierTextManagerTest.java",
364        "tests/src/**/systemui/ScreenDecorationsTest.java",
365        "tests/src/**/systemui/temporarydisplay/chipbar/SwipeChipbarAwayGestureHandlerTest.kt",
366        "tests/src/**/systemui/media/controls/domain/pipeline/MediaDataProcessorTest.kt",
367        "tests/src/**/systemui/media/controls/domain/pipeline/LegacyMediaDataManagerImplTest.kt",
368        "tests/src/**/systemui/shared/system/RemoteTransitionTest.java",
369        "tests/src/**/systemui/navigationbar/NavigationBarControllerImplTest.java",
370        "tests/src/**/systemui/bluetooth/qsdialog/AudioSharingInteractorTest.kt",
371        "tests/src/**/systemui/bluetooth/qsdialog/DeviceItemActionInteractorTest.kt",
372        "tests/src/**/systemui/notetask/quickaffordance/NoteTaskQuickAffordanceConfigTest.kt",
373        "tests/src/**/systemui/notetask/LaunchNotesRoleSettingsTrampolineActivityTest.kt",
374        "tests/src/**/systemui/notetask/shortcut/LaunchNoteTaskActivityTest.kt",
375        "tests/src/**/systemui/DisplayCutoutBaseViewTest.kt",
376        "tests/src/**/systemui/qs/tiles/dialog/InternetDialogDelegateTest.java",
377        "tests/src/**/systemui/qs/tiles/dialog/InternetDialogDelegateControllerTest.java",
378        "tests/src/**/systemui/qs/tiles/HotspotTileTest.java",
379        "tests/src/**/systemui/qs/external/TileLifecycleManagerTest.java",
380        "tests/src/**/systemui/recents/OverviewProxyServiceTest.kt",
381        "tests/src/**/systemui/stylus/StylusManagerTest.kt",
382        "tests/src/**/systemui/statusbar/phone/StatusBarNotificationActivityStarterTest.java",
383        "tests/src/**/systemui/statusbar/phone/KeyguardClockPositionAlgorithmTest.java",
384        "tests/src/**/systemui/statusbar/policy/BatteryControllerStartableTest.java",
385        "tests/src/**/systemui/statusbar/policy/BatteryControllerTest.java",
386        "tests/src/**/systemui/statusbar/policy/SensitiveNotificationProtectionControllerTest.kt",
387        "tests/src/**/systemui/statusbar/notification/NotificationSectionsFeatureManagerTest.kt",
388        "tests/src/**/systemui/statusbar/pipeline/mobile/data/repository/CarrierConfigRepositoryTest.kt",
389        "tests/src/**/systemui/statusbar/KeyboardShortcutsReceiverTest.java",
390        "tests/src/**/systemui/wmshell/BubblesTest.java",
391        "tests/src/**/systemui/biometrics/AuthRippleControllerTest.kt",
392        "tests/src/**/keyguard/KeyguardAbsKeyInputViewControllerTest.java",
393        "tests/src/**/systemui/accessibility/floatingmenu/MenuAnimationControllerTest.java",
394        "tests/src/**/systemui/clipboardoverlay/ClipboardListenerTest.java",
395        "tests/src/**/systemui/doze/DozeScreenStateTest.java",
396        "tests/src/**/systemui/keyguard/WorkLockActivityControllerTest.java",
397        "tests/src/**/systemui/media/dialog/MediaOutputControllerTest.java",
398        "tests/src/**/systemui/navigationbar/NavigationBarTest.java",
399        "tests/src/**/systemui/power/PowerNotificationWarningsTest.java",
400        "tests/src/**/systemui/power/PowerUITest.java",
401        "tests/src/**/systemui/qs/QSFooterViewControllerTest.java",
402        "tests/src/**/systemui/qs/QSImplTest.java",
403        "tests/src/**/systemui/qs/QSSecurityFooterTest.java",
404        "tests/src/**/systemui/qs/tileimpl/QSTileImplTest.java",
405        "tests/src/**/systemui/qs/tiles/QuickAccessWalletTileTest.java",
406        "tests/src/**/systemui/shade/carrier/ShadeCarrierGroupControllerTest.java",
407        "tests/src/**/systemui/shared/plugins/PluginActionManagerTest.java",
408        "tests/src/**/systemui/statusbar/CommandQueueTest.java",
409        "tests/src/**/systemui/statusbar/connectivity/CallbackHandlerTest.java",
410        "tests/src/**/systemui/statusbar/connectivity/NetworkControllerBaseTest.java",
411        "tests/src/**/systemui/statusbar/KeyguardIndicationControllerTest.java",
412        "tests/src/**/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java",
413        "tests/src/**/systemui/statusbar/phone/ScrimControllerTest.java",
414        "tests/src/**/systemui/statusbar/policy/RotationLockControllerImplTest.java",
415        "tests/src/**/systemui/statusbar/policy/SecurityControllerTest.java",
416        "tests/src/**/systemui/toast/ToastUITest.java",
417        "tests/src/**/systemui/statusbar/connectivity/NetworkControllerDataTest.java",
418        "tests/src/**/systemui/statusbar/connectivity/NetworkControllerEthernetTest.java",
419        "tests/src/**/systemui/statusbar/connectivity/NetworkControllerSignalTest.java",
420        "tests/src/**/systemui/statusbar/connectivity/NetworkControllerWifiTest.java",
421    ],
422    visibility: ["//visibility:private"],
423}
424
425//Create a library to expose SystemUI's resources to other modules.
426android_library {
427    name: "SystemUI-res",
428    use_resource_processor: true,
429    resource_dirs: [
430        "res-product",
431        "res-keyguard",
432        "res",
433    ],
434    static_libs: [
435        "SystemUISharedLib",
436        "SystemUICustomizationLib",
437        "SettingsLib",
438        "androidx.leanback_leanback",
439        "androidx.slice_slice-core",
440        "androidx.slice_slice-view",
441    ],
442    manifest: "AndroidManifest-res.xml",
443}
444
445android_library {
446    name: "SystemUI-core",
447    srcs: [
448        "src/**/*.kt",
449        "src/**/*.java",
450        "src/**/I*.aidl",
451        ":ReleaseJavaFiles",
452        "compose/features/src/**/*.kt",
453        "compose/facade/enabled/src/**/*.kt",
454    ],
455    product_variables: {
456        debuggable: {
457            srcs: [":DebugJavaFiles"],
458            exclude_srcs: [":ReleaseJavaFiles"],
459        },
460    },
461    use_resource_processor: true,
462    static_libs: [
463        "//frameworks/libs/systemui:compilelib",
464        "SystemUI-res",
465        "WifiTrackerLib",
466        "WindowManager-Shell",
467        "PlatformAnimationLib",
468        "SystemUICommon",
469        "SystemUICustomizationLib",
470        "SystemUILogLib",
471        "SystemUIPluginLib",
472        "SystemUISharedLib",
473        "SystemUI-shared-utils",
474        "SystemUI-statsd",
475        "SettingsLib",
476        "com_android_systemui_flags_lib",
477        "//frameworks/libs/systemui:com_android_systemui_shared_flags_lib",
478        "androidx.core_core-ktx",
479        "androidx.viewpager2_viewpager2",
480        "androidx.legacy_legacy-support-v4",
481        "androidx.recyclerview_recyclerview",
482        "androidx.preference_preference",
483        "androidx.appcompat_appcompat",
484        "androidx.concurrent_concurrent-futures",
485        "androidx.mediarouter_mediarouter",
486        "androidx.palette_palette",
487        "androidx.legacy_legacy-preference-v14",
488        "androidx.leanback_leanback",
489        "androidx.slice_slice-core",
490        "androidx.slice_slice-view",
491        "androidx.slice_slice-builders",
492        "androidx.arch.core_core-runtime",
493        "androidx.lifecycle_lifecycle-common-java8",
494        "androidx.lifecycle_lifecycle-extensions",
495        "androidx.lifecycle_lifecycle-runtime-ktx",
496        "androidx.dynamicanimation_dynamicanimation",
497        "androidx-constraintlayout_constraintlayout",
498        "androidx.exifinterface_exifinterface",
499        "androidx.room_room-runtime",
500        "androidx.room_room-ktx",
501        "com.google.android.material_material",
502        "device_state_flags_lib",
503        "kotlinx_coroutines_android",
504        "kotlinx_coroutines",
505        "//frameworks/libs/systemui:iconloader_base",
506        "SystemUI-tags",
507        "SystemUI-proto",
508        "monet",
509        "libmonet",
510        "dagger2",
511        "jsr305",
512        "jsr330",
513        "lottie",
514        "LowLightDreamLib",
515        "TraceurCommon",
516        "//frameworks/libs/systemui:motion_tool_lib",
517        "notification_flags_lib",
518        "PlatformComposeCore",
519        "PlatformComposeSceneTransitionLayout",
520        "androidx.compose.runtime_runtime",
521        "androidx.compose.material3_material3",
522        "androidx.compose.material_material-icons-extended",
523        "androidx.activity_activity-compose",
524        "androidx.compose.animation_animation-graphics",
525        "androidx.lifecycle_lifecycle-viewmodel-compose",
526        "device_policy_aconfig_flags_lib",
527    ],
528    libs: [
529        "keepanno-annotations",
530    ],
531    manifest: "AndroidManifest.xml",
532
533    javacflags: [
534        "-Adagger.fastInit=enabled",
535        "-Adagger.explicitBindingConflictsWithInject=ERROR",
536        "-Adagger.strictMultibindingValidation=enabled",
537        "-Aroom.schemaLocation=frameworks/base/packages/SystemUI/schemas",
538    ],
539    kotlincflags: ["-Xjvm-default=all"],
540
541    plugins: [
542        "androidx.room_room-compiler-plugin",
543        "dagger2-compiler",
544    ],
545
546    lint: {
547        extra_check_modules: ["SystemUILintChecker"],
548        warning_checks: ["MissingApacheLicenseDetector"],
549        baseline_filename: "lint-baseline.xml",
550    },
551}
552
553filegroup {
554    name: "AAA-src",
555    srcs: ["tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java"],
556    path: "tests/src",
557}
558
559filegroup {
560    name: "kosmos-src",
561    srcs: ["tests/utils/kosmos/src/**/*.kt"],
562    path: "tests/utils/kosmos",
563}
564
565java_library {
566    name: "kosmos",
567    host_supported: true,
568    srcs: [":kosmos-src"],
569    static_libs: [
570        "kotlin-reflect",
571        "kotlin-stdlib",
572    ],
573}
574
575filegroup {
576    name: "SystemUI-tests-utils",
577    srcs: [
578        "tests/utils/src/**/*.java",
579        "tests/utils/src/**/*.kt",
580        ":kosmos-src",
581    ],
582    path: "tests/utils",
583}
584
585filegroup {
586    name: "SystemUI-tests-multivalent",
587    srcs: [
588        "multivalentTests/src/**/*.kt",
589        "multivalentTests/src/**/*.java",
590    ],
591    path: "multivalentTests/src",
592}
593
594java_library {
595    name: "SystemUI-tests-concurrency",
596    srcs: [
597        "src/com/android/systemui/util/concurrency/DelayableExecutor.java",
598        "src/com/android/systemui/util/time/SystemClock.java",
599        "tests/utils/src/com/android/systemui/util/concurrency/FakeExecutor.java",
600        "tests/utils/src/com/android/systemui/util/time/FakeSystemClock.java",
601    ],
602    jarjar_rules: ":jarjar-rules-shared",
603}
604
605android_library {
606    name: "SystemUI-tests-base",
607    use_resource_processor: true,
608    manifest: "tests/AndroidManifest-base.xml",
609    resource_dirs: [
610        "tests/res",
611    ],
612    asset_dirs: [
613        "tests/goldens",
614    ],
615    static_libs: [
616        "SystemUI-res",
617        "WifiTrackerLib",
618        "PlatformAnimationLib",
619        "PlatformMotionTestingCompose",
620        "ScreenshotComposeUtilsLib",
621        "SystemUIPluginLib",
622        "SystemUISharedLib",
623        "SystemUICustomizationLib",
624        "SystemUICustomizationTestUtils",
625        "SystemUI-shared-utils",
626        "SystemUI-statsd",
627        "SettingsLib",
628        "com_android_systemui_flags_lib",
629        "//frameworks/libs/systemui:com_android_systemui_shared_flags_lib",
630        "flag-junit-base",
631        "platform-parametric-runner-lib",
632        "androidx.viewpager2_viewpager2",
633        "androidx.legacy_legacy-support-v4",
634        "androidx.recyclerview_recyclerview",
635        "androidx.preference_preference",
636        "androidx.appcompat_appcompat",
637        "androidx.concurrent_concurrent-futures",
638        "androidx.mediarouter_mediarouter",
639        "androidx.palette_palette",
640        "androidx.legacy_legacy-preference-v14",
641        "androidx.leanback_leanback",
642        "androidx.slice_slice-core",
643        "androidx.slice_slice-view",
644        "androidx.slice_slice-builders",
645        "androidx.arch.core_core-runtime",
646        "androidx.lifecycle_lifecycle-common-java8",
647        "androidx.lifecycle_lifecycle-extensions",
648        "androidx.lifecycle_lifecycle-runtime-ktx",
649        "androidx.dynamicanimation_dynamicanimation",
650        "androidx-constraintlayout_constraintlayout",
651        "androidx.exifinterface_exifinterface",
652        "androidx.room_room-runtime",
653        "androidx.room_room-ktx",
654        "device_state_flags_lib",
655        "kotlinx-coroutines-android",
656        "kotlinx-coroutines-core",
657        "kotlinx_coroutines_test",
658        "kotlin-reflect",
659        "//frameworks/libs/systemui:iconloader_base",
660        "SystemUI-tags",
661        "SystemUI-proto",
662        "metrics-helper-lib",
663        "hamcrest-library",
664        "androidx.test.rules",
665        "testables",
666        "truth",
667        "monet",
668        "libmonet",
669        "dagger2",
670        "jsr330",
671        "WindowManager-Shell",
672        "LowLightDreamLib",
673        "//frameworks/libs/systemui:motion_tool_lib",
674        "androidx.core_core-animation-testing",
675        "androidx.compose.ui_ui",
676        "flag-junit",
677        "ravenwood-junit",
678        "platform-test-annotations",
679        "notification_flags_lib",
680        "PlatformComposeCore",
681        "PlatformComposeSceneTransitionLayout",
682        "androidx.compose.runtime_runtime",
683        "androidx.compose.material3_material3",
684        "androidx.compose.material_material-icons-extended",
685        "androidx.activity_activity-compose",
686        "androidx.compose.animation_animation-graphics",
687        "androidx.lifecycle_lifecycle-viewmodel-compose",
688        "TraceurCommon",
689    ],
690}
691
692android_library {
693    name: "SystemUI-tests",
694    use_resource_processor: true,
695    manifest: "tests/AndroidManifest-base.xml",
696    resource_dirs: [],
697    additional_manifests: ["tests/AndroidManifest.xml"],
698    srcs: [
699        "tests/src/**/*.kt",
700        "tests/src/**/*.java",
701        "src/**/*.kt",
702        "src/**/*.java",
703        "src/**/I*.aidl",
704        ":ReleaseJavaFiles",
705        ":SystemUI-tests-multivalent",
706        ":SystemUI-tests-utils",
707        "compose/features/src/**/*.kt",
708        "compose/facade/enabled/src/**/*.kt",
709    ],
710    static_libs: [
711        "//frameworks/libs/systemui:compilelib",
712        "SystemUI-tests-base",
713        "androidx.test.uiautomator_uiautomator",
714        "androidx.core_core-animation-testing",
715        "mockito-target-extended-minus-junit4",
716        "mockito-kotlin-nodeps",
717        "androidx.test.ext.junit",
718        "androidx.test.ext.truth",
719        "kotlin-test",
720        "platform-screenshot-diff-core",
721        "PlatformMotionTesting",
722        "SystemUICustomizationTestUtils",
723        "androidx.compose.runtime_runtime",
724        "kosmos",
725        "androidx.test.rules",
726    ],
727    libs: [
728        "android.test.runner",
729        "android.test.base",
730        "android.test.mock",
731        "keepanno-annotations",
732    ],
733    kotlincflags: ["-Xjvm-default=all"],
734    aaptflags: [
735        "--extra-packages",
736        "com.android.systemui",
737    ],
738    plugins: [
739        "androidx.room_room-compiler-plugin",
740        "dagger2-compiler",
741    ],
742    lint: {
743        test: true,
744        extra_check_modules: ["SystemUILintChecker"],
745    },
746}
747
748android_app {
749    name: "SystemUIRobo-stub",
750    // SystemUiRavenTests references the .aapt.srcjar
751    use_resource_processor: false,
752    defaults: [
753        "platform_app_defaults",
754        "SystemUI_optimized_defaults",
755    ],
756    manifest: "tests/AndroidManifest-base.xml",
757
758    srcs: [
759        "src/**/*.kt",
760        "src/**/*.java",
761        "src/**/I*.aidl",
762        ":ReleaseJavaFiles",
763        "compose/features/src/**/*.kt",
764        "compose/facade/enabled/src/**/*.kt",
765    ],
766    static_libs: [
767        "//frameworks/libs/systemui:compilelib",
768        "SystemUI-tests-base",
769        "androidx.compose.runtime_runtime",
770        "SystemUI-core",
771    ],
772    libs: [
773        "keepanno-annotations",
774    ],
775    aaptflags: [
776        "--extra-packages",
777        "com.android.systemui",
778    ],
779    dont_merge_manifests: true,
780    platform_apis: true,
781    system_ext_specific: true,
782    certificate: "platform",
783    privileged: true,
784    resource_dirs: [],
785    kotlincflags: ["-Xjvm-default=all"],
786    optimize: {
787        shrink_resources: false,
788        optimized_shrink_resources: false,
789        proguard_flags_files: ["proguard.flags"],
790    },
791
792    plugins: ["dagger2-compiler"],
793}
794
795java_library {
796    name: "RoboTestLibraries",
797    static_libs: [
798        "dagger2",
799        "androidx.test.uiautomator_uiautomator",
800        "androidx.core_core-animation-testing",
801        "androidx.test.ext.junit",
802        "inline-mockito-robolectric-prebuilt",
803        "mockito-kotlin-nodeps",
804        "platform-parametric-runner-lib",
805        "SystemUICustomizationTestUtils",
806        "kotlin-test",
807        "kosmos",
808    ],
809}
810
811android_robolectric_test {
812    name: "SystemUiRoboTests",
813    srcs: [
814        "tests/robolectric/src/**/*.kt",
815        "tests/robolectric/src/**/*.java",
816        ":SystemUI-tests-utils",
817        ":SystemUI-tests-multivalent",
818    ],
819    static_libs: [
820        "RoboTestLibraries",
821    ],
822    libs: [
823        "android.test.runner",
824        "android.test.base",
825        "android.test.mock",
826        "truth",
827    ],
828
829    upstream: true,
830
831    instrumentation_for: "SystemUIRobo-stub",
832    java_resource_dirs: ["tests/robolectric/config"],
833    plugins: [
834        "dagger2-compiler",
835    ],
836    strict_mode: false,
837}
838
839// in-place tests which use Robolectric in the tests directory
840// instead of multivalentTests
841android_robolectric_test {
842    name: "SystemUiRoboTestsInplace",
843    srcs: [
844        "tests/robolectric/src/**/*.kt",
845        "tests/robolectric/src/**/*.java",
846        ":SystemUI-tests-utils",
847        ":SystemUI-tests-multivalent",
848        ":SystemUI-tests-robofiles",
849    ],
850    exclude_srcs: [
851        ":SystemUI-tests-broken-robofiles-compile",
852        ":SystemUI-tests-broken-robofiles-run",
853        ":SystemUI-tests-broken-robofiles-sysui-run",
854    ],
855    static_libs: [
856        "RoboTestLibraries",
857    ],
858    libs: [
859        "android.test.runner",
860        "android.test.base",
861        "android.test.mock",
862        "truth",
863    ],
864
865    upstream: true,
866
867    instrumentation_for: "SystemUIRobo-stub",
868    java_resource_dirs: ["tests/robolectric/config"],
869    plugins: [
870        "dagger2-compiler",
871    ],
872    strict_mode: false,
873}
874
875android_ravenwood_test {
876    name: "SystemUiRavenTests",
877    srcs: [
878        ":SystemUI-tests-utils",
879        ":SystemUI-tests-multivalent",
880        // TODO(b/294256649): pivot to using {.aapt.jar} and re-enable
881        // use_resource_processor: true when better supported by soong
882        ":SystemUIRobo-stub{.aapt.srcjar}",
883    ],
884    static_libs: [
885        "SystemUI-core",
886        "SystemUI-res",
887        "SystemUI-tests-base",
888        "androidx.test.uiautomator_uiautomator",
889        "androidx.core_core-animation-testing",
890        "androidx.test.ext.junit",
891        "kosmos",
892        "mockito-kotlin-nodeps",
893    ],
894    libs: [
895        "android.test.runner",
896        "android.test.base",
897        "android.test.mock",
898    ],
899    auto_gen_config: true,
900    plugins: [
901        "dagger2-compiler",
902    ],
903}
904
905// Opt-out config for optimizing the SystemUI target using R8.
906// Disabled via `export SYSTEMUI_OPTIMIZE_JAVA=false`, or explicitly in Make via
907// `SYSTEMUI_OPTIMIZE_JAVA := false`.
908soong_config_module_type {
909    name: "systemui_optimized_java_defaults",
910    module_type: "java_defaults",
911    config_namespace: "ANDROID",
912    bool_variables: ["SYSTEMUI_OPTIMIZE_JAVA"],
913    properties: ["optimize"],
914}
915
916systemui_optimized_java_defaults {
917    name: "SystemUI_optimized_defaults",
918    soong_config_variables: {
919        SYSTEMUI_OPTIMIZE_JAVA: {
920            optimize: {
921                enabled: true,
922                optimize: true,
923                shrink: true,
924                shrink_resources: true,
925                optimized_shrink_resources: true,
926                ignore_warnings: false,
927                proguard_compatibility: false,
928            },
929            conditions_default: {
930                optimize: {
931                    ignore_warnings: false,
932                    proguard_compatibility: false,
933                },
934            },
935        },
936    },
937}
938
939android_app {
940    name: "SystemUI",
941    defaults: [
942        "platform_app_defaults",
943        "SystemUI_optimized_defaults",
944    ],
945    static_libs: [
946        "SystemUI-core",
947    ],
948    resource_dirs: [],
949
950    use_resource_processor: true,
951    platform_apis: true,
952    system_ext_specific: true,
953    certificate: "platform",
954    privileged: true,
955
956    kotlincflags: ["-Xjvm-default=all"],
957
958    dxflags: ["--multi-dex"],
959    optimize: {
960        proguard_flags_files: ["proguard.flags"],
961    },
962    required: [
963        "privapp_whitelist_com.android.systemui",
964        "wmshell.protolog.json.gz",
965        "wmshell.protolog.pb",
966    ],
967}
968