summaryrefslogtreecommitdiff
path: root/libs/androidfw/StringPool.cpp
diff options
context:
space:
mode:
author Yohei Yukawa <yukawa@google.com> 2024-04-10 13:38:13 -0700
committer Yohei Yukawa <yukawa@google.com> 2024-04-10 13:38:13 -0700
commit8204b65f44f3cbe0ce384ecdfff3a9e66b1bfccd (patch)
treeb43ddd2d98028b70e6dce85dc168568d82daffee /libs/androidfw/StringPool.cpp
parent19b955eb5651da67713ab96312a1e040588f62aa (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