• G
    Use dispatchKeyEventPreIme, and handle keys sent to... · 539034ae
    Greg Spencer 提交于
    Use dispatchKeyEventPreIme, and handle keys sent to InputConnection.sendKeyEvent on Android (#21163)
    
    This switches from using dispatchKeyEvent to using dispatchKeyEventPreIme so that keys can be intercepted before they reach the IME and be handled by the framework.
    
    It also now intercepts key events sent to InputConnection.sendKeyEvent, as some IMEs do (e.g. the Hacker's Keyboard), and sends the to Flutter before sending them to the IME (which it now only does if they are not handled by the framework).
    
    This fixes the problem where pressing TAB on a hardware keyboard sends the tab to both the text field and to the focus traversal system.
    
    Note that we still can't intercept all keystrokes given to a soft keyboard, only those which the soft keyboard decides to send to InputConnection.sendKeyEvent.
    539034ae
FlutterView.java 34.2 KB