mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-28 15:56:49 +00:00
Fix bug where physics appears not to run in all apps.
ie. When scrolling up from the bottom, the animation will immediately start since the last visible item condition is true — and by the time it reaches the top the spring is done moving. Bug: 38349031 Change-Id: I344deef47c50b33405345dd3a137ccdb12aeae02
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user