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
Map WRITE_SECURITY_LOG to AID_SECURITY_LOG_WRITE which is how logd
controls access to security log buffer.
Bug: 232283779
Test: manual
Change-Id: Ifde2e5192326f0811807dcb05563b1b5b63077ce
(cherry picked from commit e806776e54)
Merged-In: Ifde2e5192326f0811807dcb05563b1b5b63077ce
Changed approach to handle conflict between app transition and recents.
In order to fix flicker which happens when recents and app transition
start in a short time, we delayed app transition while recents was
running. However this approach brought side effects such as b/232984498.
When recents starts, we just want to wait that the launcher activitiy
finishes rendering and commit its visibility without animation. Added a
flag DisplayContent#mExcludeLauncherFromAnimation flag, so that we can
now explicity declare whether we want to apply animation on the launcher
or not.
Bug: 223499269
Bug: 231711212
Bug: 232984498
Test: atest com.android.server.wm.AppTransitionTests
Test: atest AppTransitionTest + manual tests
Test 1
1. Launch Gmail app
2. Click icon on the bottom tab (e.g. Chat)
3. Swipe up from the bottom (immediately after step 2)
4. Verify closing animation only plays once
Test 2
1. Launch "Google TV"
2. Play a trailer
3. Full screen and PIP mode switch twice
4. Verify PIP window is shown
Test 3
1. Change phone to portlait mode
2. Launch Photo app
3. Swipe up from the bottom
4. Verify no rotation animation on the launcher
Test 4
1. Install 3P launcher and set it default.
2. Launch Gmail app
3. Swipe up to go back home
4. Launch Chrome app
5. Swipe up and hold to go to overview.
6. Scroll to Gmail app and click.
7. Verify Gmail app is launched without delay.
Change-Id: I0ccb99479684d17453ce57e8797024c0cd233ac3
- Override the callback to inject back as we do today while in Overview.
We can't rely on the client side compat callback because the Launcher
window is not focused in this current state.
Bug: 223750399
Test: Open overview, swipe back
Change-Id: I1978ce3a91cba3e57c0f8bab366691b48a9d5921
This fixes conflict between app transition and recents animation in the
following scenario.
1) App transition animation finishes after app closing animation, which
is controlled by recents, finishes.
During the app closing animation, recents makes the closing app surface
invisible, but app transition animation overrides it to visible again.
This causes a flicker.
2) App transition starts during recents animation.
This can happen when a user launches an activity, and immediately after
that, swipes up the screen to close the app.
While recents is running, we assume animation on tasks is controlled by
recents, and visibility is commited without animation after recents
animation finishes. However starting app transition during recents
breaks this assumption, which ends up with playing one more unexpected
closing animation (so users see closing animation twice).
Bug: 223499269
Bug: 231669960
Test: atest AppTransitionTest + manual tests
Test 1
1. Launch Gmail app
2. Click icon on the bottom tab (e.g. Chat)
3. Swipe up from the bottom (immediately after step 2)
4. Verify closing animation only plays once
Test 2
1. Launch "Google TV"
2. Play a trailer
3. Full screen and PIP mode switch twice
4. Verify PIP window is shown
Test 3
1. Change phone to portlait mode
2. Launch Photo app
3. Swipe up from the bottom
4. Verify no rotation animation on the launcher
Change-Id: Ic18d00812308903db08d3564136f33f1eccf408c
This makes the Tv Pip move away from the dialog in order to not cover
its content
Bug: 227596282
Test: manual: start activity in Pip; start Duo and send:
adb shell cmd sensor_privacy enable 0 microphone && \
adb shell appops start com.google.android.apps.tachyon 27
Change-Id: Ifb0a11cc6c09b2b088d8a28c6016b831f5c57ac9
If an internal system window wants to drop focus from an embedded
window, requestFocusTransfer doesn't need to be called and instead we
can directly call setFocusedWindow. This fixes the case where transfer
focus fails if the old focused window loses visibility by the time the
transfer request arrives. The transfer won't be allowed because the old
window isn't focused anymore so we can't honor the transfer request.
This fix is fine for internal system windows because there's no security
issue with transferring focus from embedded to something WMS computes.
However, there's still a race condition for cases where apps want to
transfer focus from embedded back to host when they are setting
visibility on the embedded window since the embedded window can become
invisible before the transfer goes through.
Test: Pip Menu focus lost
Fixes: 230851770
Change-Id: I09db0bbdf4db6eeaffa30275233811b13ea31132
Merged-In: I09db0bbdf4db6eeaffa30275233811b13ea31132
This fixes conflict between app transition and recents animation in the
following scenario.
1) App transition animation finishes after app closing animation, which
is controlled by recents, finishes.
During the app closing animation, recents makes the closing app surface
invisible, but app transition animation overrides it to visible again.
This causes a flicker.
2) App transition starts during recents animation.
This can happen when a user launches an activity, and immediately after
that, swipes up the screen to close the app.
While recents is running, we assume animation on tasks is controlled by
recents, and visibility is commited without animation after recents
animation finishes. However starting app transition during recents
breaks this assumption, which ends up with playing one more unexpected
closing animation (so users see closing animation twice).
Bug: 223499269
Test: atest AppTransitionTest + manual
1. Launch Gmail app
2. Click icon on the bottom tab (e.g. Chat)
3. Swipe up from the bottom (immediately after step 2)
4. Verify closing animation only plays once
Change-Id: Id0a8b472b9a3d7cf5b55852de83cbd50b985b834
Reference RCU has 2 models with different numbers of keys.
And some keys have multiple HID key IDs used by different
partners.
This change lists all possible HID key values of reference RCU.
Change-Id: I9c3c93c17701f39b415989ccf066744fb314d29c
bug: 229692045
test: manually tested on tm-dev build
When the activity exits PiP and is reparented to the original Task, the
organizer should handle it as a new launch.
Bug: 225371112
Test: atest WmTests:TaskFragmentTest
Test: atest WmTests:TaskFragmentOrganizerControllerTest
Change-Id: Ia7e32e995a35e167b0d76e701c972b269ae068cc
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