Sync split dismiss anim scrim fadee timing with taskbar to home anim duration

* We sync the scrim fade with the taskbar animation duration
to avoid any flickers fortaskbar icons disappearing before hotseat
icons show up.
* Layer wise taskbarIcons > scrim > hotseat
as taskbarIcons are translating into place, the frame where they fade out
the scrim should also fade out so they get seamlessly replaced by hotseat icons
* In our case the scrim was staying on too long so the scrim would show before
the hotseat, making it look like a flicker.
* Now we fade away the scrim sooner

Bug: 318747712
Test: Flicker no longer occurs
Flag: None
Change-Id: I779af1826ee55bfcbced3e972f14f5f299e9aaeb
This commit is contained in:
Vinit Nayak
2024-01-09 20:09:13 -08:00
parent 8424eed91a
commit 9efb2fb0a0
@@ -110,10 +110,13 @@ public class QuickstepAtomicAnimationFactory extends
clampToProgress(LINEAR, 0, 0.33f));
}
// We sync the scrim fade with the taskbar animation duration to avoid any flickers for
// taskbar icons disappearing before hotseat icons show up.
float scrimUpperBoundFromSplit = TASKBAR_TO_HOME_DURATION / (float) config.duration;
config.setInterpolator(ANIM_OVERVIEW_ACTIONS_FADE, clampToProgress(LINEAR, 0, 0.25f));
config.setInterpolator(ANIM_SCRIM_FADE,
fromState == OVERVIEW_SPLIT_SELECT
? clampToProgress(LINEAR, 0.33f, 1)
? clampToProgress(LINEAR, 0.33f, scrimUpperBoundFromSplit)
: LINEAR);
config.setInterpolator(ANIM_WORKSPACE_SCALE, DECELERATE);
config.setInterpolator(ANIM_WORKSPACE_FADE, ACCELERATE);