Ensure the new stylus buttons are not yet sent to apps.
DD: go/android-stylus-buttons
Bug: 246394583
Test: Build, Presubmit
Change-Id: I440a359ec8cffb60b9e87f2e51304c9b0320e16f
To make sure the embedded TaskFragment surface will be updated when
Shell transition is enabled.
Bug: 207070762
Test: testApplyTransaction_collectTaskFragmentBeforeApplyChange
Change-Id: Id726b67cd30bd68e3ca4bc2665ab0a9024d76dab
Instead of having WM Core to "guess" when to request transtiion, let the
organizer to tell whether or not it needs to be applied immediately.
With the shouldApplyIndependently parameter, we can make sure the future
runtime API to change split layout won't affect other ongoing
transition.
Bug: 207070762
Test: atest WmTests:TaskFragmentOrganizerControllerTest
Change-Id: I658b0ba1ae9decc741f09cb53bfff2c45ea076a0
This moves from having a single global wakelock held by
WindowManagerService whenever any window on any display has
FLAG_KEEP_SCREEN_ON set, to having one per DisplayContent that is only
held when a window on that Display has the flag set.
Bug: 185157739
Test: atest WmTests
Change-Id: I82dcb693ad2bea0a243be4299dae836a1f53930c
Move most of the logic of the Settings' volume panel to a SystemUIDialog
to make the dialogs consistent with other system dialog.
Bug: 202262476
Test: manual build and launch the new dialog.
Change-Id: Ic27dcca77072dee2b78827e1eb58c28022b47265
1. When deferTransitionReady is called, it should un-ready the sync
group.
2. Do not call continueTransitionReady when the transition is no
longer collecting, such as transition timeout or abort.
Bug: 207070762
Test: atest WmTests:TransitionTests
Change-Id: I33a211d574da54ed220c7d0f7c12e201c5e1f681
This adds a "method" to sync-engine where an app just draws
internally and reports (no sync).
The transition system can then use this to implement its own
screenshot-based sync mechanism. For now, this uses legacy logic
around "changeTransition" to decide which levels to take
screenshots at (since screenshots are slow).
This also adds a per-window method override to handle situations
where one window/sub-hierarchy needs to use or not-use a
method (specifically, seamless-rotation needs BLAST even if
the rest of the transitions are screenshot).
Bug: 242056267
Test: atest TransitionTests SyncEngineTests
Change-Id: Iee6ee85bafb8967e2e1e662cd3275fba1efbbdea
When a TaskFragmentTransaction is sent to the organizer during a
transition, have the transition wait for the organizer to finish
handling the transaction.
Bug: 207070762
Test: atest WmTests:TaskFragmentOrganizerControllerTest
Change-Id: I4b7955171cd8ce386686ff2cd64b7c04a6436ddf
Some olders kernels don't yet support HID_PLAYSTATION. While they are
working on supporting this driver, provide this temporary solution.
Before this patch, if the key layout is loaded, but there is no
HID_PLAYSTATION, then the mappings on the device will be incorrect.
With this patch, this key layout will not be loaded unless there is a
CONFIG_HID_PLAYSTATION enabled on the device.
Instead, when the main layout cannot be loaded, we make another attempt
to load a fallback layout. This way, the mappings on DualSense can be
correct even if the HID_PLAYSTATION module is not loaded.
In this CL, the fallback layout was tested using controllerTester.
Bug: 228005926
Test: tested mappings with a DualSense controller on a device that does
not have CONFIG_HID_PLAYSTATION
Change-Id: I7e46ae1943cd2c63b8c0b03fdf5d71adeea89f6f
The test failure reported in 241721843 due to previous attempt
should be fixed by Ibce61016fca7a8fe075e266e111927c43b5c4729
Bug: 241503271
Test: The app reported in 170915650 and 183170917 works.
Change-Id: I7db85f2562237291005c6459f4d73fcfdaa2f873
Destroying the MediaProjection notifies the client app through the
MediaProjection callbacks that the app should handle the session
ending prematurely.
This may happen if setting up task recording failed, or if the
user exited the task that is being recorded.
Registering a listener to the task for configuration changes
also enables handling of the task entering/exiting split
screen.
Fixes: 219761722
Fixes: 237526949
Fixes: 236971595
Test: atest WmTests:ContentRecordingControllerTests
Test: atest WmTests:ContentRecorderTests
Change-Id: I415fb70433a031889f0486e99bb7d3b664333414
When a Display has the flag VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR, the
content on the display is expected to mirror another display. This was
previously done by setting the same layerStack. This change removes that
behavior and instead will create a mirror hierarchy of the other display
and place it at the root of the new Display. This is leveraging the work
done for ContentRecorder, but using it as default for all displays
instead of only for VD created by MediaProjection.
Test: Screen record via MediaProjection
Test: Screen record via DisplayManager
Test: ContentRecorderTests
Test: DisplayContentTests
Bug: 237664947
Change-Id: I18b36dadc43ba1c37f9516ff10d24bb8683c04ac