summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/systemui/dagger/SystemUIBinder.java
Commit message (Collapse)AuthorAgeFilesLines
* [Status Bar] Re-name StatusBar.java -> CentralSurfaces.java.Caitlin Cassidy2022-02-281-2/+2
| | | | | | | | | | | Also add some javadoc to CentralSurfaces.java to make its purpose slightly clearer. Bug: 197137564 Test: compiles Test: atest SystemUITests Change-Id: Id06e7ba7641d6d2bc276cce57101c9c7236bc758 Merged-In: Id06e7ba7641d6d2bc276cce57101c9c7236bc758
* Remove config_systemUIServiceComponents from SystemUI.Dave Mankoff2022-02-091-227/+0
| | | | | | | | | | | | | | | | | | | | Remove's config_systemUIServiceComponents from SystemUI's config.xml and replaces it with a list of Dagger providers that can easily be defined and customized in code. This is a step to removing our reliance on reflection and hopefully lets SystemUI clients better tailor their binary to their needs. Various other small code tweaks are included to address startup-order dependent issues that were discovered while writing this CL. Some startup customization still occurs via XML - one form factor in particular has an overlay that relies on this. It is my intent to find a way to move off of that in the future. Bug: 205725937 Test: manual Change-Id: I4c207bc9487718eddc21f364e81ec760f286bf30
* Added Complication implementations for Dream Weather, Clock Time, and Clock ↵Nick Ning2022-02-011-0/+24
| | | | | | | | | | | Time. Implemented all three complications layer native widgets. Bug: 213906528 Test: aTest DreamWeatherComplicationTest DreamClockTimeComplicationTest DreamClockDateComplicationTest Change-Id: I24d8f58f0f8f4baa1ed64f6a9a7644825be5dd51
* Media Complication Introduction.Bryce Lee2022-01-301-0/+8
| | | | | | | | This changelist adds a complication to show media control on dream overlays. Test: atest MediaDreamSentinelTest MediaComplicationViewControllerTest Bug: 213906962 Change-Id: Id0d9ab8d668d815bd697ea6ca4ac34e62bdf6a42
* SmartSpace Complication Introduction.Bryce Lee2022-01-281-0/+8
| | | | | | | | This changelist introduces the SmartSpace Complication, which provides the same at a glance view found on the lockscreen. Bug: 213907299 Test: atest SmartSpaceComplicationTest Change-Id: Id235112bd76f313e8678520035d90dc8672fd967
* Add interface for services to share SessionIdsBeverly2022-01-251-0/+7
| | | | | | | | | | | | | | - adds ability to start/end sessions via StatusBarService's SessionMonitor - adds ability to register/unregister for session listeners via StatusBarService's SessionMonitor - adds logic for SystemUI to start/end Keyguard and BiometricPrompt sessions in SessionTracker Test: atest AuthControllerTest SessionTrackerTest Bug: 213483562 Change-Id: I50ea003baae4fb89e311fa442fd52397e03e514c
* Remove AppWidget complication support.Bryce Lee2022-01-201-8/+0
| | | | | | | | | This changelist removes base support for loading AppWidgets as complications. Bug: 215533108 Test: manual Change-Id: Ie0ea89c8ef1e695d57ffdbb2fa48f1a5c8763417
* Clean up CommunalManagerServiceLucas Silva2022-01-181-8/+0
| | | | | | | | | | This system service is no longer needed, as there is no longer a shared lockscreen. Test: locally on device Bug: 206054365 Ignore-AOSP-First: cleanup Change-Id: Ib2db06c377cf632da77dc41c629debfe658bfc48
* Merge "Add clipboard overlay prototype"Miranda Kephart2022-01-131-0/+7
|\
| * Add clipboard overlay prototypeMiranda Kephart2022-01-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Adds a floating window/overlay (similar to screenshots) when something is copied to the clipboard. Opens Markup or a lightweight test editing activity (as appropriate) when edit is tapped. Bug: 195554988 Test: manual (tested copying text/images, and interactions with screenshots) Change-Id: I02aff237a1245ed2fed130d5e43112472d320a9c
* | Log biometric lockout eventsBeverly2022-01-111-0/+8
|/ | | | | | | | | Test: manually checked events using go/aster-event-viewing Test: atest KeyguardBiometricLockoutLoggerTest Fixes: 205762820 Bug: 213483562 Bug: 213484709 Change-Id: Id639e5bdc834ee72fdea4877b73b3e8c63170bfb
* Refactor Dream Overlay.Bryce Lee2021-12-201-3/+3
| | | | | | | | | | | | | | This changelist refactors dream overlay to distinguish the overlay from the configured components it houses. These components are hereafter referred to as complications. Test: atest ComplicationPrimerTest Test: atest ComplicationProviderTest Test: atest DreamOverlayServiceTest Test: atest DreamOverlayStateControllerTest Bug: 211446330 Change-Id: I311bf8f1d7977e74bbd96b6ddf2419b8f0613626
* Fix activity interception bugLucas Silva2021-12-011-0/+8
| | | | | | | | | | This addresses the issue where we stop intercepting activities in CommunalManagerService when SLS is occluded by an activity. Test: locally on device Test: atest CommunalManagerUpdaterTest Bug: 208442300 Change-Id: I9724dbe8fc9f76a32845c1bc908eb7fc40cff578
* Rename SystemUI class to CoreStartableDave Mankoff2021-11-091-25/+25
| | | | | | Bug: 205725937 Test: manual Change-Id: I045a8b4b21cae0f4a6e61502384e2b1a607bc1c6
* Allow App Widget Overlays by Product Configuration.Bryce Lee2021-11-041-0/+8
| | | | | | | | | | | This changelist adds support for loading a set of app widget overlays to be shown over dreams from config. Products can specify the components to show along with the position within the parent by gravity. Bug: 201676043 Test: atest AppWidgetOverlayPrimerTest Change-Id: Ic2f706598f776e0802106e333c4003242227faea
* SystemUI IDreamOverlay Implementation.Bryce Lee2021-11-041-0/+8
| | | | | | | | | | | | | | This changelist implements IDreamOverlay in the form of the DreamOverlayService. DreamOverlayRegistrant is responsible for registering this service with the system as the dream overlay component. This changelist also introduces a series of interfaces, such as OverlayProvider, which define the entities DreamOverlayService interacts with the generate overlay content. Bug: 201676597 Test: atest DreamOverlayServiceTest Change-Id: Idb14172672642580fdfa042449b6cad4bf68969b
* Add CommunalHostView to NotificationsQuickSettingsContainer.Bryce Lee2021-07-221-2/+0
| | | | | | | | | | | | CommunalHostView provides a place for communal content to be shown. This changelist positions the view within the lockscreen as a child of NotificationsQuickSettingsContainer. The NotificationPanelViewController is responsible for adjusting the CommunalHostView layout. Bug: 193676840 Test: atest SystemUITests Change-Id: I097c431a47d79d2b300605dbd56c0158e26b0c2f
* Introduce CommunalModule.Bryce Lee2021-07-211-1/+7
| | | | | | | | | This changelist introduces the CommunalModule, which will house communal-related components. Bug: 193536074 Test: manual - ensured build and run not affected. Change-Id: I5a72790511601c1aea599f770658b826d6a0c34a
* Stop checking FeatureFlags for People Tile.Flavio Fiszman2021-02-261-7/+0
| | | | | | | | | | | | | | | | | | | Revert "Use FeatureFlags to enable People Space" Revert "Use FeatureFlags to enable People Space" Revert "Exclude PeopleSpaceWidgetEnabler from Car" Revert submission 13586906-people_space_feature_flag_enable Reason for revert: Performance regression on idle Reverted Changes: I879e86ca3:Exclude PeopleSpaceWidgetEnabler from Car I6361985bc:Use FeatureFlags to enable People Space Ie6758b764:Use FeatureFlags to enable People Space Change-Id: I4da384de8524f60ba0fd203bee811aae2c81308f Test: manual
* Merge "Reuse phone privacy indicator impl. for tv" into sc-devJacqueline Bronger2021-02-231-0/+7
|\
| * Reuse phone privacy indicator impl. for tvJacqueline Bronger2021-02-231-0/+7
| | | | | | | | | | | | | | | | | | The UI is TV specific Bug: 180500214 Test: atest CameraMicIndicatorsPermissionTest Test: atest RecognitionServiceMicIndicatorTest Change-Id: I9fe87f838e303dcbf252a9b83a7ceddcfe3b3513
* | Use FeatureFlags to enable People SpaceFlavio Fiszman2021-02-161-0/+7
|/ | | | | | Change-Id: Ie6758b764d828f635413122db9658a8b01a7b47a Test: manual Bug: 170396074
* Allow non-resizable apps in split-screen (9/n)Chris Li2021-02-021-8/+0
| | | | | | | | | Cleanup SizeCompatModeActivityController Bug: 176061101 Bug: 178327644 Test: pass existing Change-Id: If4bb5e082976725b80bda5a95880a24201b6c595
* Add support for a home sound effectPhilip Junker2021-01-191-0/+7
| | | | | | | | Test: Manually tested on a device Test: atest frameworks/base/packages/SystemUI/tests/src/com/android/systemui/media/systemsounds/HomeSoundEffectControllerTest Bug: 167946828 Bug: 157407957 Change-Id: I2608737684f4f0af07ce1b12f8bf22cce9c1ebab
* Adds a tv notification panel for aosp which is shown when keyevent ↵Jacqueline Bronger2020-12-011-1/+1
| | | | | | | | NOTIFICATION is received Bug: 174025821 Test: manual Change-Id: Idd68d30fde5ddd00531a61d9c7754c827ee05083
* Migrate Bubbles to wm-shell (5/n)Tony Huang2020-11-041-3/+1
| | | | | | | | | | Move bubbles package and related resources to shell package, also copied some used codes and resources. Bug: 161980186 Test: atest SystemUITests Test: atest WMShellUnitTests Change-Id: Ia108bd4149b3c3bf86631ba1a7a6bce0e76af78f
* Support for notification panel key on ATVPhilip Junker2020-09-141-0/+7
| | | | | | | | | | | | | Add activity intents to open and toggle notification panel (requires STATUS_BAR_SERVICE permission). Add protected broadcast intent to close notification panel. Make long-press-on-home configurable to open notification panel. Create TvNotificationPanel class which forwards notification panel requests to the configured handler. Bug: 158661029 Test: manually tested on ATV device with adapted launcher Change-Id: I555bb3801ac949c8985692b41b02323c56332ccd
* Migrate OneHanded to WM shell (3/n)Tony Huang2020-09-021-7/+0
| | | | | | | | | | Remove OneHnadedUI and use OneHandedController through WMShell. Bug: 161980408 Test: m Test: atest com.android.systemui.onehanded Test: manual check OneHanded funcation Change-Id: I5148a9a74799ecd911f23403ca2d5df487717fc9
* Integrate PipUI PipManager to PipController (7/N)Bill Lin2020-08-311-7/+0
| | | | | | | | | | | | | | | | | | | | | | | For SystemUI 1) Integrate PipUI & PipManager to PipController 2) Rename interface BasePipManager to Pip and implement by PipController 3) Dagger provides PipController through WMShellModule/TvWMShellModule 4) Let dagger provides PipBoundsHandler to ensure correctly init in ArcSystemUI 5) dagger provides PipTaskOrganizer and let ArcSystemUI to customize 6) Move CommandQueue to WMShell for handling keyevent KEYCODE_WINDOW of Pip Bug: 161118569 Bug: 166181820 Test: make SystemUI Test: make ArcSystemUI Test: lunch aosp_tv_arm-userdebug & make Test: atest WindowManagerShellTests Test: atest SystemUITests Test: adb shell input keyevent 171(KEYCODE_WINDOW) Test: manual test Pip demo AP Change-Id: I4b923b9c5ef00da3666a2d36ff098906921e15ed
* Migrate splitscreen to WM shell lib (2/n)Jerry Chang2020-08-201-7/+7
| | | | | | | | | | | | | | | | | | | | | | | Removes Divider from SystemUI component list since it is no longer needed after the split screen feature migrated to WM shell library. Provides optional controller of split screen for sysui components to use. Different varients of SystemUI could leverage dagger module to decide whether to load the controller or not. Implements WMShell component in SysUISingleton scope to help delegating sysui specific events to WM shell controllers. Detached DisplayImeController's initialization step from split screen feature with the reason that some of SystemUI varients might not have split screen feature. Bug: 161116823 Test: atest SystemUITests Test: atest SystemUIGoogleTests Test: atest CarSystemUITests Test: manual verified spliscreen behavior Change-Id: I4220b5ce53bc7b793b95cfca34100e808b9f052c
* Sysui-infra for one handed mode (1/N)Bill Lin2020-04-301-0/+7
| | | | | | | | | | | | | Build infrastructure for one handed mode and DisplayAreaOrganizer Test: make SystemUI Test: atest OneHandedDisplayAreaOrganizerTest Test: atest OneHandedManagerImplTest Test: atest OneHandedUITest Test: atest SystemUITests Bug: 150747909 Change-Id: I8e8d0b2d1f84d3f5953ca762aadcfa27a306aaab
* Introduce BubbleModule and KeyguardModuleSergey Nikolaienkov2020-02-141-1/+4
| | | | | | | | | This CL is the 4th in the series of CLs which intend to "unbind" StatusBar on TV. In order to make StatusBar really optional and thus to allow us to unbind it, we also need to make some of the classes that depends on it optional as well. For all these cases we need to move from @Inject-annotated contructors to @Provides annotated methods. For this we are introducing BubbleModule and KeyguardModule. Change-Id: I57009153e2279078ac88c42a53d3963a96eb8452 Test: make SystemUI; atest SystemUITests Bug: 146188087
* Introduce StatusBarModuleSergey Nikolaienkov2020-02-141-3/+2
| | | | | | | | | This CL is the 3rd in the series of CLs which intend to "unbind" StatusBar on TV. In order to make StatusBar really optional and thus to allow us to unbind it, we also need to make some of the classes that depends on it optional as well. For all these cases we need to move from @Inject-annotated contructors to @Provides annotated methods. For this we are introducing StatusBarModule, as well as StatusBarPhoneDependenciesModule and StatusBarDependenciesModule - these two provide dependecies needed to build StatusBar, but not the StatusBar itself Change-Id: Ie3551bda7056465159f2c7fde4989e009f277304 Test: make SystemUI; atest SystemUITests Bug: 146188087
* Introduce StatusBarPhoneModuleSergey Nikolaienkov2020-02-141-3/+3
| | | | | | | | | This CL is the 2nd in the series of CLs which intend to "unbind" StatusBar on TV. In order to make StatusBar really optional and thus to allow us to unbind it, we also need to make some of the classes that depends on it optional as well. For all these cases we need to move from @Inject-annotated contructors to @Provides annotated methods. For this we are introducing StatusBarNotificationModule. Change-Id: Id56f970d21323f49e859715b6874f5cd773aa62a Test: make SystemUI; atest SystemUITests Bug: 146188087
* Expand NotificationsModuleSergey Nikolaienkov2020-02-141-1/+2
| | | | | | | | | This CL is the 1st in the series of CLs which intend to "unbind" StatusBar on TV. In order to make StatusBar really optional and thus to allow us to unbind it, we also need to make some of the classes that depends on it optional as well. For all these cases we need to move from @Inject-annotated contructors to @Provides annotated methods. For this we are expanding NotificationsModule. Change-Id: Icccafd2170f2fdffb8412370056aab7042ffd580 Test: make SystemUI; make CarSystemUI; atest SystemUITests Bug: 146188087
* Move text toast creation to system UIBernardo Rufino2020-01-271-0/+7
| | | | | | | | | | | | | | | | | | | | In order to do that, NotificationManager now calls StatusBar.showToast(), which is in SystemUI. StatusBar then calls a new component, ToastUI, which is responsible for rendering the toast. The code for rendering the toast was extracted from the Toast class, so it should behave identically. Also refactored the code a bit on NotificationManagerService, creating two children of ToastRecord (one for custom, other for text toasts). The change is gated in Toast class in this CL, but it's also gated on the system server, so apps can't circumvent the background block. Bug: 128611929 Bug: 144754526 Test: atest android.widget.cts.ToastTest Merged-In: Id0021cdc6f72f41b55ff1c5a4f09ae7687586460 Change-Id: Id0021cdc6f72f41b55ff1c5a4f09ae7687586460
* Add a boot time service in sysUI to register system actions with accessibilityHongming Jin2020-01-231-0/+7
| | | | | | | | registration API. Bug:136286274 Test: manual test with talkback Change-Id: I0fcccc1f2e6377dec97efdf7b226e6f2d18f7eb9
* Added WindowMagnification for Accessibility in System UIchaviw2019-12-161-0/+7
| | | | | | | | | | Added support for window magnification as an accessibility feature. The UI can either be dragged to a new a location or arrow controls can move the window around. Test: adb shell settings put secure window_magnification 1 Bug: 136250281 Change-Id: If3098df098f2a1b88b2170e773dccc8f86946abf
* Move InattentiveSleepWarningController callbacks to PowerUIRobert Horvath2019-11-191-8/+0
| | | | | | | | | | | | | The inattentive sleep warnings are related to the power state of the deivce, and by keeping the inattentive sleep warning callbacks inside PowerUI, we reduce the number of components that have to be configured across the different SystemUI packages. Bug: 137633812 Test: adb shell settings put secure attentive_timeout 32000 Check overlay appears Change-Id: I7896c395a26eb5bdd67bb3ab48fc590beef8cec3
* Add setting to go to sleep after long user inactivityRobert Horvath2019-11-081-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | The European Commision prescribes an auto-standby feature for TV panels: After some hours of inactivity, the device has to go from on-mode to standby-mode or off-mode, or another condition not exceeding the applicable requirements for standby-mode or for off-mode. After a long time of no user activity the device should go to sleep, even if wakelocks are held (eg. during video playback). Test: 1. Set attentive timeout low, to 35s: `adb shell settings put secure attentive_timeout 35000` 2. Play a YouTube video 3. Observe warning dialog appearing after 5s 4. Verify: Clicking a remote button or changing the setting higher hides the warning. Remote button press is consumed. 5. Verify: After 35s of not pressing a button the device goes to sleep 6. Verify: If "Stay awake" developer option is enabled, then warning is not displayed and device does not go to sleep after 35s 7. Verify: No warning or sleep if setting is set to -1 Test: `atest frameworks/base/services/tests/servicestests/src/com/android/server/power/PowerManagerServiceTest.java` Bug: 137633812 Change-Id: I551b6cffc336437fb1c5a00b4102f68ae0e003e9
* Remove Divider from Components.Dave Mankoff2019-11-051-1/+15
| | | | | | | | | This removes all calls to getComponent(Divider.class) and replaced them with dependency injection. Bug: 143777499 Test: atest SystemUITests Change-Id: Ib3704a282593b694fe08bd7228e87f75d18920ed
* Make CommandQueue optional.Dave Mankoff2019-11-051-220/+2
| | | | | | | | | | | | | This CL reorgnized providers of StatusBar related classes into StatusBarModule and StatusBarDependenciesModule. The latter only contains a provider for CommandQueue, but other common StatusBar related classes can be added to it in the future. In this way, changes to CommandQueue construction (or related classes) do not need to be repeated across multiple projects. Bug: 143844964 Test: atest SystemUITests Change-Id: If7e5fcf17eb4c3fee35ac48cc3565d650a916d6b
* Merge "Track and destroy inline URI grants separately from Notification URIs."Aran Ink2019-11-041-2/+5
|\
| * Track and destroy inline URI grants separately from Notification URIs.Aran Ink2019-11-041-2/+5
| | | | | | | | | | | | | | | | | | Bug: 142492493 Bug: 137398133 Test: Unit tests pass. Manual testing with an app configured to receive images via RemoteInput can access and display image URIs after the notification has been canceled, but before the notification entry has been removed from the shade. Change-Id: If64ae7eff7293df3317a1f629977aaaccd866b32
* | Finish migrating to BroadcastDispatcherFabian Kozynski2019-11-041-0/+14
|/ | | | | | | | | | | | | | | | | | | | | | | | | | This CL migrates most of the remaining classes to use BroadcastDispatcher. Some classes left are Views or created before the BroadcastDispatcher can be injected. Adds docs for instructions on using the BroadcastDispatcher. Using the broadcast dispatcher, the time system_server spends dispatching common intents to SystemUI like SCREEN_OFF and SCREEN_ON can be seen to decrease from ~70-150ms (in a Q build) to ~2-4ms. Additionally, once a broadcast is received by the dispatcher, time until it is fully dispatched inside SystemUI is not impacted greatly. Most broadcasts are fully dispatched after ~20ms with a few of them taking ~100ms. Test: atest SystemUITests no regressions Test: build and boot Test: tried some random broadcasts and they are properly dispatched Test: BroadcastDispatch dump Test: adb shell dumpsys activity broadcasts Bug: 134566046 Change-Id: I26a592be66b053f25669b5481b58bf7f07bfd0da
* Register OverlayPlugins in StatusBar directly.Dave Mankoff2019-11-011-2/+5
| | | | | | | | | | | | This removes the last call to getComponent(StatusBar.class). Prior to this change, we would register a listener for OverlayPlugins inside the SystemUIApp. Because they are directly related to the StatusBar, it is safe and appropriate to have the StatusBar register with the PluginManager itself. Bug: 143224715 Test: atest SystemUITests Change-Id: I5ecdf6a4dae05ba674bcbcd940b9f2655d2b1cbb
* Remove all calls to getComponent(CommandQueue.class).Dave Mankoff2019-11-011-2/+40
| | | | | | | | | | | | | | | Makes AuthController, GlobalActionsComponent, InstantAppNotifier, SizeCompatModeActivityController, and TvStatusBar all injectable. Prior to this CL, CommandQueue contained within it a SystemUI object that it used to start itself up and add itself to components. With this change, the SystemUI object is no longer necessary, as Dagger will ensure that a CommandQueue is available to those who need it. Bug: 143702229 Test: atest SystemUITests Change-Id: I2763a6d918b41fe27a2370fdd820da476654e14f
* implement Dumpable for some keyguard classesLucas Dupin2019-10-311-0/+5
| | | | | Test: adb shell dumpsys activity service com.android.systemui Change-Id: I0f241ce6d26c36cc5b64d060ff21ce1986910dd0
* Remove call to getComponent(StatusBar) from OverviewProxyRecentsImpl.Dave Mankoff2019-10-301-0/+204
| | | | | | | | | | StatusBar is now marked as an Optional component. This also makes implementations of RecentsImplementation injectable. Bug: 143224715 Test: atest SystemUITests && manual Change-Id: I9a8c4af477693d133f06b8dbda2f08d904cfdb57
* Instances of SystemUI must now define their own ComponentBinderDave Mankoff2019-10-291-0/+7
| | | | | | | | | This will allow us to mark parts of the core system as Optional, like the StatusBar. Bug: 140514132 Test: atest SystemUITests Change-Id: I37f6fa414e9dc2a672dd0bc8cc69ce4049762973