From ee6a99b798dff4fc02fdd59692d2a5b02027253e Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Tue, 25 Oct 2022 19:25:47 +0100 Subject: [PATCH] Update pullback animation to use reset FloatProperty for non-active state Fix: 246733229 Test: Change display between phone and tablet, use home gesture in AllApps Change-Id: I20bdef9dcf9a60475f482261501ad39106b8b107 --- .../allapps/AllAppsTransitionController.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/src/com/android/launcher3/allapps/AllAppsTransitionController.java index 624cfc2215..05c9905f5a 100644 --- a/src/com/android/launcher3/allapps/AllAppsTransitionController.java +++ b/src/com/android/launcher3/allapps/AllAppsTransitionController.java @@ -76,6 +76,8 @@ public class AllAppsTransitionController } }; + private static final float ALL_APPS_PULL_BACK_TRANSLATION_DEFAULT = 0f; + public static final FloatProperty ALL_APPS_PULL_BACK_TRANSLATION = new FloatProperty("allAppsPullBackTranslation") { @@ -92,12 +94,18 @@ public class AllAppsTransitionController public void setValue(AllAppsTransitionController controller, float translation) { if (controller.mIsTablet) { controller.mAppsView.getActiveRecyclerView().setTranslationY(translation); + controller.getAppsViewPullbackTranslationY().setValue( + ALL_APPS_PULL_BACK_TRANSLATION_DEFAULT); } else { controller.getAppsViewPullbackTranslationY().setValue(translation); + controller.mAppsView.getActiveRecyclerView().setTranslationY( + ALL_APPS_PULL_BACK_TRANSLATION_DEFAULT); } } }; + private static final float ALL_APPS_PULL_BACK_ALPHA_DEFAULT = 1f; + public static final FloatProperty ALL_APPS_PULL_BACK_ALPHA = new FloatProperty("allAppsPullBackAlpha") { @@ -114,8 +122,12 @@ public class AllAppsTransitionController public void setValue(AllAppsTransitionController controller, float alpha) { if (controller.mIsTablet) { controller.mAppsView.getActiveRecyclerView().setAlpha(alpha); + controller.getAppsViewPullbackAlpha().setValue( + ALL_APPS_PULL_BACK_ALPHA_DEFAULT); } else { controller.getAppsViewPullbackAlpha().setValue(alpha); + controller.mAppsView.getActiveRecyclerView().setAlpha( + ALL_APPS_PULL_BACK_ALPHA_DEFAULT); } } }; @@ -232,8 +244,8 @@ public class AllAppsTransitionController builder.addEndListener(success -> { // Reset pull back progress and alpha after switching states. - ALL_APPS_PULL_BACK_TRANSLATION.set(this, 0f); - ALL_APPS_PULL_BACK_ALPHA.set(this, 1f); + ALL_APPS_PULL_BACK_TRANSLATION.set(this, ALL_APPS_PULL_BACK_TRANSLATION_DEFAULT); + ALL_APPS_PULL_BACK_ALPHA.set(this, ALL_APPS_PULL_BACK_ALPHA_DEFAULT); // We only want to close the keyboard if the animation has completed successfully. // The reason is that with keyboard sync, if the user swipes down from All Apps with