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
When entering PIP while there is an ongoing collecting transition, the
PipTransition won't set the PIP window to the correct state.
Bug: 210965919
Test: atest WMShellFlickerTests:SetRequestedOrientationWhilePinnedTest
Change-Id: I3a68dc16886f239434e2b5ff220f83a6079140ee
Sometimes we need to show the app badge without any markings for
priority conversations. For example in case of the manage menu.
As we include the priority ring in the app badge icon itself, add
another app badge icon to bubble data that does not include the priority
ring - raw app badge.
Change-Id: Ib472519d9bec5cdd09d7559e4dad2ee5e5f71b50
Test: verified that priority conversation bubble has ring around app
badge and no ring in manage menu
Bug: 189173831
Change-Id: I276e110ece40bf394f58da9acc3d0ecd09cf5afc
Rotate and expand the PIP window for Shell transition.
Use CounterRotator to show the windows behind in their previous
orientation.
Bug: 210965919
Test: test a pip fix-orientation app with Shell transition
Change-Id: I5de7751a47a06ad2b73137e1e85ca756983c9612
Before, we only setActivityWindowingMode when exit PIP. It won't
request display rotation nor update the visibility of other activities
behind, which will result the EXIT_PIP transition won't actually rotate
the display, and will follow by another CHANGE transition for the
rotation.
Bug: 210965919
Test: pass existing
Change-Id: I402449fddc1ddcd4c876489b5fb96a2a599baa1d
Add 2 CUJs for one handed mode transition
1. ONE_HANDED_ENTER_TRANSITION
2. ONE_HANDED_EXIT_TRANSITION
- [STATE_ENTERING] Detect swipe down gesture: Begin of enter CUJ
- [STATE_ENTERING] Tap shortcut to trigger: Begin of enter CUJ
- [STATE_ACTIVE] Transition end of enter: End of enter CUJ
- [STATE_EXITING] Detect swipe up gesture: Begin of exit CUJ
- [STATE_EXITING] Tap shortcut to exit: Begin of exit CUJ
- [STATE_NONE] Transition end of exit: End of exit CUJ
Test: see trace in comment
Bug: 201032904
Change-Id: I29258a1bbbe567c935d467621a85fbdfe2397d54