Commit Graph

2949 Commits

Author SHA1 Message Date
Chris Li
929e5378a0 Merge "Collect embedded TaskFragment window changes" into tm-qpr-dev am: d0208d9292
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19561152

Change-Id: If22315d886a178ffd74f0a60b21548ac9ab24f30
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-07 05:31:19 +00:00
Chris Li
d00861c46e Collect embedded TaskFragment window changes
To make sure the embedded TaskFragment surface will be updated when
Shell transition is enabled.

Bug: 207070762
Test: testApplyTransaction_collectTaskFragmentBeforeApplyChange
Change-Id: Id726b67cd30bd68e3ca4bc2665ab0a9024d76dab
2022-09-07 08:54:57 +08:00
Chris Li
85167f8475 Merge "Add TaskFragmentOrganizer#applyTransaction with request transition" into tm-qpr-dev am: 2c9b75902e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19714429

Change-Id: I3225c3c79b0a309e9e16abd2f81b92e263a55a90
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-01 07:22:46 +00:00
Chris Li
2c9b75902e Merge "Add TaskFragmentOrganizer#applyTransaction with request transition" into tm-qpr-dev 2022-09-01 06:59:10 +00:00
Chris Li
dc7cb3659d Add TaskFragmentOrganizer#applyTransaction with request transition
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
2022-09-01 12:00:31 +08:00
Antony Sargent
1840a685d6 Merge "Make FLAG_KEEP_SCREEN_ON use per-display wakelocks" into tm-qpr-dev am: 4597b40d49
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19535194

Change-Id: Ife247add36251dde408568d7cdf6caa0cb3a13b6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-31 23:39:27 +00:00
Antony Sargent
62aecf34aa Make FLAG_KEEP_SCREEN_ON use per-display wakelocks
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
2022-08-31 10:21:35 -07:00
Jenhou (Alan) Huang
154a6a50b7 Merge "[VolumePanel] Move the Settings' volume panel into a SystemUIDialog" into tm-qpr-dev am: 16219f2ea4
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19482609

Change-Id: I51953caf99f845431d7ceeb7fd102aef308b2837
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-30 05:43:38 +00:00
Alan Huang
e03186af0e [VolumePanel] Move the Settings' volume panel into a SystemUIDialog
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
2022-08-29 18:59:51 +00:00
Chris Li
5c4bf73532 Merge "Fix crash when continueTransitionReady without collecting transition" into tm-qpr-dev am: bd4b118acb
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19728246

Change-Id: I7178f73f49ec4529940e1b9fb85309a174a4ea27
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-26 01:45:26 +00:00
Chris Li
bd4b118acb Merge "Fix crash when continueTransitionReady without collecting transition" into tm-qpr-dev 2022-08-26 01:38:31 +00:00
Kunal Malhotra
cc1aa40eac Merge "Restrict readability of uid state changes so that uid states of other users uids are not exposed to those that do not have permission." into tm-qpr-dev am: 0626b32460
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19646036

Change-Id: I37189e1d23e75dbd2f31733825674a47773e01a7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-25 16:36:57 +00:00
Kunal Malhotra
0626b32460 Merge "Restrict readability of uid state changes so that uid states of other users uids are not exposed to those that do not have permission." into tm-qpr-dev 2022-08-25 16:29:53 +00:00
Chris Li
5ce3e5d661 Fix crash when continueTransitionReady without collecting transition
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
2022-08-25 10:12:34 +08:00
Evan Rosky
f4d5421fc2 Merge "Add a non-blast mode to sync-engine" into tm-qpr-dev am: f2e3e58c55
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19453502

Change-Id: Ib9005e82cd084d2e08f2bf6191fb006e4e664a12
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-24 23:32:47 +00:00
Evan Rosky
f2e3e58c55 Merge "Add a non-blast mode to sync-engine" into tm-qpr-dev 2022-08-24 23:12:36 +00:00
TreeHugger Robot
cbe2a51d60 Merge "Require CONFIG_HID_PLAYSTATION for DualSense key layout" into tm-qpr-dev 2022-08-24 14:40:58 +00:00
Chris Li
570d249c9c Merge "Wait for TaskFragmentOrganizer to finish handling transaction" into tm-qpr-dev am: 3294ef42e4
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19564031

Change-Id: I55787b4ac6e4018b19ad03d33ca9e86e5ac000e1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-24 01:11:14 +00:00
Evan Rosky
9110a8af74 Add a non-blast mode to sync-engine
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
2022-08-23 16:51:43 -07:00
Chris Li
4e9c5b44b1 Wait for TaskFragmentOrganizer to finish handling transaction
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
2022-08-23 09:46:05 +08:00
Siarhei Vishniakou
92aa9080eb Require CONFIG_HID_PLAYSTATION for DualSense key layout
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
2022-08-23 01:23:29 +00:00
Kunal Malhotra
4a06c40b87 Restrict readability of uid state changes so that uid states of other users uids are not exposed to those that do not have permission.
Test: manual test
Bug: 217934898
Change-Id: I3f52d4ca32c22c54fa9b1663954a43b44d9000a0
Merged-In: I3f52d4ca32c22c54fa9b1663954a43b44d9000a0
(cherry picked from commit c69aa1be70)
2022-08-17 17:07:32 +00:00
Naomi Musgrave
56e0f4a61d Merge "[Partial Screenshare] Respond to task changes" into tm-qpr-dev am: f5a7752bf2
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17570090

