Fix an edge case in IMS#switchInputMethod()

This CL fixes a long-standing edge case when

  InputMethodService#switchInputMethod(String, InputMethodSubtype)

stops working when it should work.

In short, IMMS#mCurrentSubtype can be null even when the IME has
enabled and existing subtype. IMMS#setInputMethodLocked() should just
go ahead to handle the request rather than bailing out.

Fix: 231444489
Fix: 291762796
Test: atest CtsInputMethodTestCases:InputMethodSubtypeEndToEndTest
Change-Id: I5402f1b01da940a87a645721686270aca609b933
1 file changed