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
Without this cl, we always override animation as long as there is any
organzied TaskFragment. And users may see different animation on the
same small screen before and after they have unfold and fold.
The idea is to only register the remote handler if the app currently has
at least one split rule that can fit the current Task bounds.
When there can be split, we want to always override the animation to
make it consistent.
When there won't be any split, we want to allow app to override
animation, so they can still provide the same experience as normal phone
on small screen.
Fix: 207804116
Fix: 196173550
Test: manual test with fold/unfold
Change-Id: I3ae194f89b35afc5734338fd3bb350e0cd364c85
Without this cl, the app will crash if a TaskFragment is closing when
the new top TaskFragment doesn't contain any non-finishing activity
(which should be closed later as well).
Before, when #cleanupContainer(), we will also update the new top active
container, but we didn't check if it contain any non finishing activity.
Fix: 212355346
Test: test with Settings with three finger click
Change-Id: I26538b85f1cf8e618a3f1ee6abada5a9f77f2b16
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