OSDN Git Service

Use symmetric conditions for advertising and performing ACTION_SCROLL
authorAlan Viverette <alanv@google.com>
Fri, 5 Aug 2016 20:48:19 +0000 (16:48 -0400)
committerAlan Viverette <alanv@google.com>
Fri, 5 Aug 2016 20:48:19 +0000 (16:48 -0400)
Bug: 30186372
Change-Id: Ieea0cd539049990ffa98edabb2a7b026445dd14a

core/java/android/widget/AbsListView.java

index b65f933..7b45d8c 100644 (file)
@@ -1546,7 +1546,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
         switch (action) {
             case AccessibilityNodeInfo.ACTION_SCROLL_FORWARD:
             case R.id.accessibilityActionScrollDown: {
-                if (isEnabled() && getLastVisiblePosition() < getCount() - 1) {
+                if (isEnabled() && canScrollDown()) {
                     final int viewportHeight = getHeight() - mListPadding.top - mListPadding.bottom;
                     smoothScrollBy(viewportHeight, PositionScroller.SCROLL_DURATION);
                     return true;
@@ -1554,7 +1554,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
             } return false;
             case AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD:
             case R.id.accessibilityActionScrollUp: {
-                if (isEnabled() && mFirstPosition > 0) {
+                if (isEnabled() && canScrollUp()) {
                     final int viewportHeight = getHeight() - mListPadding.top - mListPadding.bottom;
                     smoothScrollBy(-viewportHeight, PositionScroller.SCROLL_DURATION);
                     return true;