Previously, the following would cause the All Apps panel to appear
in NORMAL state:
1. Start dragging to all apps
2. During the drag, something sets Launcher to NORMAL
3. Release finger -> animation to all apps completes, but state
is still NORMAL
Side effects of this:
- On large screens, All Apps draws its background on Launcher's
ScrimView only if the current state is All Apps. So in this
case, the apps just floated above the workspace.
- On handheld, touches are handled by workspace even though you
can see the All Apps list. So e.g. if you swipe down, the
notification shade appears rather than all apps panel hiding
(although it seems this touch issue was addressed separately).
I'm not sure if this is the main/only case of this state mismatch
happening, but verified with local async state changes that this
could in theory happen. We haven't been able to organically repro
the bug reliably. That being said, it feels plausible that a well
timed screen lock during the all apps transition could also hit
this case.
Demo videos with hard-coded state change to NORMAL 2 seconds after
you start swiping up to all apps (note I release my finger at the
end of each video):
https://drive.google.com/drive/folders/1ul8ep9N2M5oc6ZSbf_ZHQwp9IwTpz7GB?resourcekey=0-4LAufl0rkvtjvgZC0L-eMQ&usp=drive_link
Bug: 239394946
Bug: 331600490
Test: Manual with local async launcher state changes
Flag: NA
Change-Id: I6364dbde8aea67f5d1c525edf57ed7eb26096cf9
This change will let us move from activity to other parent views for recent views.
Summary: In prep for new recentsview containers outside of activity we needed to decouple recentsview from activity and state.
This change will let us move from activity to other parent views for recent views.
Test: Built and tested locally for 1p and 3p launchers on tablet, and portrait modes. Verified working functionality.
Bug: 292269949
Flag: NONE
Change-Id: I5c72745f438d466362ece988c35a97d829e9c1b4
* We weren't specifying an animation duration for the
dismiss placeholder animation, and it wasn't inheriting
from the animatorSet since that didn't have any duration
set on it.
* Now we explicitly set a duration (usually matching that of
the current launcher state config) to the timings line up
well
Test: Repro steps don't show bug. Also tested on large screen dismissing
contextual split from overview and home, seems fine
Fixes: 314860754
Change-Id: I701e4f88c1ddd92561da4fb76715a859f587c91e
This fixes the bug where the flag gets set when user taps on nav handle, which
results in the taskbar animation playing.
Flag: N/A
Test: open app
wait for taskbar to finish stashing*
tap on nav handle
nothing happens (desired affect)
* I will address tapping on taskbar while its animating in a separate change
Bug: 292108880
Change-Id: I75870050225bdd951c69224d272d0bd5a3d6d4ea
- This is a follow-up of http://ag/17636490
- Introduced animation property specifically for pullback translation and alpha, which will invoke getRecyclerViewContainer directly on tablet, and invoke aggregate setter of appsView on phones
- Delay reset of pullback animation to after dismiss animation to avoid jump in value during state transition animation
- Introduced property factory for addictive properties similar to MultiScalePropertyFactory
Fix: 220345008
Test: manual on small and large screen
Change-Id: I7b5c0019c1d4d36c3c7ca4ec79e38e4eb09c32ca
We maintain a cached task queue using TaskStackChangeListener.
It keeps the top RunningTaskInfo partially in sync with platfrom:
taskInfo is only initialized when the top task changes
but not when there are changes within the task itself.
Bug: 214581894
Bug: 220742398
Test: Manual and presubmit
Change-Id: Ifafde574040c03435b78f044350c45f3b49c4bcb
- In tablet, only animate recyclerView on pullback to be consistent with widget bottom sheet, and avoid showing a gap below mAppsView
Fix: 220345008
Test: manual on small and large screen
Change-Id: I1f7d03b6bd16af7a91a51a0985ef163d9e365261
- Previously we rely on whether launcher is resumed as a signal to see what "toggle" means. This no longer works since launcher is not resumed in Overview. Instead, we need to check the live tile signals.
- Use screenshot doesn't propagate after setting a new current task. So followed the logic around mRunningTaskIconScaledDown to work it out.
- Get rid of NavigationModeFeatureFlag, pending on 3rd party launcher change ag/14409355
Fixes: 185934639
Test: (1) Toggle overview from home screen and toggle back to fullscreen. (2) Toggle overview from app and keep toggling.
Change-Id: Iffaea18afb2179b5bb7dadda49e56efefa5658bc
> Merging overview and all-apps scrims into a single View
> Decoupling TaskMenuView from taskView
Bug: 184676497
Test: Manual
Change-Id: I49f7249eaa2a800054385ab8e73a441d6a1b5e16
3 Button mode doesn't use recents animation so live tile would not work on 3 button mode before migration to recents animation happens.
Bug: 169694902
Test: manual
Change-Id: I9574c624f3d220834fa18e910637cd64460adb0c
- In fake portrait, fade out instead of translating offscreen, as
the orientation doesn't map to where RecentsView actually lives
- From OverviewModalTaskState, start from > 1 scale, and use
OverviewToHomeAnim (to ensure RecentsView doesn't fade out etc)
- To keep parameter list sane, added RecentsParams to
AnimatorControllerWithResistance which has the new startScale
(set to current scale for modal state) and renames the old
RecentsParams to RecentsResistanceParams. Sorry if that's
confusing.
Bug: 144170434
Change-Id: I437f0d18cad4c94feea25954aed3390acedcaed5
Animating this new property allows us to adjust the scrim without
competing with other state animations that could be setting the
scrim progress. Also reset scrimMultipler = 1 for state transitions.
Test: Swipe from home to overview, then during that transition swipe
from overview to home; when the former transition ends while the
second is still in progress, ensure scrim value doesn't jump
Bug: 144170434
Change-Id: I44b57ced1c6902e558fe1818bcbf11ceb4ff2f6f