Always use Context.getSystemService() to get IMM
This is a preparation to deprecate the following two methods. * InputMethodManager#getInstance() * InputMethodManager#peekInstance() Since we soon need to stop relying on the current per-process InputMethodManager singleton model to fully support multi-display, those two methods really need to be deprecated. With this CL, framework code no longer depends on InputMethodManager#peekInstance(), which is also marked as deprecated in this CL. InputMethodManager#getInstance() is a bit tricky because it also works as a constructor of such a per-process singleton instance. Remaining two call-sites of this method will be migrated in a subsequent CL. This is a mechanical refactoring, which in theory should have no observable logical behavior difference. There could be a small performance regression, but it is basically not avoidable to correctly support multi-display scenarios. Bug: 115891476 Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases Test: atest CtsWidgetTestCases:android.widget.cts.EditTextTest Test: atest CtsWidgetTestCases:android.widget.cts.TextViewTest Test: atest FrameworksCoreTests:com.android.internal.inputmethod Test: atest FrameworksServicesTests:com.android.server.textservices Change-Id: I5db31491f3d47d3ad4a621e956995135c72e007b
Loading
Please register or sign in to comment