Revert "Clear default focus highlight when lost window focus or re-enter touch mode"

This reverts commit 5fc73f8f2f.

Reason for revert: b/246952306

Change-Id: I134a59a9cd576e6cf6a9bf8b5bcf2ae96e3fdb93
This commit is contained in:
Arthur Hung
2022-09-19 11:33:54 +00:00
parent 5fc73f8f2f
commit 9b81e4ea0a
2 changed files with 2 additions and 16 deletions

View File

@@ -24490,9 +24490,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
/**
* Set the current default focus highlight.
* @param highlight the highlight drawable, or {@code null} if it's no longer needed.
* @hide
*/
void setDefaultFocusHighlight(Drawable highlight) {
private void setDefaultFocusHighlight(Drawable highlight) {
mDefaultFocusHighlight = highlight;
mDefaultFocusHighlightSizeChanged = true;
if (highlight != null) {

View File

@@ -3815,13 +3815,6 @@ public final class ViewRootImpl implements ViewParent,
if (mAttachInfo.mTooltipHost != null) {
mAttachInfo.mTooltipHost.hideTooltip();
}
if (!hasWindowFocus) {
// Clear focus highlight if its window lost focus.
final View focused = mView.findFocus();
if (focused != null) {
focused.setDefaultFocusHighlight(null);
}
}
}
// Note: must be done after the focus change callbacks,
@@ -5853,13 +5846,7 @@ public final class ViewRootImpl implements ViewParent,
// be when the window is first being added, and mFocused isn't
// set yet.
final View focused = mView.findFocus();
if (focused == null) {
return false;
}
// Clear default focus highlight if it entered touch mode.
focused.setDefaultFocusHighlight(null);
if (!focused.isFocusableInTouchMode()) {
if (focused != null && !focused.isFocusableInTouchMode()) {
final ViewGroup ancestorToTakeFocus = findAncestorToTakeFocusInTouchMode(focused);
if (ancestorToTakeFocus != null) {
// there is an ancestor that wants focus after its