Allow IMM to forward API calls to IMS
This is one further step towards deprecating 8 IME APIs that were accidentally defined InputMethodManager (IMM) instead of InputMethodService (IMS). With this CL, API calls to those 8 deprecated ones in IMM will be forwarded to IMS so that we can completely remove corresponding IPC methods from IInputMethodManager.aidl. This guarantees that processes that have no InputMethodService running there become unable to access IPC methods behind such IME APIs that are intended to be used only from IMEs. One tricky thing is that the following 4 public APIs have been allowed to processes that have WRITE_SECURE_SETTINGS permission, even if such a process does not have active InputMethodService. * InputMethodManager.setInputMethod * InputMethodManager.setInputMethodAndSubtype * InputMethodManager.switchToLastInputMethod * InputMethodManager.switchToNextInputMethod In general, user mode apps should not have WRITE_SECURE_SETTINGS permission. Thus it might be not that difficult for us to simply deprecate such a special rule. Bug 114488811 is tracking that effort. For now, this CL preserves the existing behavior when a null IME token is specified to those 4 APIs. Bug: 114418674 Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases Change-Id: If762714b2003fa6477e1318110f63e13968c1d7e
Loading
Please register or sign in to comment