Change-Id: If3ba9ede80fc52a1a5d85604d947b05bb4e8f4d7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-12 11:00:56 +00:00
Naomi Musgrave
0d9ba1c04a [Partial Screenshare] Respond to task changes
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
2022-08-11 18:03:53 +00:00
Yanli Wan
96986f64df Merge "Stop app pinning if lock task is requested from allowedlisted app" into tm-qpr-dev am: 3544e25a4e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19461336

Change-Id: I8546e339d3627dc8d3df4cf8e58064ae2628a1fe
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-03 19:30:00 +00:00
Yanli Wan
3544e25a4e Merge "Stop app pinning if lock task is requested from allowedlisted app" into tm-qpr-dev 2022-08-03 19:18:52 +00:00
Chris Li
12cc95ad18 Merge "Fix open ActivityEmbedding split with Shell transition" into tm-qpr-dev am: 447919823c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19321172

Change-Id: Ia471a71ba97cf89fa8c214734012075a9b1a33c5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-27 06:55:37 +00:00
Chris Li
0dfebbe4d7 Fix open ActivityEmbedding split with Shell transition
1. Collect the TaskFragment when reparenting an activity into it.
2. Check adjacent TaskFragment for transition flag FLAG_TRANSLUCENT.
3. Offset the relative position for default animation.

Bug: 207070762
Test: pass existing
Change-Id: I62b533dbb087007e3ef126170691a59929eb75e1
2022-07-27 01:30:52 +00:00
TreeHugger Robot
d1525033ca Merge "Revert the line of NotoSansLao post script name" into tm-qpr-dev am: e5dc49d4bf
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19330066

Change-Id: I4934a3921d6970f4d7318ab49da95abfd41f7c2b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-21 03:54:32 +00:00
Yanli Wan
540a7c32d8 Stop app pinning if lock task is requested from allowedlisted app
Bug: 213942596
Test: Manual
Change-Id: I86c71bef4f8c374fab01aa0a5f3997ba1a2b27cf
2022-07-19 16:11:23 -07:00
Seigo Nonaka
5b94932626 Revert the line of NotoSansLao post script name
Bug: 235922054
Test: N/A
Change-Id: I4af08ba06d12afdf0753f07b4a757d9dd89df3bb
2022-07-19 00:35:39 +00:00
TreeHugger Robot
c20b2f0e40 Merge "[Shell-Transition] clean-up some isAnimating call points" into tm-qpr-dev am: 45b540163a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19086047

Change-Id: I19ba26b0f40a0edc0076191db1214d751401a537
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-11 20:00:53 +00:00
Ming-Shin Lu
ae2fbd47a0 [Shell-Transition] clean-up some isAnimating call points
..to reflect the app transition animating state when shell-transition
enabled for below cases:

1) ImeInsetsSourceProvider#isReadyToShowIme will use WS#isClosing ->
   AR#isClosingOrEnteringPip to check if the IME layering target window
   is in closing transition. (i.e. It won't be ready to show IME while
   the target is in closing app transition.) Also, given isClosing and
   isClosingOrEnteringPip currently is only used for checking IME target
   validity, wraping those logic into isImeTargetWindowClosing() for
   simplicity.

2) With Shell-Transition, the activity will running a transition when
   it is visible, it won't be included when fromTransition is true means
   the call from finishTransition. As a result, in AR#commitVisibility,
   callback onAppVisibilityChanged(visible, runningAppAnimation) with
   using the above checking logic and adding logs for tracking. In case
   a11y controller will always callback onWindowTransition with
   TRANSIT_EXIT due to runningAppAnimation always being false by
   isAnimating no-op.

Fix: 212570341
Test: No visible change & Pass existing tests.
Change-Id: I9cc77956b3ff61ae83f5bd120c395cc6aca93af9
2022-07-11 13:12:34 +00:00
Louis Chang
54c07fc4dc Merge "Skip moving the focused Task to top if it is already on top" into tm-qpr-dev am: be9d1c7821
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19009471

Change-Id: I19157321cb39c5db23c2cc18705cd26b40a2062b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-28 01:54:30 +00:00
Evan Rosky
290a8afc9d Merge "Drop sync buffers for subsequent sync requests" into tm-qpr-dev am: 813c1e83a3
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18718883

Change-Id: I56b68336f40f4c59e4b446c255568fb9cbd06ad3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-28 01:49:28 +00:00
Louis Chang
be9d1c7821 Merge "Skip moving the focused Task to top if it is already on top" into tm-qpr-dev 2022-06-28 01:17:30 +00:00
Evan Rosky
b987697042 Drop sync buffers for subsequent sync requests
When making subsequent draw requests for the same window, drop
any existing buffers since they will be replaced by the new one.

