This reverts commit 0dc147eeee.
Before, when we are in ActivityEmbedding split, the TaskFragment
windowing mode is always set the WINDOWING_MODE_MULTI_WINDOW, which
overrides the activity windowing mode, and it causes the app process
unaware of the Task windowing mode. Now, when the Task is multi
windowing mode, we set the TaskFragment windowing mode to the same as
the Task.
Bug: 230446204
Change-Id: I61b0857c551e6fd4ee9a544b63a3a2c20e291fab
Test: atest WMJetpackUnitTests:JetpackTaskFragmentOrganizerTest
Test: atest WMJetpackUnitTests:TaskContainerTest
This reverts commit 0522842a34.
Reason for revert: Breaking PlatformScenarioTests Tests due to NPE
Bug: 230793322
Change-Id: Ib6a9a1b7fb1c95681fc7a1bb959da5618b840f16
The screenshot animation must know whether the screenshot contains HDR
layers so that it can correctly inform SurfaceFlinger whether its layer
can be dimmed.
This is due to the interplay of the following:
1. Devices are now able to configure DisplayManager to send
significantly lower SDR white points relative to display brightness
to SurfaceFlinger when HDR is simultaneously on-screen.
2. AIDL composer is required to support per-layer dimming, so that SDR
layers may be dimmed to preserve the relative luminance of HDR video
content.
3. Because the screenshot does not contain an HDR transfer function,
SurfaceFlinger will treat the layer as SDR, and attempt to dim it.
4. Screen rotations containing HDR layers must request SurfaceFlinger to
present the rotated screenshot at display brightness, to override
(3) above. Otherwise, HDR content captured in the screenshot will
suddenly dim during the rotation animation.
5. Also due to (3), DisplayManager no longer thinks that there is HDR
content on screen, so a prior patch treated layers that requested to
to be dimmed to be reported as HDR
(I1d1b0dcaf230300ca34b84ea407d0817feb2c664). Otherwise, the display
brightness will decrease during the animation and ramp back up
afterwards.
6. But because of (5), screenshots that only contained SDR layers were
incorrectly treated as HDR, which caused the display brightness to
ramp up during the animation.
This patch fixes (6) by allowing for the screenshot animation to learn
whether the screenshot contains HDR layers, and request dimming
capabilities accordingly.
Bug: 230068567
Test: screen rotation
Change-Id: I6bbb2433f976e368bfe2c04e084e110cfb551c15
Remove app-pair flicker tests from presubmit and mark them with @Ignore
since app-pair is not currently used but kept in codebase for backup.
Fix: 223076688
Fix: 226869067
Fix: 214190843
Fix: 200778092
Fix: 200777653
Test: atest WMShellFlickerTests
Change-Id: I328d87f87bf9c5f01d86474b850d7d3056aa3ed9
Wrong container size causes some icon to be cropped. Set the icon size specified by spec as the container size to correct it.
Bug: 228928242
Bug: 229954549
Test: Manual resize the split and check the icon on both phone and large
screen device.
Manual drag to split and check the icon on both phone and large
screen device.
Change-Id: I556f2c1a44852439242a16a6216121036b8aed5e
Before, when we are in ActivityEmbedding split, the TaskFragment
windowing mode is always set the WINDOWING_MODE_MULTI_WINDOW, which
overrides the activity windowing mode, and it causes the app process
unaware of the Task windowing mode. Now, when the Task is multi
windowing mode, we set the TaskFragment windowing mode to the same as
the Task.
Bug: 230446204
Test: atest WMJetpackUnitTests:JetpackTaskFragmentOrganizerTest
Test: atest WMJetpackUnitTests:TaskContainerTest
Change-Id: Id78a86359297c0c225043b14844441445711f89d
Default focus should be on primaryActivity when a placeholder is shown.
This is a short term improvement as focus navigation works from primary
to secondary but not in reverse.
Fix: 229138140
Test: atest WmTests:TaskFragmentOrganizerControllerTest
Change-Id: Ic4e2280e4b37a8fa04fc532245a5d0cfa4e5e012
Revert "Use new onStartSplitLegacy when starting split from overview"
Revert submission 17779173-startSplitLegacy
Reason for revert: Broken build: b/230129218
Reverted Changes:
I01590e53c:Remove check for preventing re-parenting non-split...
I696749f76:Use new onStartSplitLegacy when starting split fro...
Change-Id: I754bc308f37eea2fc50eda2b9df068adf711a268
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
When changing the display (e.g. foldables that fold/unfolds) while the
menu is showing, it seems the SF layers go through some changes that get
the menu in a bad state and no longer renders correctly. Just teardown
and recreate/re-attach the menu instead.
Bug: 218987352
Test: Unfold/fold device while menu is showing, menu still shows up
afterwards
Change-Id: I4255191c3298cf663b6a0428ece6f34fd96ff3a6
Before, before TaskFragment appeared, the getTopNonFinishingActivity may
be null, and throw exception for no bounds found.
Now, make sure we always have Task bounds stored.
Bug: 228885031
Test: atest WMJetpackUnitTests:SplitControllerTest
Test: atest WMJetpackUnitTests:TaskContainerTest
Change-Id: I3744813a85f24941563c8ff8f284b2e45396f906
To use this new custom close action on Phone
- We expect app providing actions via
PictureInPictureParams.Builder#setActions as they normally do
- We also expect app providing a custom close action via
PictureInPictureParams.Builder#setCloseAction
- The custom close action is used on Phone only if it matches one of the
actions listed in setActions (by comparing the PendingIntent)
SysUI will render the custom close action with a highlighted background
and ensures the PiP dismisses after certain timeout if the app fails to
respond in time.
Video: http://recall/-/aaaaaabFQoRHlzixHdtY/fR0hxeorlYrxXyzfZ02btK
Bug: 223896879
Test: see video
Change-Id: I65c585ae3224061311e476753bc4c72f00c4fa33
In current desgin, the confgis for cutout and rounded corner are based
on the original display size. If the display resolution is overridden,
cutous and rounded corners will be drawn in incorrect places with
incorrect size.
We should load the cutout & rounded corners with the orignal display
size and then scale the results with the display ratio which is
calculated by dividing current size with original size.
Bug: 209592558
Test: manual:
1. Go Settings-> Display-> Screen Resolution
2. Switch between FHD+ and QHD+
3. Check if the cutout and rounded corner looks the same as they
are in the original display size.
Test: manual:
1. adb shell wm size 1080x2340
2. Check if the cutout and rounded corner looks the same as they
are in the original display size.
Test: atest DisplayCutoutTest LocalDisplayAdapterTest
ScreenDecorationsTest RoundedCornerResDelegateTest
Change-Id: Iea42b73c0276b82983c1ddbce9455355afdc164d
When a task no longer supports multi-window, we should dismiss split
to the task so users can continue interacting with the task to prevent
bad UX. We should exit split and extand the side
NoLongerSupportMultiWindow let user could interact continuously.
Fix: 221255438
Test: manual
Test: pass existing tests
Change-Id: Iae61d821028755dcca96edb904912495b268bf8c
Merged-In: Iae61d821028755dcca96edb904912495b268bf8c