diff options
author | Tony Wickham <twickham@google.com> | 2019-08-30 14:16:35 -0700 |
---|---|---|
committer | Tony Wickham <twickham@google.com> | 2019-08-30 22:10:55 +0000 |
commit | 7310bb4b5cef0a6c8d1cf52687a336e498309013 (patch) | |
tree | e124246846d0e547c2b52c657272bea322551be4 /src/com/android/launcher3/allapps | |
parent | ce78e16884cf960deb7718add672e37eab853e4f (diff) | |
download | android_packages_apps_Trebuchet-7310bb4b5cef0a6c8d1cf52687a336e498309013.tar.gz android_packages_apps_Trebuchet-7310bb4b5cef0a6c8d1cf52687a336e498309013.tar.bz2 android_packages_apps_Trebuchet-7310bb4b5cef0a6c8d1cf52687a336e498309013.zip |
Don't update all apps content visibility during home animation
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
Diffstat (limited to 'src/com/android/launcher3/allapps')
-rw-r--r-- | src/com/android/launcher3/allapps/AllAppsRecyclerView.java | 5 | ||||
-rw-r--r-- | src/com/android/launcher3/allapps/AllAppsTransitionController.java | 13 |
2 files changed, 12 insertions, 6 deletions
diff --git a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java index a0e9dc5d8..139930292 100644 --- a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java +++ b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java @@ -26,13 +26,14 @@ import android.util.SparseIntArray; import android.view.MotionEvent; import android.view.View; +import androidx.recyclerview.widget.RecyclerView; + import com.android.launcher3.BaseRecyclerView; import com.android.launcher3.DeviceProfile; import com.android.launcher3.ItemInfo; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherAppState; import com.android.launcher3.R; -import com.android.launcher3.Utilities; import com.android.launcher3.compat.AccessibilityManagerCompat; import com.android.launcher3.logging.StatsLogUtils.LogContainerProvider; import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType; @@ -41,8 +42,6 @@ import com.android.launcher3.views.RecyclerViewFastScroller; import java.util.List; -import androidx.recyclerview.widget.RecyclerView; - /** * A RecyclerView with custom fast scroll support for the all apps view. */ diff --git a/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/src/com/android/launcher3/allapps/AllAppsTransitionController.java index 5b3beeca7..dfddc61d3 100644 --- a/src/com/android/launcher3/allapps/AllAppsTransitionController.java +++ b/src/com/android/launcher3/allapps/AllAppsTransitionController.java @@ -1,5 +1,7 @@ package com.android.launcher3.allapps; +import static android.view.View.ALPHA; + import static com.android.launcher3.LauncherState.ALL_APPS_CONTENT; import static com.android.launcher3.LauncherState.ALL_APPS_HEADER_EXTRA; import static com.android.launcher3.LauncherState.BACKGROUND_APP; @@ -10,6 +12,7 @@ import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_ALL_APPS_FADE; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_ALL_APPS_HEADER_FADE; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_OVERVIEW_SCALE; import static com.android.launcher3.anim.AnimatorSetBuilder.ANIM_VERTICAL_PROGRESS; +import static com.android.launcher3.anim.AnimatorSetBuilder.FLAG_DONT_UPDATE_ALL_APPS_VISIBILITY; import static com.android.launcher3.anim.Interpolators.FAST_OUT_SLOW_IN; import static com.android.launcher3.anim.Interpolators.LINEAR; import static com.android.launcher3.anim.PropertySetter.NO_ANIM_PROPERTY_SETTER; @@ -18,7 +21,7 @@ import static com.android.launcher3.util.SystemUiController.UI_STATE_ALL_APPS; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.util.FloatProperty; -import android.util.Log; +import android.view.View; import android.view.animation.Interpolator; import com.android.launcher3.DeviceProfile; @@ -32,7 +35,6 @@ import com.android.launcher3.anim.AnimationSuccessListener; import com.android.launcher3.anim.AnimatorSetBuilder; import com.android.launcher3.anim.PropertySetter; import com.android.launcher3.anim.SpringObjectAnimator; -import com.android.launcher3.testing.TestProtocol; import com.android.launcher3.util.Themes; import com.android.launcher3.views.ScrimView; @@ -213,7 +215,12 @@ public class AllAppsTransitionController implements StateHandler, OnDeviceProfil Interpolator allAppsFade = builder.getInterpolator(ANIM_ALL_APPS_FADE, LINEAR); Interpolator headerFade = builder.getInterpolator(ANIM_ALL_APPS_HEADER_FADE, allAppsFade); - setter.setViewAlpha(mAppsView.getContentView(), hasAllAppsContent ? 1 : 0, allAppsFade); + View allAppsContent = mAppsView.getContentView(); + if (!hasAllAppsContent && builder.hasFlag(FLAG_DONT_UPDATE_ALL_APPS_VISIBILITY)) { + setter.setFloat(allAppsContent, ALPHA, 0, allAppsFade); + } else { + setter.setViewAlpha(allAppsContent, hasAllAppsContent ? 1 : 0, allAppsFade); + } setter.setViewAlpha(mAppsView.getScrollBar(), hasAllAppsContent ? 1 : 0, allAppsFade); mAppsView.getFloatingHeaderView().setContentVisibility(hasHeaderExtra, hasAllAppsContent, setter, headerFade, allAppsFade); |