Merge "Ensure that the IME switcher button is always touchable" into qt-dev

This commit is contained in:
Winson Chung
2019-06-05 21:31:32 +00:00
committed by Android (Google) Code Review

View File

@@ -238,7 +238,19 @@ public class NavigationBarView extends FrameLayout implements
info.setTouchableInsets(InternalInsetsInfo.TOUCHABLE_INSETS_FRAME); info.setTouchableInsets(InternalInsetsInfo.TOUCHABLE_INSETS_FRAME);
return; return;
} }
info.setTouchableInsets(InternalInsetsInfo.TOUCHABLE_INSETS_REGION); info.setTouchableInsets(InternalInsetsInfo.TOUCHABLE_INSETS_REGION);
ButtonDispatcher imeSwitchButton = getImeSwitchButton();
if (imeSwitchButton.getVisibility() == VISIBLE) {
// If the IME is not up, but the ime switch button is visible, then make sure that
// button is touchable
int[] loc = new int[2];
View buttonView = imeSwitchButton.getCurrentView();
buttonView.getLocationInWindow(loc);
info.touchableRegion.set(loc[0], loc[1], loc[0] + buttonView.getWidth(),
loc[1] + buttonView.getHeight());
return;
}
info.touchableRegion.setEmpty(); info.touchableRegion.setEmpty();
}; };