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

Commit 951bb421 authored by Svetoslav Ganov's avatar Svetoslav Ganov
Browse files

Finding focus for from rectangle now working.

1. The FocusFinder code was ignoring the rectangle.

bug:6400513

Change-Id: I218425182b9cc2cda01fc4b5d75e9ac94a22561c
parent 427db9b3
Loading
Loading
Loading
Loading
+29 −23
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ public class FocusFinder {
     * @return The next focusable view, or null if none exists.
     */
    public final View findNextFocus(ViewGroup root, View focused, int direction) {
        return findNextFocus(root, focused, mFocusedRect, direction);
        return findNextFocus(root, focused, null, direction);
    }

    /**
@@ -122,10 +122,15 @@ public class FocusFinder {
            int direction, ArrayList<View> focusables) {
        final int directionMasked = (direction & ~View.FOCUS_ACCESSIBILITY);
        if (focused != null) {
            if (focusedRect == null) {
                focusedRect = mFocusedRect;
            }
            // fill in interesting rect from focused
            focused.getFocusedRect(focusedRect);
            root.offsetDescendantRectToMyCoords(focused, focusedRect);
        } else {
            if (focusedRect == null) {
                focusedRect = mFocusedRect;
                // make up a rect at top left or bottom right of root
                switch (directionMasked) {
                    case View.FOCUS_RIGHT:
@@ -153,6 +158,7 @@ public class FocusFinder {
                    }
                }
            }
        }

        switch (directionMasked) {
            case View.FOCUS_FORWARD: