TouchInteractionService cannot be garbage collected until it has been cleared from the sysui process. Switching to use a WeakReference to help with garbage collection.
Flag: not needed
Bug: 283490010
Test: ran launcher and performed gestures
Change-Id: I37aa5f858f2ae0ac78b46478ab4c5f24770bd64f
During each app launch, a new `MyDepthController` is instantiated, which
registers two of its methods as listeners for cross window blur and
opaqueness. This controller's usefulness spans that specific animation
only, but the listeners are never unregistered. This creates conflicts
when an opaqueness signal happens, which cause the background to flicker
(see videos).
Bug: 283335820
Test: manual, see videos in the bug
Flag: not needed, bug fix
Change-Id: I3dcb0b8ff0aa77bf3183a926889d0131b17bcaa4
1. if a 'ViewScaleTargetProvider' is being used, this can cause a crash
2. otherwise, the old border bounds are reapplied, which is likely no longer correct
Updated BorderAnimator to use 'BorderAnimationParams' rather than 'ViewScaleTargetProvider'. This removes some unnecessary null checks while making the util class simpler to use. It also allows us to listen for specific view events for the border animation.
Flag: ENABLE_KEYBOARD_QUICK_SWITCH
Fixes: 283272516
Test: opened the keyboard quick switch view and highlighted a view in recents view, then rotated the screen several times
Change-Id: I7959d6cd892ebcdd2c68163dd56c358815494af6
Divider should hide immediately when going to launcher, this fix
the divider hidden delay in 3-btn-nav mode.
Fix: 283058496
Test: manual
Test: pass existing tests
Change-Id: Ia4eaba8020c564cc95b8652fe0f7066b653b9df4
- Defer any UI updates to taskbar after the SUW unstash animation is created.
- Predicted app icons take longer to load, so it's possible that they are
added after the animation is created.
- This avoids the case where icons are seemingly in the taskbar but
do not get animated like the rest of the icons.
- We also need to call onAnimationStart for the reveal animation immediately,
otherwise the clipToOutline params never get set.
Bug: 277712185
Test: flash device, very quickly go through SUW
Change-Id: I4c3089da0d20bf91672e2305655c4c37b1f367aa
Widgets like Google News were blocked when they tried to start
background activities on non-Pixel devices that use Launcher3.
Bug: 281617254
Test: manual test
Change-Id: I2b68aeafd0d1dce7b37428dcada58d2648e57681
* Launching existing pair doesn't rely on any existing
data/state in SplitSelectStateController or SplitSelectDataHolder
* Consolidate launchTask*() methods in GroupedTaskView
Test: TaskThumbnailViews measured correctly, animation
correct on small+large screen, initiating split
still working
Fixes: 274540670
Flag: none needed
Change-Id: Id359f53ac5f2bba19948d4ae3231092fb90cc7c5
- Invalid params trigger an exception to be thrown when starting a
system drag
Bug: 269016702
Test: Presubmit
Change-Id: I4b1953afd72ab1c6d41f3b5b536f9578ef40d792
The border animator does not need the typed array anymore after initialization. recycling the object.
Flag: ENABLE_KEYBOARD_QUICK_SWITCH
Fixes: 282202504
Test: changed focus in quick switch view and overview
Change-Id: Iea9077e49e754894008899dfc9b90e3876b53051
Also moving various state handling to these end callbacks enstead of relying on resume
Bug: 265134143
Test: Verified that the end callback is received
Change-Id: I326a99c80154d244c0e49f678717c476602b6240
Fixes: 282056846
Change-Id: I372444684fafd246369f6bc1e77c5e6fbb651c6f
Flag: ENABLE_TRANSIENT_TASKBAR
Test: open app, then very quickly swipe to unstash taskbar
This patch makes it so that the transient Taskbar cannot unstash when in 3P launcher.
Previously, the user was able to unstash Taskbar when in 3P launcher, causing a janky-looking UI (3P launchers may implement their own version of Taskbar on the home screen. This also caused problems with certain Taskbar commands like split screen, which provide an entry portal to Pixel-specific implementations.
Fixed by forcing the Taskbar to stay stashed when a 3P Launcher is displayed. The Taskbar is still usable inside of other non-launcher apps. This was done by using TopTaskTracker to check for ACTIVITY_TYPE_HOME or ACTIVITY_TYPE_RECENTS, and disabling Taskbar when these activities are running.
Fixes: 277963491
Test: Manual
Change-Id: Ifc0f3c07e3b76eb610f93205978fbc596bab6253
This patch makes changes in various splitscreen controllers to pass userId to the new shell API, to allow same-app splitting with different users.
Fixes: 274973415
Test: Manual
Change-Id: I810b5353aad738c7c275856586b9c521f1554022