A recurring class of null pointers are caused by using views with no view root implementation in SurfaceTransactionApplier from QuickstepTransitionManager. This can happen when we use launcher views after it has been destroyed.
- No longer using mDragLayer in getFallbackClosingWindowAnimators; simply applying the transaction immediately.
- Forcefully using getFallbackClosingWindowAnimators when launcher is destroyed.
Flag: not needed
Bug: 278833389
Test: launches and closed several apps in 3-button and gesture nav mode
Change-Id: I83b3aec1488fe9666bd0301a6044a181bb05dbdd
Adds a method to call into WMShell to set the listener and
indicate when a bubble is shown or when the expanded state
changes.
BubbleBarController sets or clears out the listener.
BubbleBarViewController calls SystemUiProxy when bubbles are shown
or when the expanded state changes.
Bug: 253318833
Test: manual, with other CLs, see go/bubble-bar-tests
Flag: WM_BUBBLE_BAR
Change-Id: I2364b9bbdea237fc268b0999d9c896585c194a86
Additionally, this CL fixes some touchable insets issues with the
overlay window. Dragging and dropping is now reliable from taskbar while
All Apps or EDU is also open.
Change-Id: Ia612c1b5266a8fb2b7005a773fbd2b00ec4824db
Bug: 279465803
Bug: 275890048
Bug: 264463659
Flag: PERSISTENT_TASKBAR_OVER_TASKBAR_ALL_APPS (Teamfood)
Test: Taskbar is functional over All Apps and EDU.
- Context: With shell transitions, the launch of a new task is merged
into the same recents transition that is running, which means that it
does not run as its own independent transition (this probably needs
to be addressed in the transitions level somehow)
- Given the above, if there is somehow no running task id, then we still
need to rely on the next task appeared to trigger the flush of the
callback list (since the animation will not run to flush that callback)
Bug: b/255851262
Test: Manually simulate getRunningTaskViewId() == 1 and verify
Change-Id: I778f22fa59cb1620781f7aa442d244793352d74e
Signed-off-by: Winson Chung <winsonc@google.com>
...so reveal animation can blend with the launching target.
Bug: 279785569
Test: manual, rotate device, launch app from quick switch.
Verify launcher surface isn't opaque so app window can blend with
reveal animation.
Change-Id: I46b0652fd14ff66b681a9212608c13fe4ec50eb3
Sandbox Mode for the gesture navigation tutorial is unused in both the
current and redesigned versions of the tutorial, and can therefore be
removed.
Flag: N/A
Fix: 280641779
Test: Manually went through both versions of the tutorial on handheld,
foldable, and tablet devices
Change-Id: I2f6db47df0fa39458d17221f24827eb43e2cae31
For large scaling configurations, the tooltip height can exceed the
available space, which can truncate important content such as the "Done"
button. To mitigate this issue, we should attempt to increase the width
of the tooltip to hopefully free up some height due to the text taking
up fewer lines.
To support dynamic width, each EDU column gets an equal weight in the
ConstraintLayout, but the lottie animations are still constrained to
their original dimensions. If they fill the width, their aspect ratio
will be maintained and we will still have height issues.
Demo: https://screenshot.googleplex.com/6jV6geJFzCYtQ6v.png
Test: Manual (transient and persistent)
Fix: 278761297
Change-Id: I8cc0c4260caef747378954225d8635b2fb8eef52
overridden
Bug: 280585150
Test: flashed device, and verified along with other changes in this
topic
Flag: ENABLE_DREAM_TRANSITION
Change-Id: Ic62ab51e0b95253127aa0c4fc8a4ea613afafaa3
Starts unfold animation in Launcher right after receiving
configuration change for the unfolded screen.
This makes sure that before we unblock the screen we
have the first frame of the unfold animation ready
in Launcher (transformations are applied).
Bug: 271099882
Test: atest com.android.systemui.unfold.util.PreemptiveUnfoldTransitionProgressProviderTest
Test: manual testing fold/unfold, checking perfetto traces
Test: test with flag enabled/disabled
Change-Id: Icb8f91f9264248600d4bed14811445f50aac99c7
More details at "Log Startup Latency" section in go/launcher-startup-latency
Test: tested on phone, foldable and tablet, print latency logs in logcat
Bug: 278092752
Change-Id: Ibf269b0ecd6007d29b95e36f65ab6f02c45deb3a
This effectively means the active app is paused as soon as you
start going to Recents, which allows us to control the IME for
the transition to all apps.
Bug: 275132633
Test: Manual
Flag: ENABLE_ALL_APPS_FROM_OVERVIEW
Change-Id: Ie3edaf8b6c36e50071de4692c0c8c45e7e393833
- Wait for the shell drop target to be made visible and drawn before
attempting to continue with the drag gesture
Bug: 234653212
Test: atest NexusLauncherTests
Change-Id: Ida851343873b51288460f25bba062f29019005d4
Fixed a NPE and added some null checks for mRecentsView. These NPEs can happen if the launcher is destroyed unexpectedly.
Flag: not needed
Fixes: 279738827
Test: ran launcher and tested some gestures
Change-Id: I9c32e22a13d950346ce705ba3a6f11dd3f1da87f
The Assistant gesture tutorial is unused in both the current and
redesigned gesture nav tutorials and can be removed. Left in, its
detections of gestures are leading to bugs with the tutorial.
Additionally, this change adds in error checking for side swipes in the
overview tutorial.
Flag: ENABLE_NEW_GESTURE_NAV_TUTORIAL
Fix: 280115831
Fix: 261239858
Fix: 278926113
Test: Manually went through both versions of gesture tutorial on
handheld, foldable, and tablet devices
Change-Id: Ie481d92ede2c2ab16ce2b3d1f729f6cb88f1b4c0
* SplitSelectDataHolder contains logic for knowing how
to launch split, separate from the actual API calls to launch split
Flag: ENABLE_SPLIT_LAUNCH_DATA_REFACTOR
Bug: 279494325
Test: Tested w/ all 6 types of launches noted in
SplitSelectDataHolder#@SplitLaunchType.
Also checked to make sure most-recent running tasks are
still being used where applicable.
Change-Id: I8114f87e9956b100622c80f578e291937ed4eeac
Now we base it on the current tappableElement insets, which will only be
> 0 for the unstashed, persistent taskbar which draws rounded corners.
This inset also stays stable during temporary stash transitions such as
when the IME is showing.
Flag: ENABLE_TRANSIENT_TASKBAR=true, ENABLE_TASKBAR_PINNING=true
Test: in split screen for both transient and pinned (persistent)
taskbar, ensure split screen divider bottom is drawn appropriately
Fixes: 278028503
Change-Id: Iab56c5dc8f9fc81c34aa01f41b5212dd5c6fd7f0
If the listeners would modify the listener list in the widget holder, this would cause a ConcurrentModificationException.
Fix: 275100497
Test: N/A
Change-Id: I3ae0e92db71f1c21d35dbf391dfcb92b46dd30f1
This change introduces tokens for the lottie animations so that the
colors can be changed. In this change, the home gesture tutorial colors have
been updated to match the updated design at http://shortn/_VvbigpP0ys
Flag: ENABLE_NEW_GESTURE_NAV_TUTORIAL
Bug: 279823249
Test: Manually went through the tutorial on handheld, foldable, and tablet
Change-Id: Id2270cea41345e8f4d330097e10a7dae2b00032a
Pass in the display id when asking wmshell to show desktop apps or when
querying the number of visible desktop tasks.
Bug: 278084491
Test: open some apps on the desktop, swipe up to recents, tap the
desktop tile to open desktop again
Change-Id: Ia7328613244a1aa401e0e4792bc747a4b99b412d