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

Commit 6898584b authored by Arthur Hung's avatar Arthur Hung
Browse files

Set VIEW_STATE_FOCUSED only if view and window has focus

Set VIEW_STATE_FOCUSED state when view and window gain focus or it could
draw a wrong highlight hint on non-focused window.

Bug: 244273901
Test: atest DefaultFocusHighlightTest
Test: multi-window, use dpad key to navigate focus
Change-Id: Iabf58f41fe376d5921b679d53ec82c67650d4988
parent 0e76c612
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -24649,7 +24649,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
        int viewStateIndex = 0;
        if ((privateFlags & PFLAG_PRESSED) != 0) viewStateIndex |= StateSet.VIEW_STATE_PRESSED;
        if ((mViewFlags & ENABLED_MASK) == ENABLED) viewStateIndex |= StateSet.VIEW_STATE_ENABLED;
        if (isFocused()) viewStateIndex |= StateSet.VIEW_STATE_FOCUSED;
        if (isFocused() && hasWindowFocus()) viewStateIndex |= StateSet.VIEW_STATE_FOCUSED;
        if ((privateFlags & PFLAG_SELECTED) != 0) viewStateIndex |= StateSet.VIEW_STATE_SELECTED;
        if (hasWindowFocus()) viewStateIndex |= StateSet.VIEW_STATE_WINDOW_FOCUSED;
        if ((privateFlags & PFLAG_ACTIVATED) != 0) viewStateIndex |= StateSet.VIEW_STATE_ACTIVATED;