diff options
Diffstat (limited to 'core/java/android/inputmethodservice/IInputMethodWrapper.java')
| -rw-r--r-- | core/java/android/inputmethodservice/IInputMethodWrapper.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/core/java/android/inputmethodservice/IInputMethodWrapper.java b/core/java/android/inputmethodservice/IInputMethodWrapper.java index 17c9ee7cdce5..5275314b036a 100644 --- a/core/java/android/inputmethodservice/IInputMethodWrapper.java +++ b/core/java/android/inputmethodservice/IInputMethodWrapper.java @@ -17,6 +17,7 @@ package android.inputmethodservice; import com.android.internal.os.HandlerCaller; +import com.android.internal.os.SomeArgs; import com.android.internal.view.IInputContext; import com.android.internal.view.IInputMethod; import com.android.internal.view.IInputMethodCallback; @@ -124,7 +125,7 @@ class IInputMethodWrapper extends IInputMethod.Stub if (target == null) { return; } - HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; + SomeArgs args = (SomeArgs)msg.obj; try { target.dump((FileDescriptor)args.arg1, (PrintWriter)args.arg2, (String[])args.arg3); @@ -134,6 +135,7 @@ class IInputMethodWrapper extends IInputMethod.Stub synchronized (args.arg4) { ((CountDownLatch)args.arg4).countDown(); } + args.recycle(); return; } @@ -149,23 +151,25 @@ class IInputMethodWrapper extends IInputMethod.Stub inputMethod.unbindInput(); return; case DO_START_INPUT: { - HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; + SomeArgs args = (SomeArgs)msg.obj; IInputContext inputContext = (IInputContext)args.arg1; InputConnection ic = inputContext != null ? new InputConnectionWrapper(inputContext) : null; EditorInfo info = (EditorInfo)args.arg2; info.makeCompatible(mTargetSdkVersion); inputMethod.startInput(ic, info); + args.recycle(); return; } case DO_RESTART_INPUT: { - HandlerCaller.SomeArgs args = (HandlerCaller.SomeArgs)msg.obj; + SomeArgs args = (SomeArgs)msg.obj; IInputContext inputContext = (IInputContext)args.arg1; InputConnection ic = inputContext != null ? new InputConnectionWrapper(inputContext) : null; EditorInfo info = (EditorInfo)args.arg2; info.makeCompatible(mTargetSdkVersion); inputMethod.restartInput(ic, info); + args.recycle(); return; } case DO_CREATE_SESSION: { |
