diff options
| author | 2024-04-10 13:38:13 -0700 | |
|---|---|---|
| committer | 2024-04-10 13:38:13 -0700 | |
| commit | 8204b65f44f3cbe0ce384ecdfff3a9e66b1bfccd (patch) | |
| tree | b43ddd2d98028b70e6dce85dc168568d82daffee /libs/androidfw/StringPool.cpp | |
| parent | 19b955eb5651da67713ab96312a1e040588f62aa (diff) | |
Introduce IInputMethodManagerImpl
This is a preparation before instantiating InputMethodManagerService
in a worker thread.
As shown in ZeroJunkProxy introduced for Bug 293640003, proxying then
forwarding Binder IPCs is a common technique. However creating a
wrapper objects among
IInputMethodManager.Stub
can be a bit confusing, because not all the Binder methods are
forwarded. For instance, if you introduced
@Override
protected boolean onTransact(int code, @NonNull Parcel data,
@Nullable Parcel reply, int flags) {
}
into InputMethodManagerService but not into ZeroJunkProxy, it would be
called when and only when ZeroJunkProxy is not used. In general
creating a Binder wrapper that does "perfect forwarding" is not a
trivial task.
Instead of relying on IInputMethodManager.Stub, this CL introduces
IInputMethodManagerImpl
for better readability and code maintainability in the following
sense.
* Boilerplate code to implement IInputMethodManager.Stub can be
encapsulated into IInputMethodManagerImpl
* IInputMethodManagerImpl.Callback clearly defines what method
calls can be intercepted (then forwarded).
This is a mechanical refactoring CL. There must be no user observable
behavior change.
Bug: 333593182
Test: atest CtsInputMethodTestCases
Test: atest CtsInputMethodInstallTestCases
Test: atest FrameworksInputMethodSystemServerTests
Change-Id: Ie678ad23cd761337b64b23bd53c17b85c6316fce
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions