- For app open, the icon text remains where it is and only the icon moves.
- Similarly for app close, the icon text remains where it is and fades in
with the rest of the other icons text.
- With this change, the original view is always "VISIBLE"
(if BubbleTextView/FolderIcon) but we hide certain elements.
Added video to bug.
Bug: 137200188
Bug: 139885365
Change-Id: I3d20c5f05bc7c0b9d052d8074ac3bfc21531c83d
Merged-In: I3d20c5f05bc7c0b9d052d8074ac3bfc21531c83d
Calling scrollToPosition on RecyclerView internally calls
requestLayout() (to cacluate where to scroll and then go there).
Therefore, we should avoid calling that whenever possible, especially
during transitions. In particular, we can optimize scrollToTop() to not
scrollToPosition() if we are already at the top.
This makes some other workarounds unnecessary, namely setting All Apps
to GONE during system gestures.
Test: Open an app, swipe up, ensure AllAppsRecyclerView doesn't get
onLayout(). If we had scrolled to an app first, we get one layout
in prepareRecentsUi(), but not during the transition.
Bug: 140308849
Change-Id: I62ee341bf5893c121cfc013cc6542559f79d2a42
We already set the all apps content visibility = GONE at the start of
the gesture to prevent relayouts, but when animating home we were
inadvertently changing it to INVISIBLE, causing a relayout and jank.
Bug: 140308849
Change-Id: I285746f8ac8f3f857282e22ebec8eebd0b98647f
Test: manual
Bug: 137777105
Log result for swiping in and out of -1 screen.
data {
elapsed_timestamp_nanos: 597609736235111
atom {
launcher_event {
action: SWIPE_LEFT
src_state: HOME
dst_state: HOME
is_swipe_up_enabled: true
}
}
}
data {
elapsed_timestamp_nanos: 597610569783111
atom {
launcher_event {
action: SWIPE_RIGHT
src_state: HOME
dst_state: HOME
is_swipe_up_enabled: true
}
}
}
Change-Id: Ic84d3c32d1c9f780f13ec5cd6320e9f1d610f018
Bug: 138964490
TL;DR;; need this to be part of QQ1 or QD1 to verify if DeviceConfig
can be supported for launcher toggleableFlags.
Not handled in this CL:
- When flag is locally modified, that will override the flag value
How that scenario is handled should be discussed separately and is not
within scope of this CL.
Change-Id: I2e6694a40bee9202ed0b0d559e3b5607634071bf
Before starting split screen animation, we dismiss the task view, which
can detach the clicked view immediately, if animations are dissabled.
That will cause NPE as view.getDisplay will be null
Bug: 138793362
Change-Id: I611f6a824f756eceeed57aac5afdf38f421ff8d2
The janky animation that ends on the home screen with an invisible
task on top is caused by the following scenario (for example):
- Quick switch from task A to task B
- After landing on B, but before we get the callback that it was
successfully launched, switch back to A (or you could go to C)
Now we are animating back to A, but we are still waiting to hear
whether B was successfully launched. If we hear that the launch
was indeed successful, we dutifully clean up after ourselves by
returning launcher to its default state. Unfortunately, that
clobbers the current animation that is scrolling back to A, and
we end up in the bad state where we are showing the default
launcher state even though we just launched task B and were
about to launch task A.
Normally we avoid cleaning up the state animation if the user
is still controlling it. The reason we weren't doing that here
is because we ended the launcher animation early even though
the window animation was still running. Instead, we should keep
the launcher animation running for the full duration, so that
it prevents a cleanup from occurring in the middle.
Bug: 138620399
Change-Id: I959e62a52638a5b974ef9b406555078c928b91f1
Now floating headers get 2 interpolators: one for the header content
itselt, and one for the all apps content that follows. That way, they
can choose to intperolate part of their content as if it were part of
all apps instead of the header. Currently, we do this to animate
predicted icons quickly, followed by the all apps icons, predictions
text, all apps scrollbar, and all apps divider as you continue swiping.
Bug: 132455160
Change-Id: Ib3e373c291e174e1306a53854d0ad4dc29eb4b76
- Refactor some basic scrim logic to Scrim class and have
WorkspaceAndHotseatScrim and OverviewScrim extend it
- Draw OverviewScrim under recents unless predictions are disabled, in
which case draw it under hotseat (since that is in recents)
- Remove sysui scrim (behind status bar and nav bar) when overview is
peeking
Bug: 132455160
Change-Id: Ia5d6f54582a4c5a70e3b2d4a98281567edd68519
Recents was being initialized but was not
marked as attached to app window. This
was causing it's animator to never make it
View.VISIBLE.
Test: Open any app
On physical keyboard press alt+tab
Observe that overview shows up
fixes: 138396234
Change-Id: I9e6c001242f4552027e79b162fb812f476823a37
- Also updating the sysui flag to home's flags when passing some
threshold
- Also ensure we don't allow swipe up when QS is open
Bug: 137196872
Bug: 135969043
Change-Id: I476eee7f02ae86aa795fceabb304bcaa7416ef9c