Sometimes the "old" buffer will still be "in-flight" (either
drawing still or in binder). So, also drop incoming buffers
for seqIds that are earlier than the latest prepareSync.

Additionally, immediately apply any applyWithNextDraw that were
requested before the sync, but arrive after the sync started --
otherwise they can get put on pending (which waits for sync
apply) and thus also block the buffer queue.

Bug: 233625646
Test: run tests and check for ANRs
Change-Id: I156a9a73eea8346dc241b5d782a863b99127ca9f
2022-06-27 10:45:16 -07:00
Louis Chang
9b71e4551c Skip moving the focused Task to top if it is already on top
The Task was moved to front while making an Activity to be the
focused app. In that case, the resumed activity will be reset
to the top-most resumed activity in the Task.

However, the top-most resumed activity in the Task should not
always be the current focused activity when activity embedded.

This CL skips unnecessary task movement and making the target
activity to be focused if the task is already on top and focused.

Bug: 236565088
Test: atest TaskFragmentTest
Change-Id: I6cbea10bdfa422e9d51c051595ed592843f5ba79
2022-06-24 05:31:12 +00:00
TreeHugger Robot
e6c3b55f4f Merge "Require CONFIG_HID_PLAYSTATION for DualSense key layout" into tm-dev-plus-aosp am: 6ea7f6c7b0 am: 294dad862e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18930751

Change-Id: Id5aaf65e32525e74c8d15c91e06ebcc87996a5ff
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-17 20:03:44 +00:00
Siarhei Vishniakou
8169da18d8 Require CONFIG_HID_PLAYSTATION for DualSense key layout
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
Merged-In: I7e46ae1943cd2c63b8c0b03fdf5d71adeea89f6f
2022-06-16 17:34:37 +00:00
Jimmy Chen
5a6c0e7802 Merge "p2p: add CONFIGURE_WIFI_DISPLAY permssion for P2P test" am: 1bf4072c78 am: a29505af31 am: a6b28ca5eb am: f1223c1738
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2115076

Change-Id: I794b9eb7a6172c466175521a1c944f0120882143
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-16 01:55:28 +00:00
Jimmy Chen
a6b28ca5eb Merge "p2p: add CONFIGURE_WIFI_DISPLAY permssion for P2P test" am: 1bf4072c78 am: a29505af31
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2115076

Change-Id: Id14c36a6cdfc6b01e97846c38238f14fc231cfe0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-16 01:44:21 +00:00
Jimmy Chen
a29505af31 Merge "p2p: add CONFIGURE_WIFI_DISPLAY permssion for P2P test" am: 1bf4072c78
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2115076

Change-Id: Ifc3ffd42afdfdd3c887251484490661a5100b02e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-16 01:18:58 +00:00
Jimmy Chen
f46b780f16 p2p: add CONFIGURE_WIFI_DISPLAY permssion for P2P test
Bug: 230699791
Test: atest android.net.wifi.cts.ConcurrencyTest#testP2pSetWfdInfo
Change-Id: Ic25dc6d7b18bad38863acfd32d839155da28141b
2022-06-08 15:38:18 +08:00
Issei Suzuki
72a27f37ef Merge "Exclude launcher from app transition animation while recents is running." into tm-dev am: 0dfb582d5a am: bdaf705b8a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18492309

Change-Id: I7ae2a50abaa1d16102a4f528cb1d8790445ed316
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-31 19:28:38 +00:00
Automerger Merge Worker
2a46a89edc Merge "Merge "Exclude launcher from app transition animation while recents is running." into tm-dev am: 0dfb582d5a am: 6b153ac88f" into tm-d1-dev-plus-aosp am: 4e64cb2050
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18492309

Change-Id: Ifb0fb40433a4eb4e116709fd2d0106698adc7129
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-31 16:48:02 +00:00
Issei Suzuki
0dfb582d5a Merge "Exclude launcher from app transition animation while recents is running." into tm-dev 2022-05-31 15:48:01 +00:00
TreeHugger Robot
0135f0a800 Merge "Update security_log_writer group name" into tm-dev am: 8135158f39 am: 89b687bcf3
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18616465

Change-Id: Ic8d588ae932ed790d6fe198c6ca60bab2259647d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-26 20:57:08 +00:00
Rubin Xu
4130b736c8 Merge "Map WRITE_SECURITY_LOG permission to gid" into tm-dev am: f76cae7532 am: 597056d1b0
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18603750

Change-Id: I6cabdbf5d790f907380424380439af943677ce1c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-26 17:47:52 +00:00
Rubin Xu
07df5c4d16 Update security_log_writer group name
group name was changed during review but not updated
in the permission mapping.

Bug: 232283779
Test: manual
Change-Id: Ib7df61fa4fd49c8419f0543fd6c54186a33ebeb6
(cherry picked from commit 4486314be6)
Merged-In: Ib7df61fa4fd49c8419f0543fd6c54186a33ebeb6
2022-05-26 17:45:49 +00:00