Commit Graph

1793 Commits

Author SHA1 Message Date
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
Rubin Xu
bcb0741c91 Map WRITE_SECURITY_LOG permission to gid
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
2022-05-25 20:54:27 +00:00
Winson Chung
ce8f9488f2 Merge changes I1978ce3a,I79160004 into tm-dev am: 35640f948e am: d0cd381a0b
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18385451

Change-Id: I80e97f57ea58634ecc647bccded63ef15615c558
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-18 22:47:35 +00:00
TreeHugger Robot
7b52f23021 Merge "Remove duplicate allowlist entries for Bluetooth" into tm-dev am: 5ea9ade689 am: b5d25971f9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18080601

Change-Id: I91ce49042ff421fb80035a1b34795319fb61168c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-18 21:51:40 +00:00
Winson Chung
35640f948e Merge changes I1978ce3a,I79160004 into tm-dev
* changes:
  Add workaround for new back flow with legacy recents animation
  Ensure recents input consumer can be focused in Overview
2022-05-18 17:23:38 +00:00
Evan Rosky
97b292f627 Merge "Fix pip bundling" into tm-qpr-dev 2022-05-17 17:06:00 +00:00
TreeHugger Robot
5ea9ade689 Merge "Remove duplicate allowlist entries for Bluetooth" into tm-dev 2022-05-16 20:59:24 +00:00
Evan Rosky
046ec8336e Fix pip bundling
Not all pips should be their own transition. This CL
changes the rules so that any pip originally requested
by the system (even if done via the app -- eg legacy
pause+userLeaving) will not get their own transition
and instead be bundled into the current one.

This also fixes an issue where transient launch
committal was only entering pip for the new auto-enter
case but not the legacy userLeaving case.

Bug: 220196913
Bug: 231150615
Test: launch a legacy userLeave-enters-pip app and
      then go home (swipe or button).
Change-Id: I3c20341971ab4512509daa70314742f84c1ccd6b
2022-05-16 11:56:15 -07:00
Winson Chung
03df66775f Add workaround for new back flow with legacy recents animation
- 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
2022-05-14 00:09:13 +00:00
Evan Rosky
7c001fabf2 Merge "Ensure move-to-back has its own transition." into tm-qpr-dev 2022-05-13 18:17:43 +00:00
Evan Rosky
d260e1cbcd Ensure move-to-back has its own transition.
In general, we need to move to a model where each transition is
a "fixed" transaction (rather than absorbing everything within
a specific time-window).

Bug: 232020248
Test: PinnedStackTests#testMovePipToBack*
Change-Id: Icf5d36e507bc70736e7760c50d5de297bfe4d8f4
2022-05-12 10:51:00 -07:00
Nick Chameyev
343260adfa Merge "Synchronize display change with the Shell" into tm-qpr-dev 2022-05-12 16:55:06 +00:00
Galia Peycheva
735dc5d336 Merge "Set TvBottomSheetActivity as unrestricted keep-clear area" into tm-dev am: 7a662cfbf9 am: bc33153bb5
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18177605

Change-Id: I15294f4498203f660fb506ccabbb84cf09f933e3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-11 20:48:56 +00:00
Galia Peycheva
7a662cfbf9 Merge "Set TvBottomSheetActivity as unrestricted keep-clear area" into tm-dev 2022-05-11 07:43:24 +00:00
Issei Suzuki
006fa97387 Merge "Suppress app transition while recents is running" into tm-dev am: fca1e25c59 am: b1050a102f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18232543

Change-Id: Ida53de8a528cd005ff997280c47ef1afac74fdce
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-10 21:41:32 +00:00
Nick Chameyev
0e1d4e23cb Synchronize display change with the Shell
This CL adds synchronization of applying of the window
container transaction with split-screen layout changes after
the display size change. This is needed for the unfold
animation to have the split screen layout ready
for the first frame of the unfold animation on foldable
devices.

The flow is similar to the display rotation synchonization,
now it is triggered on both physical display change and
rotation.

Bug: 204925795
Test: folding/unfolding, rotating with a split layout
  when Shell transitions enabled/disabled
Change-Id: I30f391dae69cf38768daf49361660d87165f886d
2022-05-10 09:50:34 +00:00
Issei Suzuki
ada19dd903 Merge "Revert "Suppress app transition while recents is running"" into tm-dev am: d2303d97a4 am: 005860c14c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18204686

Change-Id: I9f6c2f5259b242a158d87f2f5047a12b234e8870
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-09 15:21:06 +00:00
Issei Suzuki
d49b5d442d Suppress app transition while recents is running
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
2022-05-09 14:10:14 +00:00
Issei Suzuki
d2303d97a4 Merge "Revert "Suppress app transition while recents is running"" into tm-dev 2022-05-09 10:00:41 +00:00
Neha Jain
a2e0455cd9 Revert "Suppress app transition while recents is running"
This reverts commit c34693dcac.

Reason for revert: Causing PiP to fail b/231669960
Bug: 231669960
Change-Id: Ib16cf999071fd06bd9a574859f8fb18d6fede3fa
2022-05-06 20:40:28 +00:00
Evan Rosky
4f7be5bd52 Fix PiP transition ordering
First, this cancels the existing pip animation if it is
told to exit. Without this, an exit animation that
starts before an enter animation finishes will have its
state clobbered by the exit's finishTransition call.

Next, make pip-enter transitions queue-up so that they
don't interleave before other queued transitions (very
common during CTS).

Bug: 231150615
Test: atest PinnedStackTests
Change-Id: I7f162c0b1f24ab845770b805c8fae2252814945e
2022-05-06 13:03:03 -07:00
Chavi Weingarten
c9818a57ba Merge "Set focus to WMS computed focus when embedded window drops focus" into tm-dev am: 823b164edd am: 5aa8c0d2a9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18143057

