diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2017-06-07 20:31:02 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-06-07 20:31:03 +0000 |
commit | 3a5b835297cd2687cb66f9c9a57ca963b61ca9be (patch) | |
tree | 3488b939142d101c3959f57f49035ba222154066 | |
parent | d9a2187621b933922dbebe91dbe7d70983d72436 (diff) | |
parent | 75de76f917370e814f53500e0e4f2b4c640e69e1 (diff) | |
download | android_packages_apps_Trebuchet-3a5b835297cd2687cb66f9c9a57ca963b61ca9be.tar.gz android_packages_apps_Trebuchet-3a5b835297cd2687cb66f9c9a57ca963b61ca9be.tar.bz2 android_packages_apps_Trebuchet-3a5b835297cd2687cb66f9c9a57ca963b61ca9be.zip |
Merge "Fix bug where physics appears not to run in all apps." into ub-launcher3-dorval-polish
-rw-r--r-- | src/com/android/launcher3/allapps/AllAppsContainerView.java | 10 | ||||
-rw-r--r-- | src/com/android/launcher3/anim/SpringAnimationHandler.java | 5 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java index a399d748a..f1616fc09 100644 --- a/src/com/android/launcher3/allapps/AllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java @@ -20,7 +20,6 @@ import android.graphics.Color; import android.graphics.Rect; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.InsetDrawable; -import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.text.Selection; @@ -426,8 +425,11 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { - if (mScrollState == RecyclerView.SCROLL_STATE_DRAGGING) { - mSpringAnimationHandler.skipToEnd(); + if (mScrollState == RecyclerView.SCROLL_STATE_DRAGGING + || (dx == 0 && dy == 0)) { + if (mSpringAnimationHandler.isRunning()){ + mSpringAnimationHandler.skipToEnd(); + } return; } @@ -436,7 +438,7 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc // We only show the spring animation when at the top or bottom, so we wait until the // first or last row is visible to ensure that all animations run in sync. - if (first == 0 || last >= mAdapter.getItemCount() - mAdapter.getNumAppsPerRow()) { + if ((first == 0 && dy < 0) || (last == mAdapter.getItemCount() - 1 && dy > 0)) { mSpringAnimationHandler.animateToFinalPosition(0); } } diff --git a/src/com/android/launcher3/anim/SpringAnimationHandler.java b/src/com/android/launcher3/anim/SpringAnimationHandler.java index 488657c36..6a5e3514a 100644 --- a/src/com/android/launcher3/anim/SpringAnimationHandler.java +++ b/src/com/android/launcher3/anim/SpringAnimationHandler.java @@ -138,6 +138,11 @@ public class SpringAnimationHandler { reset(); } + public boolean isRunning() { + // All the animations run at the same time so we can just check the first one. + return !mAnimations.isEmpty() && mAnimations.get(0).isRunning(); + } + public void skipToEnd() { if (DEBUG) Log.d(TAG, "setStartVelocity#skipToEnd"); if (DEBUG) Log.v(TAG, "setStartVelocity#skipToEnd", new Exception()); |