Fix the regression from ag/17523158 that the PipParamsChangedForwarder
instance in unit test is null. Added also the check that
PipParamsChangedForwarder does dispatch the aspect ratio change.
Bug: 231134850
Test: atest WMShellUnitTests:PipTaskOrganizerTest
Change-Id: I1161646babaf974d7beca2889805672d68adf5bf
Refactor codes using DynamicAnimation Animation handler api codes
for following up Androidx codes changes.
Change needed to support AndroidX platform prebuilts, which include changes that fix a severe accessibility bug and setting.
Bug: 167382784
Bug: 221303983
Test: build
Change-Id: Ie75cc4068fa0b49816756650e900b7943f6c97d2
Merged-In: Iaa0e787675f53ac16cf61f2d2b6adae02ab55623
This avoids stretching the content - the content will only be shown
again once it has been redrawn by the app for the new ratio.
Content should stay visible during the enter and move animation, i.e.
whenever the ratio stays the same.
Bug: 230741005
Test: manual - enter PiP, change aspect ratio, expand, move
Change-Id: Ie95f4a480a622c7403f342e0ac25660fd2af197f
- Save focused button when moving and changing orientation (e.g. during
expanded mode being toggled)
- Focus the first button when the menu is opened
- Makes sure all buttons are visibly reachable by setting the right
gravity based on orientation and whether all the buttons fit
- Scrolls to the focused button if it happens to go out of bounds during
any change
- Fade buttons out and in during orientation change
- Scale buttons to 1.1x when selected
- Fix move button description (typo in resource reference)
Bug: 220109276
Bug: 219887361
Test: manual
Change-Id: Ibe1b2ee3e505bd218c49f6cd0cbcbf7956452b26
Before, there were two paths for listening to pip params changes, either
via onTaskInfoChanged (only handle aspect ratio changes the same way for
all form factors) and PinnedTaskListener.
Now all PiP params changes are handled in onTaskInfoChanged and use
similar listeners to allow for different behavior for different form
factors.
Also adds a TvPipTaskOrganizer so that only relevant params are checked.
Bug: 218456378
Bug: 220042536
Bug: 228854691
Test: atest PinnedStackTests
Change-Id: I673ab69ee9253db782c41da96695b5a374345086
Refactor codes using DynamicAnimation Animation handler api codes
for following up Androidx codes changing.
Copied from ag/17010932
Bug: 167382784
Bug: 221303983
Test: build
Change-Id: Iaa0e787675f53ac16cf61f2d2b6adae02ab55623
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
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