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

Commit ef8a8ac9 authored by Yabin Huang's avatar Yabin Huang
Browse files

Don't use View ID to search next focus backward View

There might be several Views with the same ID in View hierarchy,
and if we search the user specified next focused view by comparing
the View ID, it may return the wrong View with the same ID. To fix
that, we should compare the View itself.

Fixes: 147829061
Test: manual

Change-Id: I3eeb68ed3ea30ce9461165eea56227cb81b21929
parent 794d53e7
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -12602,11 +12602,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
                return findViewInsideOutShouldExist(root, mNextFocusForwardId);
            case FOCUS_BACKWARD: {
                if (mID == View.NO_ID) return null;
                final int id = mID;
                return root.findViewByPredicateInsideOut(this, new Predicate<View>() {
                    @Override
                    public boolean test(View t) {
                        return t.mNextFocusForwardId == id;
                        return t.findViewById(t.mNextFocusForwardId) == View.this;
                    }
                });
            }