Make IMM#getCurrentInputMethod{Info,Subtype} consistent

Since it was originall introduced [1],

  InputMethodManager#getCurrentInputMethodInfo()

has been built by using

  Settings.Secure.DEFAULT_INPUT_METHOD

as the source of truth when determinig the currently selected IME for
the given user.

On the other hand,

  InputMethodManager#getCurrentInputMethodSubtype()

uses

  InputMethodBindingController#getCurrentInputMethodSubtype()

as the source of truth when determing the currently selected subtype
for the given user.

With this CL #getCurrentInputMethodInfo() starts using
InputMethodBindingController as the source of truth as well, because
that's what InputMethodManagerService actually does when establishing
a connection.

The new behavior is guarged with a build time flag.

 [1]: I60a0f67bf7d261d3a4a733adcb8a022ceac6e1db
      2422bcffe2351789dc80be68b6f6d5515dc0fa11

Bug: 355034523
Test: presubmit
Flag: build.consistent_get_current_input_method_info
Change-Id: I83716695094a58ee6ceab1a26c6d514c49cb4c15
2 files changed