Optimize calls to IME's onStartInput

As of today onStartInput is called for every window which gains focus. We
can significantly optimize this by restricting calls only to windows
that have a text editor. However, if input was already started based on
window flags, behavior is unchanged.

This behavior is guarded by debug flag "debug.optimize_startinput" and
is defaulted to true.

Bug: 37617707
Test: atest CtsInputMethodTestCases
Test: Verify following command reverts the behavior: adb root && adb
      shell setprop debug.optimize_startinput false &&
      adb shell cmd input_method refresh_debug_options
Change-Id: Ibf9dab3d9c138b5f04e053d41ee4fd248c78e4da
1 file changed