Before, the surface will be removed, and the children will be reparented
to root in a separate transaction when animation is done. That would
cause a flicker because the reparented children may be above the
rotation activity.
Bug: 206094140
Test: manually test expanding PIP
Change-Id: I0f16b7590d4bd0f4c377158d555cb94f28f134cd
Using WindowlessWindowManager for adding a surface wihtout depend on
Window Hierarchy, we just add leash with specific theme color at
bottom z-order while One-handed trigger, and remove it when exited.
Bug: 197165590
Test: manually test One-handed mode basic operations.
Test: atest WMShellUnitTests
Change-Id: Ie53684edd4511719516c00dd64c2dfad360a593b
- In the off chance that the controller is already invalidated (due to
service reconnection to launcher for example), then any calls through
the previous binder should just return an empty task list.
Bug: 206648922
Test: Manual (haven't been able to repro)
Change-Id: Iff6193fa89c2baecc527e589f17ae41b82575a48
Task topActivityInfo is nullable, we should check it is null or
not before access it.
Bug: 213894166
Test: pass existing tests
Change-Id: Iedda57145586b6d5c2e151308ddca1e2e36035c0
- If init() is called multiple times, the previous magnetized targets
can cause the wrong target position to be calculated when trying (or
not trying) to dismiss
Bug: 213348722
Test: Manual
Change-Id: Ic1f972cc60eafca2302ad168065c974c8a0ee924
With Shell transition, when mVisibleRequested is changed, it will wait
until the transition finish to update the isVisible(). As a result, if
there is a visible change before the previous transition is finished,
it will be skipped.
For example, when we first open a fullscreen app and then immediately
enter pip:
1. TRANSIT_OPEN will call to hide wallpaper and set mVisibleRequest to
false, but not commit visible until transition animation is finished.
2. TRANSIT_PIP will call to show wallpaper, but if it is started before
the OPEN transition is finsihed, it will not update the wallpaper
mVisibleRequested, which will leave the wallpaper hidden.
Fix: 210965575
Bug: 210965692
Test: atest WMShellFlickerTests:ExpandPipOnDoubleClickTest
Change-Id: I2578aafd024a3c9a6ec96079d4dc6cb740c890d2
We were reusing the same BubbleIconFactory for bubble icons and app
badge icons. BubbleIconFactory extends BaseIconFactory and resizes all
created icons to one size. BubbleIconFactory was configured to resize
icons to the size of bubbles as defined by bubble_size dimensions,
currently at 60dp.
Badge icon size is defined by bubble_badge_size and is currently at
24dp. Using the same BubbleIconFactory for both icons meant that we were
resizing all badge icons to be the same size as bubbles, at first. And
then, when actually using them, sizing them down again.
This change introduces a separate BubbleBadgeIconFactory with relevant
code moved from BubbleIconFactory. And mainly, it defines the icon size
as the size of the badge. Avoiding resizing.
Test: visually verified that the badge icon looks the same
Bug: 189173831
Change-Id: Ie032bbc15eb0fd3e78636796bafb05149e262850
Use short edges on the flicker tests so that the test apps cover the full screen in both raven and in flame devices. With default cutout, some assertions will need to be updated to consider the letterbox layers, as well as app windows not covering the entire display
Bug: 209935473
Test: atest FlickerTests WMShellFlickerTests
Change-Id: Iaeabe2033adc2890605bbef7bce139569f402c4b
Before, the dismissPip() is not collected in the enter PIP transition.
Now, the Task that leaving PIP windowing mode will also be part of the
TRANSIT_PIP transition.
Fix: 213300721
Test: manual test with two Pip apps
Change-Id: Iaab34a7969ff4cb5d9768754d643d5f32913f57a
The layer of wallpaper should always be at the bottom. Otherwise other
windows below it will be invisible during a transition animation.
Also put the same usages of CounterRotator to a new helper class.
Bug: 206094140
Test: adb shell setprop persist.debug.shell_transit 1; reboot
atest com.android.server.wm.flicker.launch.OpenAppWarmTest
Or use shell command "am start" to launch a landscape
activity while wallpaper is visible in portrait.
Change-Id: Ia78450af45185782ce2268393e2a8b6bb8b4c794