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
(cherry picked from commit da56eb5c95996b629f5be536f42bd8c70179ae6a)
1 file changed