Stop relying on IMM in IMS for token-guarded IME APIs
This is a follow up CL to previous CLs [1][2][3] that made sure that APIs that are exposed only to IMEs should live in InputMethodService instead of InputMethodManager. Now that we have a dedicated Binder inferface [4] that allows InputMethodService (IMS) to directly send IPCs to InputMethodManagerService (IMMS) without relying on InputMethodManager (IMM), it is natural for the above public APIs in IMS to stop relying on IMM. This CL also addresses a small concern that it is no longer obvious when those APIs become available. Previously, it was a bit more obvious that passing null IME token doesn't work so IME developers could imagine that those APIs were unavailable until attachToken() is called. With this CL, InputMethodPrivilegedOperations starts showing warning messages when called too early, which we hope help IME developers understand why those APIs do nothing when called too early. [1]: I3163f3cbe557c85103ca287bee0874a3b4194032 d8d03a8e [2]: If6a786c5774805d041ea9672ef2721e4a38df7fc fbc2f7ac [3]: I6efd5ca473e33e6faeadb7eea7772b9d2b8ca12b 164cfba5 [4]: I2f3ec3c5de546fb3603275a4b64000ed3f863b65 c54c1171 Bug: 114418674 Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases Change-Id: I995c4b922f91b94438c1292392b2c3030598594f
Loading
Please register or sign in to comment