Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f742df0b authored by Evan Rosky's avatar Evan Rosky Committed by android-build-merger
Browse files

Merge "Enabled (asymmetric) tab selection in GridView" into oc-dev

am: 3653aed8

Change-Id: Icffef176e1dc3de49191414e57fdf38c4073bff2
parents d549197c 3653aed8
Loading
Loading
Loading
Loading
+9 −12
Original line number Diff line number Diff line
@@ -1718,13 +1718,11 @@ public class GridView extends AbsListView {
                    break;

                case KeyEvent.KEYCODE_TAB:
                    // XXX Sometimes it is useful to be able to TAB through the items in
                    // TODO: Sometimes it is useful to be able to TAB through the items in
                    //     a GridView sequentially.  Unfortunately this can create an
                    //     asymmetry in TAB navigation order unless the list selection
                    //     always reverts to the top or bottom when receiving TAB focus from
                    //     another widget.  Leaving this behavior disabled for now but
                    //     perhaps it should be configurable (and more comprehensive).
                    if (false) {
                    //     another widget.
                    if (event.hasNoModifiers()) {
                        handled = resurrectSelectionIfNeeded()
                                || sequenceScroll(FOCUS_FORWARD);
@@ -1732,7 +1730,6 @@ public class GridView extends AbsListView {
                        handled = resurrectSelectionIfNeeded()
                                || sequenceScroll(FOCUS_BACKWARD);
                    }
                    }
                    break;
            }
        }
@@ -1991,7 +1988,7 @@ public class GridView extends AbsListView {

        if (!mStackFromBottom) {
            rowStart = childIndex - (childIndex % mNumColumns);
            rowEnd = Math.max(rowStart + mNumColumns - 1, count);
            rowEnd = Math.min(rowStart + mNumColumns - 1, count);
        } else {
            rowEnd = count - 1 - (invertedIndex - (invertedIndex % mNumColumns));
            rowStart = Math.max(0, rowEnd - mNumColumns + 1);