The transaction was not applied anymore after the refactor and the
end of animation callback was not correctly set.
Bug: 228202811
Test: com.android.server.wm.BackNavigationControllerTests#backNavInfo_HomeWhenBackToLauncher
Change-Id: Id4635f2988a23ad7e214fb37739ba8dc2c394ee4
Main motivation is to store a back callback's exact priority value in WM. This is required by the IME migration (ag/17076160) to compare the priority levels of IME window callback and focused window callback in BackNavigationController.
This also consolidates the WindowState#mSystemOnBackInvokedCallback and WindowState#mApplicationOnBackInvokedCallback fields into one field, as tracking two fields for one callback was error prone. We had to remember to clear the application / system field when the other field is set, and failing to do so has resulted in bugs such as b/222675481.
Bug: 224856664
Test: atest BackNavigationControllerTest
Test: atest WindowOnBackInvokedDispatcherTest
Test: m -j and test back behavior throughout the system on apps that
opted in and out.
Change-Id: Ic57113610d934f33d2c9ca4cef59f39a9b87e832
MANAGE_CLOUDSEARCH is and will be wanted by many applications. privileged/role should be able to cover most use cases.
Bug: 227041245
Test: atest
Change-Id: Idfb85f9e181968df935c4f27490bae2babadd0d9
- Better logging
- Remove method form OnBackInvokedDispatcher interface (but not the
implementation)
- Add test for ag/17211289
Bug: 222675481
Test: BackNavigationControllerTests#testUnregisterCallbacksWithSystemCallback
Change-Id: I6a3ae30da7e29dddda116acd8fa0c9af4b9faa6e
There might be other leaf tasks beside the top leaf task are not
occluded. Like the case when split screen is activated, both top leaf
tasks in each side are not occluded. This makes sure to include them
into remote animation target.
Fix: 227307495
Test: pass existing tests
Test: enter split, quick switch back and forth won't crash
Change-Id: Ic8af56b1a9e029dc4f1c2c57ab59071aab2924b4
Add ACCESS_FPS_COUNTER to Shell in order to run CTS properly.
Ignore-AOSP-First: permission doesn't exist in AOSP yet.
Bug: b/220029298
Test: atest TaskFpsCallbackCtsTest
Test: atest TaskFpsCallbackCtsTest --instant
Change-Id: Ica37bafff368f4a0027f9549de6a31ce3254c986
Add a permission split:
WRITE_EXTERNAL_STORAGE to ACCESS_MEDIA_LOCATION
...and sort split permissions.
The reason adding this is that the split-permission handling code
doesn't handle recursive split-permission mappings, but only direct
mappings.
The reason for sorting is that, given a tree of permission splits,
the entries in platform.xml must be sorted topologically, due to
current permission split code.
Bug: 227240947
Test: atest CtsPermissionTestCases CtsPermission3TestCases SplitPermissionsSystemTest
Change-Id: I62c2ab8687af2e8325fcc370a74af0f589d8e9f2
Add split permissions from WRITE_EXTERNAL_STORAGE to media permissions.
The reason for doing this is that the split-permission handling code
doesn't handle recursive split-permission mappings, but only direct
mappings.
This resulted in a problem with WRITE_EXTERNAL_STORAGE because:
1) WRITE_EXTERNAL_STORAGE splits into READ_EXTERNAL_STORAGE, and
2) Recently, we added split permissions from READ_EXTERNAL_STORAGE
to READ_MEDIA_AUDIO, READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, and
ACCESS_MEDIA_LOCATION
The effect is that apps which request WRITE_EXTERNAL_STORAGE are not
being granted media storage permissions properly.
(Note that, for now, we've not yet added the split to
ACCESS_MEDIA_LOCATION, because this scenario has not yet been
thoroughly tested.)
Bug: 222238273
Test: atest CtsPermissionTestCases CtsPermission3TestCases SplitPermissionsSystemTest
Change-Id: I94694b37189ea8ad89edc4f478391ccfe1ccd5b8
Add support for KEYCODE_PROFILE_SWITCH, KEYCODE_ALL_APPS, KEYCODE_PERIOD and KEYCODE_MEDIA_RECORD.
Add support for KEYCODE_PROFILE_SWITCH and KEYCODE_ALL_APPS in
Generic.kl.
Bug: 223113454
Test: atest GoogleAtvReferenceRemoteControlTest
Change-Id: Ife171662224e520dea249ce03675c278adf67870
- Use the focused window instead of the topApp window
- Instead we now rely on WindowManagerService to get
the focused window.
- SystemUI does not have ActivityRecord so we can't rely
on the top window of the Task to find the correct
window on which the callback will be called.
- Introduce a Builder for BackNavigationInfo
- This reduces the number of variable needed outside the synchonized
block.
- It also reduces the number of early return of BackNavigationInfo
instances
- Adding log messages to help further debug the method.
Test: BackNavigationControllerTests
Test: Manual dismiss of SystemUi dialog in QS
Bug: 216604581
Fixes: 221458292
Change-Id: I9ba2c7f89956f34d6338824502c210b3e58dc076
Introduce builder for BackNavigationInfo
Change-Id: I14b4a4b3abc8f417998b7b32831cb3d5c4faa491
As a followup to ag/17258046, since we don't have any use case to
rely on handling input during animation, disable input even if it
is trusted embedding so that it could cover some edge-cases when
a previously truste host starts doing something bad.
Bug: 197364677
Test: atest WmTests:AppTransitionControllerTest
Change-Id: I7312b6ed961891c5c58adad73f660d4a18084c52
For cross-process embedding, there can be activity of other app embedded
in untrusted mode. When it happens, we need to disable all input on the
Task if we are going to play client-driven animation to make sure the
host client can't abuse the animation leash.
Bug: 197364677
Test: atest WmTests:AppTransitionControllerTest
Change-Id: I3e299c0a43ac823b7df6af9d02c7168bd65d3271
The functionality has morphed since its original transitions-only
incarnation. Now it is a general queue mechanism for SyncEngine.
So, move it into BLASTSyncEngine and clean-up the abstraction
a little-bit. This should make it more usable for some upcoming
fixes.
Bug: 222033492
Test: existing tests pass (just a refactor)
Change-Id: Ia057e816ad5635e9681d3273d139e494c18216d9
If, for whatever reason, the SystemUI process crashed and restarted,
the IME wasn't functional anymore (it would not become visible).
That happened because, after the SystemUI crash, the IME was
unorganized for a while and the framework reparented its surface
under an activity.
With this commit we fix this issue by reparenting the IME under its
parent when it becomes organized again.
Manual Test: Checked that the IME becomes visible after a systemui
crash.
Test: atest DisplayContentTests
#testImeContainerIsReparentedUnderParentWhenOrganized
Bug: 224800157
Change-Id: I303baf96c905a9c4b444189b731f63c7d51a11f2
Change-Id: I4d2934516e528bf353395e1759f59612542bdb56
Bug: 224664116
Test: build, verify with enabling proto log:
adb shell wm logging enable WM_DEBUG_IME, see if IME snapshot logs
printed.
Change-Id: Ia61e6f3955178d9a4deb68ba1d8ae7d4ebb341d1