Fix icon flash on app launch

Flag: com.android.launcher3.enable_additional_home_animations
Fixes: 343051344
Test: temp logs, launched apps from home, quickly swiped home while quick switching
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:9fb1f8043573d5bc3376f0786354fc8f7a9cf2cd)
Merged-In: I91071d53f753eb7bc99305c46241de203bcfdc98
Change-Id: I91071d53f753eb7bc99305c46241de203bcfdc98
This commit is contained in:
Schneider Victor-tulias
2024-06-12 13:46:35 -04:00
committed by Android Build Coastguard Worker
parent 40c4382060
commit cb2a1474a7
4 changed files with 28 additions and 8 deletions

View File

@@ -17,6 +17,7 @@ package com.android.quickstep;
import static com.android.app.animation.Interpolators.ACCELERATE_1_5;
import static com.android.app.animation.Interpolators.LINEAR;
import static com.android.launcher3.Flags.enableAdditionalHomeAnimations;
import static com.android.launcher3.PagedView.INVALID_PAGE;
import android.animation.Animator;
@@ -449,7 +450,7 @@ public abstract class SwipeUpAnimationLogic implements
float alpha = mAnimationFactory.getWindowAlpha(progress);
mHomeAnim.setPlayFraction(progress);
if (mTargetTaskView == null) {
if (!enableAdditionalHomeAnimations() || mTargetTaskView == null) {
mHomeToWindowPositionMap.mapRect(mWindowCurrentRect, currentRect);
mMatrix.setRectToRect(mCropRectF, mWindowCurrentRect, ScaleToFit.FILL);
mLocalTransformParams
@@ -464,10 +465,15 @@ public abstract class SwipeUpAnimationLogic implements
mLocalTransformParams.applySurfaceParams(
mLocalTransformParams.createSurfaceParams(this));
mAnimationFactory.update(
currentRect, progress, mMatrix.mapRadius(cornerRadius), (int) (alpha * 255));
if (mTargetTaskView == null) {
mAnimationFactory.update(
currentRect,
progress,
mMatrix.mapRadius(cornerRadius),
!enableAdditionalHomeAnimations() || mTargetTaskView == null
? 0 : (int) (alpha * 255));
if (!enableAdditionalHomeAnimations() || mTargetTaskView == null) {
return;
}
if (mAnimationFactory.isAnimatingIntoIcon() && mAnimationFactory.isAnimationReady()) {
@@ -506,7 +512,7 @@ public abstract class SwipeUpAnimationLogic implements
public void onAnimationStart(Animator animation) {
setUp();
mHomeAnim.dispatchOnStart();
if (mTargetTaskView == null) {
if (!enableAdditionalHomeAnimations() || mTargetTaskView == null) {
return;
}
Rect thumbnailBounds = new Rect();
@@ -521,7 +527,7 @@ public abstract class SwipeUpAnimationLogic implements
}
private void setUp() {
if (mTargetTaskView == null) {
if (!enableAdditionalHomeAnimations() || mTargetTaskView == null) {
return;
}
RecentsView recentsView = mTargetTaskView.getRecentsView();
@@ -542,7 +548,7 @@ public abstract class SwipeUpAnimationLogic implements
}
private void cleanUp() {
if (mTargetTaskView == null) {
if (!enableAdditionalHomeAnimations() || mTargetTaskView == null) {
return;
}
RecentsView recentsView = mTargetTaskView.getRecentsView();

View File

@@ -35,6 +35,7 @@ import static com.android.launcher3.AbstractFloatingView.TYPE_REBIND_SAFE;
import static com.android.launcher3.AbstractFloatingView.TYPE_TASK_MENU;
import static com.android.launcher3.AbstractFloatingView.getTopOpenViewWithType;
import static com.android.launcher3.BaseActivity.STATE_HANDLER_INVISIBILITY_FLAGS;
import static com.android.launcher3.Flags.enableAdditionalHomeAnimations;
import static com.android.launcher3.Flags.enableGridOnlyOverview;
import static com.android.launcher3.Flags.enableRefactorTaskThumbnail;
import static com.android.launcher3.LauncherAnimUtils.SUCCESS_TRANSITION_PROGRESS;
@@ -4523,6 +4524,9 @@ public abstract class RecentsView<CONTAINER_TYPE extends Context & RecentsViewCo
* than the running task, when updating page offsets.
*/
public void setOffsetMidpointIndexOverride(int offsetMidpointIndexOverride) {
if (!enableAdditionalHomeAnimations()) {
return;
}
mOffsetMidpointIndexOverride = offsetMidpointIndexOverride;
updatePageOffsets();
}