summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/systemui/dagger/SysUIComponent.java
Commit message (Collapse)AuthorAgeFilesLines
* Drive Launcher unfold animation from System UINicolo' Mazzucato2023-02-101-0/+18
| | | | | | | | | | | | Before this cl, both Launcher and System UI processes were registering for hinge angle and device state (e.g. folded/unfolded) change events to calculate the current unfold animation progress. In some cases, launcher ui thread was busy, delaying the progress calculation from the hinge angle value (that was received ~at the same time by both processes). This resulted in launcher and sysui unfold animation not being synchronized in some cases. With this cl, System UI process uses OverviewProxyService to send the unfold events to Launcher. In this way, both process always have the exact same progress (+- 1 frame) This is currently guarded by a launcher flag, by default with the new behaviour, to allow devs to compare the experience and easily debug potential regressions. Bug: 268490854 Test: Analysed perfetto trace + RemoteUnfoldTransitionProgressProviderTest + manual Change-Id: Icdf3932644a545f4dbe077c8284911bf99f3d81c
* [Unfold transition] Add haptics effectNick Chameyev2022-12-121-1/+1
| | | | | | | | | | | | Adds haptics effect when the animation is about to end. The effect is played when the animation is cancelled because of timeout or when the device is unfolded quickly. Bug: 200555479 Test: atest com.android.systemui.unfold.progress.PhysicsBasedUnfoldTransitionProgressProviderTest Test: manual test Change-Id: I0d6c8098b1c86e37547793644bf450d69c166c50
* Introduce NotificationInsetsController.Ben Lin2022-11-141-0/+2
| | | | | | | | | | | Allow Notification Shade Window view's insets be calculated by a separate module. OEMs can override this module and provide their own calculation logic. Bug: 251207888 Test: Build Change-Id: Ia0b6f854dc62eca4bed5c4a893f8277accf0696c Change-Id: I07ecf6742de791839c756beadcd1c1399453bd8b
* Split ReferenceSysUIComponent off of SysUIComponent.Dave Mankoff2022-11-041-1/+3
| | | | | | | | | | ReferenceSysUIComponent is used for the basic AOSP build, and gives us a place to add pieces for phones that shouldn't go into other variants, like TVs, Cars, etc. Bug: 254857637 Test: manuall built and run Change-Id: I5085ed6d94924f776b16cccb8cb7b10a8a9e0993
* Remove FloatingTaskController & replace usages with BubblesMady Mellor2022-11-021-4/+0
| | | | | | | | | | | | Switch to using newly exposed method Bubbles#showAppBubble as what FloatingTaskController does is no longer POR. Calling this allows 1 bubble from a specific app to be added to the stack. The only user of this method is NoteTaskController which is guarded by the NOTE_TASK. Bug: 237678727 Test: treehugger Change-Id: I47c5c010a050796eff848ba3fcabc40cf5fbd902
* Merge "Refactor around NSSL to open up some more APIs for subcomponents." ↵Ben Lin2022-10-131-0/+2
|\ | | | | | | into tm-qpr-dev
| * Refactor around NSSL to open up some more APIs for subcomponents.Ben Lin2022-10-131-0/+2
| | | | | | | | | | | | Bug: 251207888 Test: make GoldfishPcSystemUI Change-Id: Ie84504e7c4d4f2c48a431ee70f2ad6e5082ba955
* | Update TTT controllers to be in CoreStartable.Michael Mikhail2022-10-111-15/+0
|/ | | | | | | | | | | | | | | Moved TTT controllers to be CoreStartable as SysuiComponent#init will be removed. This makes StartServices take a normal time without the need to add dagger.lazy to FalsingManager and FalsingCollector. Bug: 247817628 Test: Checked the time taken in StartServices. Test: Executed adb commands for sender. Test: atest MediaTttChipControllerSenderTest Test: atest MediaTttChipControllerReceiverTest Test: atest TemporaryViewDisplayControllerTest Test: atest MediaTttCommandLineHelperTest Change-Id: I1861a5c1982e0b8d54aba83a7eb5d1bd076a35cb
* Add support to show apps on desktop in sysui proxyAts Jenk2022-09-261-0/+4
| | | | | | | | | | This enabled launcher to show all desktop apps when user clicks on the desktop tile in recents. This is only enabled when Desktop Mode feature flag is enabled. Bug: 244348395 Test: atest DesktopModeControllerTest Change-Id: I3c89ef01fd7d1f457a7afabda94b481711c0a350
* Support for a floating task window (behind a sysui flag)Mady Mellor2022-09-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | Creates a new package within shell for floating tasks along with a basic controller and interfaces for sysui and launcher to use to manage floating tasks. A single floating task is allowed at a time and they can only be created if a sysui flag is turned on. The floating task is backed by a TaskView, floats above all other content, and can be moved via a handle at the top of the view. The view sticks along the left and right edges of the screen, can be stashed (similar to PIP), and can be removed by dragging to a dismiss target in the middle of the screen (similar to PIP & bubbles). The tests included trigger the sysui flag on and off to ensure the flag behavior (i.e. that you can't create one unless the flag is on). Test: atest FloatingTaskControllerTest Bug: 237678727 Change-Id: I490c44685825e14166869b2cf7c2994ee0e30ba7
* Merge "[SB Refactor] Redefine the processor as a CoreStartable." into tm-qpr-devTreeHugger Robot2022-08-011-5/+0
|\
| * [SB Refactor] Redefine the processor as a CoreStartable.Caitlin Cassidy2022-07-291-5/+0
| | | | | | | | | | | | | | | | | | Also adds a new StatusBarPipelineFlags class that provides a view on top of any status-bar-pipeline-related flags. Bug: 238425913 Test: manual (verified Processor is started) Change-Id: I4bac33d8dd87ecf10675d40e3873067902feee34
* | Merge "[SB Refactor] Add a flag for the new pipeline and an empty processor ↵Caitlin Cassidy2022-07-261-0/+5
|\| | | | | | | class (to be filled in with many future CLs)." into tm-qpr-dev
| * [SB Refactor] Add a flag for the new pipeline and an empty processorCaitlin Cassidy2022-07-221-0/+5
| | | | | | | | | | | | | | | | class (to be filled in with many future CLs). Test: manual (compiles) Bug: 238425913 Change-Id: I2f1bcc8e1c1f60299f5d7a0f647b56413a3412e0
* | Remove ShellInit/ShellCommandHandler interfaces to SysUIWinson Chung2022-07-201-4/+0
|/ | | | | | | | | | | - SysUI now calls init/commands/dump via the ShellController interface - Move ShellInit/ShellCommandHandler into the sysui package since it's only called on sysui startup Test: atest WMShellUnitTests Test: atest SystemUITests Bug: 238217847 Change-Id: I7b05dbab7648cb8a8c6f9381b0b5f545ed3398f1
* Remove unused interfaces and controllersWinson Chung2022-07-201-16/+0
| | | | | | | | | | - Some interfaces only existed to propagate configuration or keyguard changes which now go through the ShellController. TaskSurfaceHelper is no longer used since game dashboard has moved to GMS. Bug: 238217847 Test: atest WMShellUnitTests Change-Id: Ie8c5a77bf7bd5b8cc5f4a1b2382013228b1e5e3d
* Add single interface for SysUI to call into ShellWinson Chung2022-07-181-0/+4
| | | | | | | | | | | | - Currently update configuration callbacks to use this interface so that individual features don't need to expose their own config change callbacks. Will followup with moving keyguard/shell init /shell command handler. Bug: 238217847 Test: atest WMShellUnitTests Change-Id: Id526ed588de8cf962e821a3b9e1933a67f354d77
* Revert^2 "Change SysemUIFactory to SystemUIInitializer."Dave Mankoff2022-07-141-2/+2
| | | | | | | | | | | Restores ag/18917521 Reverted in ag/15142270fe17845890d147aca8720a32b8c73ecf Test: Ran failed test in http://b/238359875 Bug: 235624311 Change-Id: I08457dac1aa09c44f0c9c02349e8c6773587cd84 Merged-In: I08457dac1aa09c44f0c9c02349e8c6773587cd84
* Remove App pairs related codes and filesTony Huang2022-05-091-4/+0
| | | | | | | | Bug: 199236198 Test: build pass Test: pass existing tests Ignore-AOSP-First: remove whole folder Change-Id: Iebd8803f53f1106d1b2df306ac239ad8c3765802
* Clean up the legacy split screen (9/n)Tony Huang2022-05-091-4/+0
| | | | | | | | | | | This should be final clean patch, remove legacy split screen package and its windowing modes Bug: 199236198 Test: build pass Test: pass existing tests Ignore-AOSP-First: remove whole package Change-Id: Ib2af42834938032bf525b8c16b1046b4c898b8d5
* Move EnhancedEstimates to PowerModuleDave Mankoff2022-05-041-1/+1
| | | | | | | | Rename SystemUIDefaultModule to AOSPSystemUIModule. Bug: 229228871 Test: manual Change-Id: I8da604b281e28dd3982b1f8ec84f5a8415dad47e
* [Nearby Media Devices] Add a SystemApi to get information about nearbyCaitlin Cassidy2022-02-111-0/+5
| | | | | | | | | media devices from external clients. Bug: 216313420 Test: CTS included in same topic Test: atest NearbyMediaDevicesManagerTest Change-Id: Ic5f26d3048a3475dbd232c913bb00bee46339b0a
* Merge changes from topic "ccassidy-media-sass"Caitlin Cassidy2022-02-101-0/+5
|\ | | | | | | | | | | | | * changes: [Media SASS] Unregister the muteAwaitConnectionCallback when the Entry stops. [Media SASS] Choose the correct device icon based on the device attributes. [Media SASS] Display about-to-connect device names in the media player device chip.
| * [Media SASS] Display about-to-connect device names in the media playerCaitlin Cassidy2022-02-091-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | device chip. Bug: 206614671 Test: atest MediaMuteAwaitConnectionManagerTest Test: manual: `adb shell am broadcast -a com.android.systemui.action.SET_FLAG --ei id 904 --ez value 1` to flip the flag then `adb shell cmd statusbar media-mute-await MuteAwaitDevice start` and verify that the media player updates to show "MuteAwaitDevice" as the device with a headphone icon. Video uploaded to bug showing this interaction. Change-Id: I4b3dde002904026334f03068dc3574d4b3c5fede
* | Remove config_systemUIServiceComponents from SystemUI.Dave Mankoff2022-02-091-0/+16
|/ | | | | | | | | | | | | | | | | | | | 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
* Integration of back gesture animation on Sysui (BackNav 2/n)Vadim Caen2022-01-201-0/+4
| | | | | | | | | | | | This CL contains the BackAnimationController, on WMShell, which controls the gesture based animation. When the gesture is done, the animation is done. It will be handed over to a TransisionHandler (in the next CL) Test: atest WMShellUnitTests:BackAnimationControllerTest Bug: 131727607 Change-Id: Ifc2ed99bfd51079f12a83468ca44e4aa19460e47
* Log FOLD_STATE_DURATION_REPORTED atomNicolo' Mazzucato2022-01-121-0/+16
| | | | | | | | | | Logs fold state changes provided by FoldStateLoggingProvider to FrameworkStatsLog. Metric Design doc: eldar/31274625 Bug: 198305865 Test: m statsd_testdrive && ./out/host/linux-x86/bin/statsd_testdrive 414 Change-Id: Id841b43d7e02f513594e69594381f562d4c9e616
* [Media TTT] Add a chip view and controller for the receiving device.Caitlin Cassidy2021-12-221-0/+5
| | | | | | | | | | | | | | Screenshot of chip is attached to the bug. adb command to trigger receiver chip: `adb shell cmd statusbar media-ttt-chip-add-receiver`. The command to trigger the sender chip is now `adb shell cmd statusbar media-ttt-chip-add-sender Tablet MoveCloserToTransfer`. Fixes: 203800646 Test: manual Test: MediaTttChipControllerReceiverTest Change-Id: I32843a8b6f60b563bca192cbd2456a5d88a6ed24
* [Media TTT] Define a common controller that will be used for both theCaitlin Cassidy2021-12-221-3/+3
| | | | | | | | | | | sender device chip and the receiver device chip. Code for the receiver device chip will be added in future CLs. Bug: 203800646 Test: manual (verify sender chip still works) Test: MediaTttChipControllerSenderTest, MediaTttCommandLineHelperTest Change-Id: I72c7e089c5b587fcdf5827f4e95f9032d96bbfd7
* Add ACTION_SWITCH_DISPLAY_UNFOLD to LatencyTrackerNicolo' Mazzucato2021-12-141-0/+8
| | | | | | | | | | Thanks to this, we will be able to create a dashboard of the time needed to turn on the screen after unfolding the device. Test: atest DeviceFoldStateProviderTest Test: atest KeyguardViewMediatorTest Test: atest UnfoldLatencyTrackerTest Bug: 209963184 Change-Id: I078be6431e1053bd9658b5756ab2d54f6f28c630
* Merge "[1/n] Camera Compat UI: Refactor size compat mode UI controller." ↵Mariia Sandrikova2021-12-121-2/+2
|\ | | | | | | | | | | | | | | into sc-v2-dev am: aa7a8cdda5 am: 6863643cda Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16420818 Change-Id: I63c10a663aea9471594af90d1c59c57f8bef1e1c
| * [1/n] Camera Compat UI: Refactor size compat mode UI controller.Mariia Sandrikova2021-12-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First CL in the chain that will add a camera compat UI control which will be used to correct stretched issues in TextureView and SurfaceView cause by apps not handling mismatch between camera buffers and view size correctly. This change is necessary because right now there are 2 instances of WindowlessWindowManager (SizeCompatUIWindowManager) in SizeCompatUILayout: for a hint and for a restart button. They are also positioned relatively by computing offsets in java code rather than by specifying layout with XML. This code structure will cause issues since with upcoming camera changes there will be a need to coordinate relative position of 4 UI elements (2 buttons and 2 hints). What is changing in this CL: - Majority of changes are simple renaming from "size compat UI" to "compat UI" since, starting from the next change, two different compat controls will be supported. - Merging 2 instances of SizeCompatUIWindowManager into one (CompatUIWindowManager) and for that create a joint layout in compat_ui_layout.xml - Merge SizeCompatLayout logic into CompatUIWindowManager since in absence of 2 instances of WindowlessWindowManager there is no good reason to keep them separate. - Merging and renaming tests to follow refactoring of the implementation. Test: atest WMShellUnitTests (the same set of tests should be sufficient since this refactoring just reorganized the structure of the implementation) Bug: 206602997 Change-Id: I7141c69b7ba4742c5b7b2018329b91a1b37b45bc
* | [Media TTT] Refactor the command line interface into its own class andCaitlin Cassidy2021-12-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | use sealed classes for the chip states. The sealed class doesn't do anything in this CL, but it will become useful in future CLs. Sample command: adb shell cmd statusbar media-ttt-chip-add Tablet TransferInitiated Bug: 203800327 Test: MediaTttCommandLineHelperTest, MediaTttChipControllerTest Test: Re-tested adb commands and they still trigger the correct UIs Change-Id: Iffd53c5648dac0307d282158122365613fb7b653
* | Merge "Drag and drop to split transition" into sc-v2-dev am: 8653f2eeb5 am: ↵Mady Mellor2021-11-301-0/+4
|\| | | | | | | | | | | | | | | f42d0346ff Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16224193 Change-Id: I239808b6ec35c45207dcf057bf5558412a3a7555
| * Drag and drop to split transitionMady Mellor2021-11-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * DropZoneView represents a drop zone and handles animating the margins around it along with the splashscreen or highlight when the user drags into or out of the zone. * DragLayout hosts two of these views and populates them with the relevant app info for the splashscreen * While dragging the status bar is hidden Test: manual/visual on large screen device: - have an app open and drag and drop an app to split - try this in portrait and landscape - try dragging between the two drop zones - try releasing not in a drop zone - have two apps already in split and try dragging a different app to split - have an app open and get a notif, drag it to split - verify that the status bar hides while dragging and shows again (and is interactable) after dragging is done - trigger the drag and drop UI, then switch theme and trigger again, it should match the new theme => verify that the animation looks correct / matches mocks Test: atest WMShellUnitTests Bug: 202017826 Change-Id: I806e8ff8ba30d01b9b47d12aa0987cec7aeb7d0c
* | Merge "[Media TTT] Define a chip controller and a way to issue commands via ↵Caitlin Cassidy2021-11-251-0/+6
|\ \ | |/ |/| | | adb to control the chip."
| * [Media TTT] Define a chip controller and a way to issue commands via adbCaitlin Cassidy2021-11-241-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | to control the chip. (To test, you will need to issue the command `adb shell am broadcast -a com.android.systemui.action.SET_FLAG --ei id 900 --ez value 1` in order to enable any media TTT code.) Bug: 203800327 Test: `adb shell cmd statusbar media-ttt-chip-add` displays the chip Test: `adb shell cmd statusbar media-ttt-chip-remove` removes the chip Test: atest MediaTttChipControllerTest Change-Id: Ib404206d0a0bdcbc8e2d1c9ddedbbe7c63dcd91e
| * Unfold refactorMatt Pietal2021-11-081-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Use Optional instead of Lazy to make it easier to test if an object is available or not, which helps remove injection of UnfoldConfiguration everywhere 2. Remove unnecessary items from StatusBar constructor. They do not support StatusBar or otherwise part of the dependency graph. Rather they only need to be initialized. 3. Begin work on unfold animation for keyguard Bug: 201410717 Test: atest SystemUiTests Change-Id: I40e280c904e38d877df424b31a9d1af90c39145e
| * Add shell recents interfaceWinson Chung2021-11-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | - Add a shell component and interface for Launcher to use to get recent tasks including paired splits (pending integration w/ split controller) Bug: 202740477 Test: atest WMShellUnitTests:com.android.wm.shell.recents.RecentTasksControllerTest Signed-off-by: Winson Chung <winsonc@google.com> Change-Id: I34d834061ed2391d89cf56d6a2fd262868707674
| * Remove View Injection entirely.Dave Mankoff2021-10-201-6/+0
| | | | | | | | | | | | Fixes: 149942775 Test: manual && atest SystemUITests Change-Id: Ib0a21aad64ab141fc4d16a181e8fba64014ea16f
* | Remove all size compat UIs when the keyguard becomes occludedtomnatan2021-11-171-0/+4
| | | | | | | | | | | | | | | | | | This is needed because when a non resizable activity is launched over the lockscreen and a size compat restart button is displayed (after fold/unfold), clicking on it results in undefined behavior that seems broken. The solution to hide the restart button in such cases was a UX decision. Fix: 202712269 Test: atest WMShellUnitTests:SizeCompatUILayoutTest Test: atest SystemUITests:WMShellTest Change-Id: Iced3948e0d7a37feb2f3422a7f25a22aab20a888
* | [DO NOT MERGE] Unfold refactorMatt Pietal2021-11-051-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Use Optional instead of Lazy to make it easier to test if an object is available or not, which helps remove injection of UnfoldConfiguration everywhere 2. Remove unnecessary items from StatusBar constructor. They do not support StatusBar or otherwise part of the dependency graph. Rather they only need to be initialized. 3. Begin work on unfold animation for keyguard Bug: 201410717 Test: atest SystemUiTests Change-Id: I40e280c904e38d877df424b31a9d1af90c39145e
* | Add shell recents interfaceWinson Chung2021-11-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | - Add a shell component and interface for Launcher to use to get recent tasks including paired splits (pending integration w/ split controller) Bug: 202740477 Test: atest WMShellUnitTests:com.android.wm.shell.recents.RecentTasksControllerTest Signed-off-by: Winson Chung <winsonc@google.com> Change-Id: I34d834061ed2391d89cf56d6a2fd262868707674 Merged-In: I34d834061ed2391d89cf56d6a2fd262868707674
* | Remove View Injection entirely.Dave Mankoff2021-10-211-6/+0
|/ | | | | | | Fixes: 149942775 Test: manual && atest SystemUITests Change-Id: Ib0a21aad64ab141fc4d16a181e8fba64014ea16f Merged-In: Ib0a21aad64ab141fc4d16a181e8fba64014ea16f
* Synchronize screen turning on and unfold overlayNick Chameyev2021-10-151-0/+4
| | | | | | | | | | | | | | | | | | | Changes unfold overlay implementation from a window to surface control view host. To make sure that the unfold overlay is drawn by the time when we remove screen blocker we synchronously apply a transaction with drawn overlay and apply another empty transaction with vsyncId+1. Also these changes disable the unfold transition when using power button by filtering only first screen turning on events after unfolding the device. Bug: 197538198 Test: manual fold/unfolds Test: killing SysUI process, checking rotation animation, magnification Test: atest com.android.systemui.unfold.updates.DeviceFoldStateProviderTest Change-Id: I8e0bc635b041595602145b313548b14fcabd157e
* Add TaskSurfaceHelper/Controller in WMShell to plumb game mode to SFAdithya Srinivasan2021-05-271-0/+4
| | | | | | | | | | TaskSurfaceHelper(Controller) will be used as an interface to communicate with the SurfaceControl of the underlying Task. This change adds a function to set the game mode metadata for the task layer. Bug: 186025682 Test: atest TaskSurfaceControllerTest Change-Id: I136b65636b98e1883eaf9e4f4f0b34c61350d4e4
* Handle work profile, DND state, app pausesAnna Zappone2021-05-031-0/+6
| | | | | | | | | | | | Listen and respond to changes in state on background thread. Store in-memory to avoid requerying frequently Test: PeopleSpaceWidgetManagerTest, PeopleTileViewHelperTest, PeopleSpaceUtilsTest Bug: 182891880 Change-Id: Id0142b02bb549275c77d8940cda4eb1f0bf4e947 Change-Id: I65712a7a43d8956499533689fe77afbeeac5bd6e
* Revert^2 "Add injection to ClockProvider."Dave Mankoff2021-03-231-0/+6
| | | | | | 07b572188310d53e38771aca80614a04f457c22a Change-Id: I87c5edcb8c713b0364c0fe9f744357824eeb8e9d
* 2/ Add mechanism to expose other features directlyWinson Chung2021-03-181-2/+2
| | | | | | | | | | | | - Expose interfaces for splitscreen, one handed, shell transitions, starting window - Make the shell code only reference the starting window controller and not the exported interface Bug: 180074017 Test: atest WMShellUnitTests Test: Verify Pip calls from Launcher work Change-Id: Idafed90a8ed3382adfb4322b4b1797237be86a90
* Revert "2/ Add mechanism to expose other features directly"Winson Chung2021-03-151-2/+2
| | | | | | | | | | | | | | | | | | Revert "Add shell aidl files" Revert "Update starting window init call for CarLauncher" Revert submission 13608835-shell_feature_interfaces Reason for revert: SysUI Studio aidl import issue Reverted Changes: I49a5a0419:2/ Add mechanism to expose other features directly... I19425896d:Update starting window init call for CarLauncher If048d2cd9:1/ Add mechanism to expose shell feature directly ... Ibb8365d3c:Add shell aidl files Ie41b0b77a:Update calls to go through the feature interface i... Change-Id: I8bacc844fc3f0447311b5a97c4d356f2fb80f3ce