From a9238c89a43500ed0bcdeaee182be08ff991c627 Mon Sep 17 00:00:00 2001 From: Adam Cohen Date: Mon, 25 Oct 2010 14:01:29 -0700 Subject: -> Fixing a bug where AdapterViewAnimator doesn't refresh correctly -> Reduced swipe threshold for StackView Change-Id: I0f04f45dade57f29581fe03fb195a6db5f12adb1 --- core/java/android/widget/AdapterViewAnimator.java | 6 ++++-- core/java/android/widget/StackView.java | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/core/java/android/widget/AdapterViewAnimator.java b/core/java/android/widget/AdapterViewAnimator.java index bb2e26c3..5ac047c 100644 --- a/core/java/android/widget/AdapterViewAnimator.java +++ b/core/java/android/widget/AdapterViewAnimator.java @@ -379,11 +379,13 @@ public abstract class AdapterViewAnimator extends AdapterView } void refreshChildren() { + if (mAdapter == null) return; for (int i = mCurrentWindowStart; i <= mCurrentWindowEnd; i++) { - int index = modulo(i, mMaxNumActiveViews); + int index = modulo(i, getWindowSize()); + int adapterCount = mAdapter.getCount(); // get the fresh child from the adapter - View updatedChild = mAdapter.getView(i, null, this); + View updatedChild = mAdapter.getView(modulo(i, adapterCount), null, this); if (mViewsMap.containsKey(index)) { FrameLayout fl = (FrameLayout) mViewsMap.get(index).view; diff --git a/core/java/android/widget/StackView.java b/core/java/android/widget/StackView.java index c05da03..0e92eeb 100644 --- a/core/java/android/widget/StackView.java +++ b/core/java/android/widget/StackView.java @@ -79,7 +79,12 @@ public class StackView extends AdapterViewAnimator { * Specifies how far you need to swipe (up or down) before it * will be consider a completed gesture when you lift your finger */ - private static final float SWIPE_THRESHOLD_RATIO = 0.35f; + private static final float SWIPE_THRESHOLD_RATIO = 0.2f; + + /** + * Specifies the total distance, relative to the size of the stack, + * that views will be slid, either up or down + */ private static final float SLIDE_UP_RATIO = 0.7f; /** -- cgit v1.1