Log errors if RemoteInputConnection is used after IMS#onDestroy()
This CL consolidates weak-ref handlings in RemoteInputConnection so that IME developers can find more useful messages in logcat when they are using RemoteInputConnection after InputMethodService#onDestroy(). RemoteInputConnection has been designed to not hold a strong reference to its parent InputMethodService instance. While IME developers can manually keep a strong reference to (Remote)InputConnection object that they obtained from InputMethodService#getCurrentInputConnection(), doing so does not prevent the system from garbage-collecting InputMethodService instance. With this CL, an error message will be shown in logcat if somehow RemoteInputConnection object is still touched after InputMethodService is destroyed, which hopefully can help IME developers realize they might be doing something unexpected. Other than showing error messages in logcat, there is no behavior change in this CL. Bug: 192412909 Bug: 194110780 Test: atest CtsInputMethodTestCases Change-Id: I514630d27c8953f62fdb34cd3133a662b3fbbf76
Loading
Please register or sign in to comment