summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/inputmethod/InputMethodManagerService.java35
1 files changed, 11 insertions, 24 deletions
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
index 9dfa142cea1e..ec49b4768b74 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
@@ -1464,29 +1464,6 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
- private static final class MethodCallback extends IInputSessionCallback.Stub {
- private final InputMethodManagerService mParentIMMS;
- private final IInputMethod mMethod;
- private final InputChannel mChannel;
-
- MethodCallback(InputMethodManagerService imms, IInputMethod method,
- InputChannel channel) {
- mParentIMMS = imms;
- mMethod = method;
- mChannel = channel;
- }
-
- @Override
- public void sessionCreated(IInputMethodSession session) {
- final long ident = Binder.clearCallingIdentity();
- try {
- mParentIMMS.onSessionCreated(mMethod, session, mChannel);
- } finally {
- Binder.restoreCallingIdentity(ident);
- }
- }
- }
-
private static final class UserSwitchHandlerTask implements Runnable {
final InputMethodManagerService mService;
@@ -2607,7 +2584,17 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
IInputMethod curMethod = getCurMethodLocked();
executeOrSendMessage(curMethod, mCaller.obtainMessageOOO(
MSG_CREATE_SESSION, curMethod, channels[1],
- new MethodCallback(this, curMethod, channels[0])));
+ new IInputSessionCallback.Stub() {
+ @Override
+ public void sessionCreated(IInputMethodSession session) {
+ final long ident = Binder.clearCallingIdentity();
+ try {
+ onSessionCreated(curMethod, session, channels[0]);
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
+ }
+ }));
}
}