Change-Id: Icf5c842fd5c783803c346284c6f78d349af756f0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-06 18:38:51 +00:00
Chavi Weingarten
823b164edd Merge "Set focus to WMS computed focus when embedded window drops focus" into tm-dev 2022-05-06 18:07:46 +00:00
Issei Suzuki
ab569bcef3 Merge "Suppress app transition while recents is running" into tm-dev am: 0d83eb099d am: 48fd600e17
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18140343

Change-Id: If7fc42f59a1ea05b017fd2033b4b105a6c1295b3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-06 15:39:38 +00:00
Galia Peycheva
557fc354c1 Set TvBottomSheetActivity as unrestricted keep-clear area
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
2022-05-05 18:11:09 +02:00
chaviw
02f564f331 Set focus to WMS computed focus when embedded window drops focus
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
2022-05-05 15:42:46 +00:00
Issei Suzuki
40395751a9 Disable overriding task animation through windowAnimationStyle attribute.
Bug: 211624533
Test: atest ActivityTransitionTests
Change-Id: Ia6844ab4397a54dc510f34f06edc4d8a188db1fc
2022-05-04 09:58:49 +00:00
Issei Suzuki
c34693dcac Suppress app transition while recents is running
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
2022-05-03 14:23:18 +00:00
Andrei Onea
7a8010b205 Remove duplicate allowlist entries for Bluetooth
These allowlist entries are already bundled in the Bluetooth apex.

Test: boots
Bug: 230449777
Change-Id: Ife22ecbfd36882720e9059d8144cdaf6c410268c
2022-04-29 12:10:14 +00:00
Chris Li
88d2969586 Merge "Add TaskFragmentOrganizer#onActivityReparentToTask" into tm-dev am: 0b91be7283 am: 0676135870
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17817304

Change-Id: I44fd3e54bc9e0f786df4bf3f7873ac12135cd819
Ignore-AOSP-First: this is an automerge
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-25 10:56:38 +00:00
Chris Li
9e08260cce Add TaskFragmentOrganizer#onActivityReparentToTask
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
2022-04-22 17:36:02 +08:00
Riddle Hsu
5deb763e68 Do not reset surface for forced layout
In general this removes commit b2e3780. Because since rotation
is a part of configuration, it is enough to redraw according to
the configuration change.

Otherwise because forceRelayout is also used for syncRedraw,
that will cause to drop pre-allocated buffers and increase the
time of the initial frames for reallocation.

Bug: 229366100
Test: ActivityRecordTests#testLandscapeSeascapeRotationByApp
Test: Rotate 180 degree with various apps and no upside down
      afterimage remains on the screen.
Change-Id: I3f03f7c8674ddc4a8c0b9c0b0528816114075732
2022-04-15 21:19:24 +08:00
TreeHugger Robot
9e9a9d36ac Merge "Apply transaction when starting back nav" into tm-dev 2022-04-13 05:04:39 +00:00
Tyler Lacey
11000cfd99 Merge "When adding overlay to a task, emit an immediate inset update" into tm-dev 2022-04-12 16:08:44 +00:00
Vadim Caen
fe1f5828f9 Apply transaction when starting back nav
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
2022-04-12 13:49:02 +02:00
Jerry Chang
efb263d1a4 Merge "Include all not occluded leaf tasks while wrapping animation target" into tm-dev 2022-04-11 05:37:04 +00:00
Kriti Dang
012dcb8b1a Merge "Changing the name densityMap->densityMapping due to framework changes" into tm-dev 2022-04-08 12:31:26 +00:00
Shan Huang
be460cbac4 Merge "Create OnBackInvokedCallbackInfo to wrap callback and its priority." into tm-dev 2022-04-08 04:07:53 +00:00
Kriti Dang
226a5e3b66 Changing the name densityMap->densityMapping due to framework changes
Bug: 228268712
Test: Tested manually
Change-Id: I15bdf7a1bb5c1dbd4596d85d15f964bb81ceae4a
2022-04-07 16:25:49 +02:00
Shan Huang
b353af0387 Create OnBackInvokedCallbackInfo to wrap callback and its priority.
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
2022-04-07 05:11:42 +00:00
Zach Johnson
3ed0308046 Merge changes from topic "bluetooth-certificate-change" into tm-dev
* changes:
  Make permissions Bluetooth needs role-available
  Adding bt permissions to the priv app allowlist
2022-04-07 00:45:21 +00:00
Tyler Lacey
4eaf39219b When adding overlay to a task, emit an immediate inset update
Test: Manual testing no longer reproduce b/227202029
Bug: 227202029
Change-Id: I73dd21e027c5fff66185f03d3ffd4e2f4b3f61fb
2022-04-06 13:41:11 +00:00
Peiyong Lin
a2df99e5eb Merge "Allow Shell to have permission for CTS." into tm-dev 2022-04-05 02:23:55 +00:00
Roopa Sattiraju
0928332272 Adding bt permissions to the priv app allowlist
BUG: 226403247
Test: build and boot
Change-Id: I5dbe5c4a17675ee8ac6c8f24ba53b05c26c17898
2022-04-04 16:19:54 -07:00
Hui Wu
b061e2e60e Merge "Adds more roles to the protectionlevel" into tm-dev 2022-04-01 21:50:00 +00:00
Hui Wu
b20414b8bd Adds more roles to the protectionlevel
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
2022-04-01 14:25:26 -07:00
TreeHugger Robot
97dabec966 Merge "Move out PermissionController allowlist entries" into tm-dev 2022-04-01 19:39:20 +00:00
Vadim Caen
a28e989921 Merge "Some cleanup logging and test for back navigation" into tm-dev 2022-04-01 15:57:59 +00:00