class android.inputmethodservice.IInputMethodWrapper extends com.android.internal.view.IInputMethod$Stub implements com.android.internal.os.HandlerCaller$Callback
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.inputmethodservice.IInputMethodWrapper
super_class: com.android.internal.view.IInputMethod$Stub
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "InputMethodWrapper"
private static final int DO_DUMP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int DO_ATTACH_TOKEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final int DO_SET_INPUT_CONTEXT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private static final int DO_UNSET_INPUT_CONTEXT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 30
private static final int DO_START_INPUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final int DO_CREATE_SESSION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 40
private static final int DO_SET_SESSION_ENABLED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 45
private static final int DO_REVOKE_SESSION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 50
private static final int DO_SHOW_SOFT_INPUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 60
private static final int DO_HIDE_SOFT_INPUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 70
private static final int DO_CHANGE_INPUTMETHOD_SUBTYPE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 80
final java.lang.ref.WeakReference<android.inputmethodservice.AbstractInputMethodService> mTarget;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0010) ACC_FINAL
Signature: Ljava/lang/ref/WeakReference<Landroid/inputmethodservice/AbstractInputMethodService;>;
final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0010) ACC_FINAL
final com.android.internal.os.HandlerCaller mCaller;
descriptor: Lcom/android/internal/os/HandlerCaller;
flags: (0x0010) ACC_FINAL
final java.lang.ref.WeakReference<android.view.inputmethod.InputMethod> mInputMethod;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0010) ACC_FINAL
Signature: Ljava/lang/ref/WeakReference<Landroid/view/inputmethod/InputMethod;>;
final int mTargetSdkVersion;
descriptor: I
flags: (0x0010) ACC_FINAL
java.util.concurrent.atomic.AtomicBoolean mIsUnbindIssued;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0000)
public void <init>(android.inputmethodservice.AbstractInputMethodService, android.view.inputmethod.InputMethod);
descriptor: (Landroid/inputmethodservice/AbstractInputMethodService;Landroid/view/inputmethod/InputMethod;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.android.internal.view.IInputMethod$Stub.<init>:()V
1: aload 0
aconst_null
putfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
2: aload 0
new java.lang.ref.WeakReference
dup
aload 1
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield android.inputmethodservice.IInputMethodWrapper.mTarget:Ljava/lang/ref/WeakReference;
3: aload 0
aload 1
invokevirtual android.inputmethodservice.AbstractInputMethodService.getApplicationContext:()Landroid/content/Context;
putfield android.inputmethodservice.IInputMethodWrapper.mContext:Landroid/content/Context;
4: aload 0
new com.android.internal.os.HandlerCaller
dup
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mContext:Landroid/content/Context;
aconst_null
aload 0
iconst_1
invokespecial com.android.internal.os.HandlerCaller.<init>:(Landroid/content/Context;Landroid/os/Looper;Lcom/android/internal/os/HandlerCaller$Callback;Z)V
putfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
5: aload 0
new java.lang.ref.WeakReference
dup
aload 2
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield android.inputmethodservice.IInputMethodWrapper.mInputMethod:Ljava/lang/ref/WeakReference;
6: aload 0
aload 1
invokevirtual android.inputmethodservice.AbstractInputMethodService.getApplicationInfo:()Landroid/content/pm/ApplicationInfo;
getfield android.content.pm.ApplicationInfo.targetSdkVersion:I
putfield android.inputmethodservice.IInputMethodWrapper.mTargetSdkVersion:I
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/inputmethodservice/IInputMethodWrapper;
0 8 1 context Landroid/inputmethodservice/AbstractInputMethodService;
0 8 2 inputMethod Landroid/view/inputmethod/InputMethod;
MethodParameters:
Name Flags
context
inputMethod
public void executeMessage(android.os.Message);
descriptor: (Landroid/os/Message;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=2
start local 0 start local 1 0: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mInputMethod:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.view.inputmethod.InputMethod
astore 2
start local 2 1: aload 2
ifnonnull 4
aload 1
getfield android.os.Message.what:I
iconst_1
if_icmpeq 4
2: ldc "InputMethodWrapper"
new java.lang.StringBuilder
dup
ldc "Input method reference was null, ignoring message: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield android.os.Message.what:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
3: return
4: StackMap locals: android.view.inputmethod.InputMethod
StackMap stack:
aload 1
getfield android.os.Message.what:I
lookupswitch { // 11
1: 5
10: 23
20: 25
30: 27
32: 29
40: 51
45: 58
50: 63
60: 65
70: 67
80: 69
default: 71
}
5: StackMap locals:
StackMap stack:
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mTarget:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.inputmethodservice.AbstractInputMethodService
astore 3
start local 3 6: aload 3
ifnonnull 8
7: return
8: StackMap locals: android.inputmethodservice.AbstractInputMethodService
StackMap stack:
aload 1
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast com.android.internal.os.SomeArgs
astore 4
start local 4 9: aload 3
aload 4
getfield com.android.internal.os.SomeArgs.arg1:Ljava/lang/Object;
checkcast java.io.FileDescriptor
10: aload 4
getfield com.android.internal.os.SomeArgs.arg2:Ljava/lang/Object;
checkcast java.io.PrintWriter
aload 4
getfield com.android.internal.os.SomeArgs.arg3:Ljava/lang/Object;
checkcast java.lang.String[]
11: invokevirtual android.inputmethodservice.AbstractInputMethodService.dump:(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
12: goto 15
StackMap locals: android.inputmethodservice.IInputMethodWrapper android.os.Message android.view.inputmethod.InputMethod android.inputmethodservice.AbstractInputMethodService com.android.internal.os.SomeArgs
StackMap stack: java.lang.RuntimeException
13: astore 5
start local 5 14: aload 4
getfield com.android.internal.os.SomeArgs.arg2:Ljava/lang/Object;
checkcast java.io.PrintWriter
new java.lang.StringBuilder
dup
ldc "Exception: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 5 15: StackMap locals:
StackMap stack:
aload 4
getfield com.android.internal.os.SomeArgs.arg4:Ljava/lang/Object;
dup
astore 5
monitorenter
16: aload 4
getfield com.android.internal.os.SomeArgs.arg4:Ljava/lang/Object;
checkcast java.util.concurrent.CountDownLatch
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
17: aload 5
monitorexit
18: goto 21
StackMap locals: android.inputmethodservice.IInputMethodWrapper android.os.Message android.view.inputmethod.InputMethod android.inputmethodservice.AbstractInputMethodService com.android.internal.os.SomeArgs java.lang.Object
StackMap stack: java.lang.Throwable
19: aload 5
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.android.internal.os.SomeArgs.recycle:()V
22: return
end local 4 end local 3 23: StackMap locals:
StackMap stack:
aload 2
aload 1
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast android.os.IBinder
invokeinterface android.view.inputmethod.InputMethod.attachToken:(Landroid/os/IBinder;)V
24: return
25: StackMap locals:
StackMap stack:
aload 2
aload 1
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast android.view.inputmethod.InputBinding
invokeinterface android.view.inputmethod.InputMethod.bindInput:(Landroid/view/inputmethod/InputBinding;)V
26: return
27: StackMap locals:
StackMap stack:
aload 2
invokeinterface android.view.inputmethod.InputMethod.unbindInput:()V
28: return
29: StackMap locals:
StackMap stack:
aload 1
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast com.android.internal.os.SomeArgs
astore 3
start local 3 30: aload 1
getfield android.os.Message.arg1:I
istore 4
start local 4 31: aload 1
getfield android.os.Message.arg2:I
ifeq 32
iconst_1
goto 33
StackMap locals: com.android.internal.os.SomeArgs int
StackMap stack:
32: iconst_0
StackMap locals:
StackMap stack: int
33: istore 5
start local 5 34: aload 3
getfield com.android.internal.os.SomeArgs.arg1:Ljava/lang/Object;
checkcast android.os.IBinder
astore 6
start local 6 35: aload 3
getfield com.android.internal.os.SomeArgs.arg2:Ljava/lang/Object;
checkcast com.android.internal.view.IInputContext
astore 7
start local 7 36: aload 3
getfield com.android.internal.os.SomeArgs.arg3:Ljava/lang/Object;
checkcast android.view.inputmethod.EditorInfo
astore 8
start local 8 37: aload 3
getfield com.android.internal.os.SomeArgs.arg4:Ljava/lang/Object;
checkcast java.util.concurrent.atomic.AtomicBoolean
astore 9
start local 9 38: aload 7
ifnull 43
39: new com.android.internal.view.InputConnectionWrapper
dup
40: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mTarget:Ljava/lang/ref/WeakReference;
aload 7
iload 4
aload 9
41: invokespecial com.android.internal.view.InputConnectionWrapper.<init>:(Ljava/lang/ref/WeakReference;Lcom/android/internal/view/IInputContext;ILjava/util/concurrent/atomic/AtomicBoolean;)V
42: goto 44
StackMap locals: android.inputmethodservice.IInputMethodWrapper android.os.Message android.view.inputmethod.InputMethod com.android.internal.os.SomeArgs int int android.os.IBinder com.android.internal.view.IInputContext android.view.inputmethod.EditorInfo java.util.concurrent.atomic.AtomicBoolean
StackMap stack:
43: aconst_null
44: StackMap locals:
StackMap stack: com.android.internal.view.InputConnectionWrapper
astore 10
start local 10 45: aload 8
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mTargetSdkVersion:I
invokevirtual android.view.inputmethod.EditorInfo.makeCompatible:(I)V
46: aload 2
aload 10
aload 8
iload 5
47: aload 6
48: invokeinterface android.view.inputmethod.InputMethod.dispatchStartInputWithToken:(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;ZLandroid/os/IBinder;)V
49: aload 3
invokevirtual com.android.internal.os.SomeArgs.recycle:()V
50: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 51: StackMap locals: android.inputmethodservice.IInputMethodWrapper android.os.Message android.view.inputmethod.InputMethod
StackMap stack:
aload 1
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast com.android.internal.os.SomeArgs
astore 3
start local 3 52: aload 2
new android.inputmethodservice.IInputMethodWrapper$InputMethodSessionCallbackWrapper
dup
53: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mContext:Landroid/content/Context;
aload 3
getfield com.android.internal.os.SomeArgs.arg1:Ljava/lang/Object;
checkcast android.view.InputChannel
54: aload 3
getfield com.android.internal.os.SomeArgs.arg2:Ljava/lang/Object;
checkcast com.android.internal.view.IInputSessionCallback
invokespecial android.inputmethodservice.IInputMethodWrapper$InputMethodSessionCallbackWrapper.<init>:(Landroid/content/Context;Landroid/view/InputChannel;Lcom/android/internal/view/IInputSessionCallback;)V
55: invokeinterface android.view.inputmethod.InputMethod.createSession:(Landroid/view/inputmethod/InputMethod$SessionCallback;)V
56: aload 3
invokevirtual com.android.internal.os.SomeArgs.recycle:()V
57: return
end local 3 58: StackMap locals:
StackMap stack:
aload 2
aload 1
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast android.view.inputmethod.InputMethodSession
59: aload 1
getfield android.os.Message.arg1:I
ifeq 60
iconst_1
goto 61
StackMap locals: android.inputmethodservice.IInputMethodWrapper android.os.Message android.view.inputmethod.InputMethod
StackMap stack: android.view.inputmethod.InputMethod android.view.inputmethod.InputMethodSession
60: iconst_0
61: StackMap locals: android.inputmethodservice.IInputMethodWrapper android.os.Message android.view.inputmethod.InputMethod
StackMap stack: android.view.inputmethod.InputMethod android.view.inputmethod.InputMethodSession int
invokeinterface android.view.inputmethod.InputMethod.setSessionEnabled:(Landroid/view/inputmethod/InputMethodSession;Z)V
62: return
63: StackMap locals:
StackMap stack:
aload 2
aload 1
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast android.view.inputmethod.InputMethodSession
invokeinterface android.view.inputmethod.InputMethod.revokeSession:(Landroid/view/inputmethod/InputMethodSession;)V
64: return
65: StackMap locals:
StackMap stack:
aload 2
aload 1
getfield android.os.Message.arg1:I
aload 1
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast android.os.ResultReceiver
invokeinterface android.view.inputmethod.InputMethod.showSoftInput:(ILandroid/os/ResultReceiver;)V
66: return
67: StackMap locals:
StackMap stack:
aload 2
aload 1
getfield android.os.Message.arg1:I
aload 1
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast android.os.ResultReceiver
invokeinterface android.view.inputmethod.InputMethod.hideSoftInput:(ILandroid/os/ResultReceiver;)V
68: return
69: StackMap locals:
StackMap stack:
aload 2
aload 1
getfield android.os.Message.obj:Ljava/lang/Object;
checkcast android.view.inputmethod.InputMethodSubtype
invokeinterface android.view.inputmethod.InputMethod.changeInputMethodSubtype:(Landroid/view/inputmethod/InputMethodSubtype;)V
70: return
71: StackMap locals:
StackMap stack:
ldc "InputMethodWrapper"
new java.lang.StringBuilder
dup
ldc "Unhandled message code: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield android.os.Message.what:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
72: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 73 0 this Landroid/inputmethodservice/IInputMethodWrapper;
0 73 1 msg Landroid/os/Message;
1 73 2 inputMethod Landroid/view/inputmethod/InputMethod;
6 23 3 target Landroid/inputmethodservice/AbstractInputMethodService;
9 23 4 args Lcom/android/internal/os/SomeArgs;
14 15 5 e Ljava/lang/RuntimeException;
30 51 3 args Lcom/android/internal/os/SomeArgs;
31 51 4 missingMethods I
34 51 5 restarting Z
35 51 6 startInputToken Landroid/os/IBinder;
36 51 7 inputContext Lcom/android/internal/view/IInputContext;
37 51 8 info Landroid/view/inputmethod/EditorInfo;
38 51 9 isUnbindIssued Ljava/util/concurrent/atomic/AtomicBoolean;
45 51 10 ic Landroid/view/inputmethod/InputConnection;
52 58 3 args Lcom/android/internal/os/SomeArgs;
Exception table:
from to target type
9 12 13 Class java.lang.RuntimeException
16 18 19 any
19 20 19 any
MethodParameters:
Name Flags
msg
protected void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
descriptor: (Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tandroid.Manifest.permission.DUMP cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/inputmethodservice/IInputMethodWrapper;
MethodParameters:
Name Flags
fd
fout
args
public void attachToken(android.os.IBinder);
descriptor: (Landroid/os/IBinder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
bipush 10
aload 1
invokevirtual com.android.internal.os.HandlerCaller.obtainMessageO:(ILjava/lang/Object;)Landroid/os/Message;
invokevirtual com.android.internal.os.HandlerCaller.executeOrSendMessage:(Landroid/os/Message;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/inputmethodservice/IInputMethodWrapper;
0 2 1 token Landroid/os/IBinder;
MethodParameters:
Name Flags
token
public void bindInput(android.view.inputmethod.InputBinding);
descriptor: (Landroid/view/inputmethod/InputBinding;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
ifnull 2
1: ldc "InputMethodWrapper"
ldc "bindInput must be paired with unbindInput."
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: StackMap locals:
StackMap stack:
aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
putfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
3: new com.android.internal.view.InputConnectionWrapper
dup
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mTarget:Ljava/lang/ref/WeakReference;
4: aload 1
invokevirtual android.view.inputmethod.InputBinding.getConnectionToken:()Landroid/os/IBinder;
invokestatic com.android.internal.view.IInputContext$Stub.asInterface:(Landroid/os/IBinder;)Lcom/android/internal/view/IInputContext;
iconst_0
5: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
6: invokespecial com.android.internal.view.InputConnectionWrapper.<init>:(Ljava/lang/ref/WeakReference;Lcom/android/internal/view/IInputContext;ILjava/util/concurrent/atomic/AtomicBoolean;)V
astore 2
start local 2 7: new android.view.inputmethod.InputBinding
dup
aload 2
aload 1
invokespecial android.view.inputmethod.InputBinding.<init>:(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/InputBinding;)V
astore 3
start local 3 8: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
bipush 20
aload 3
invokevirtual com.android.internal.os.HandlerCaller.obtainMessageO:(ILjava/lang/Object;)Landroid/os/Message;
invokevirtual com.android.internal.os.HandlerCaller.executeOrSendMessage:(Landroid/os/Message;)V
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/inputmethodservice/IInputMethodWrapper;
0 10 1 binding Landroid/view/inputmethod/InputBinding;
7 10 2 ic Landroid/view/inputmethod/InputConnection;
8 10 3 nu Landroid/view/inputmethod/InputBinding;
MethodParameters:
Name Flags
binding
public void unbindInput();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
ifnull 4
1: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
2: aload 0
aconst_null
putfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
3: goto 5
4: StackMap locals:
StackMap stack:
ldc "InputMethodWrapper"
ldc "unbindInput must be paired with bindInput."
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: StackMap locals:
StackMap stack:
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
bipush 30
invokevirtual com.android.internal.os.HandlerCaller.obtainMessage:(I)Landroid/os/Message;
invokevirtual com.android.internal.os.HandlerCaller.executeOrSendMessage:(Landroid/os/Message;)V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/inputmethodservice/IInputMethodWrapper;
public void startInput(android.os.IBinder, com.android.internal.view.IInputContext, int, android.view.inputmethod.EditorInfo, boolean);
descriptor: (Landroid/os/IBinder;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
ifnonnull 3
1: ldc "InputMethodWrapper"
ldc "startInput must be called after bindInput."
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
putfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
3: StackMap locals:
StackMap stack:
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
bipush 32
4: iload 3
iload 5
ifeq 5
iconst_1
goto 6
StackMap locals: android.inputmethodservice.IInputMethodWrapper android.os.IBinder com.android.internal.view.IInputContext int android.view.inputmethod.EditorInfo int
StackMap stack: com.android.internal.os.HandlerCaller com.android.internal.os.HandlerCaller int int
5: iconst_0
StackMap locals: android.inputmethodservice.IInputMethodWrapper android.os.IBinder com.android.internal.view.IInputContext int android.view.inputmethod.EditorInfo int
StackMap stack: com.android.internal.os.HandlerCaller com.android.internal.os.HandlerCaller int int int
6: aload 1
aload 2
aload 4
7: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
8: invokevirtual com.android.internal.os.HandlerCaller.obtainMessageIIOOOO:(IIILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
invokevirtual com.android.internal.os.HandlerCaller.executeOrSendMessage:(Landroid/os/Message;)V
9: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/inputmethodservice/IInputMethodWrapper;
0 10 1 startInputToken Landroid/os/IBinder;
0 10 2 inputContext Lcom/android/internal/view/IInputContext;
0 10 3 missingMethods I
0 10 4 attribute Landroid/view/inputmethod/EditorInfo;
0 10 5 restarting Z
MethodParameters:
Name Flags
startInputToken
inputContext
missingMethods final
attribute
restarting
public void createSession(android.view.InputChannel, com.android.internal.view.IInputSessionCallback);
descriptor: (Landroid/view/InputChannel;Lcom/android/internal/view/IInputSessionCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
bipush 40
1: aload 1
aload 2
2: invokevirtual com.android.internal.os.HandlerCaller.obtainMessageOO:(ILjava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
invokevirtual com.android.internal.os.HandlerCaller.executeOrSendMessage:(Landroid/os/Message;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/inputmethodservice/IInputMethodWrapper;
0 4 1 channel Landroid/view/InputChannel;
0 4 2 callback Lcom/android/internal/view/IInputSessionCallback;
MethodParameters:
Name Flags
channel
callback
public void setSessionEnabled(com.android.internal.view.IInputMethodSession, boolean);
descriptor: (Lcom/android/internal/view/IInputMethodSession;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
1: checkcast android.inputmethodservice.IInputMethodSessionWrapper
2: invokevirtual android.inputmethodservice.IInputMethodSessionWrapper.getInternalInputMethodSession:()Landroid/view/inputmethod/InputMethodSession;
3: astore 3
start local 3 4: aload 3
ifnonnull 7
5: ldc "InputMethodWrapper"
new java.lang.StringBuilder
dup
ldc "Session is already finished: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
6: return
7: StackMap locals: android.view.inputmethod.InputMethodSession
StackMap stack:
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
8: bipush 45
iload 2
ifeq 9
iconst_1
goto 10
StackMap locals: android.inputmethodservice.IInputMethodWrapper com.android.internal.view.IInputMethodSession int android.view.inputmethod.InputMethodSession
StackMap stack: com.android.internal.os.HandlerCaller com.android.internal.os.HandlerCaller int
9: iconst_0
StackMap locals: android.inputmethodservice.IInputMethodWrapper com.android.internal.view.IInputMethodSession int android.view.inputmethod.InputMethodSession
StackMap stack: com.android.internal.os.HandlerCaller com.android.internal.os.HandlerCaller int int
10: aload 3
11: invokevirtual com.android.internal.os.HandlerCaller.obtainMessageIO:(IILjava/lang/Object;)Landroid/os/Message;
invokevirtual com.android.internal.os.HandlerCaller.executeOrSendMessage:(Landroid/os/Message;)V
end local 3 12: goto 15
StackMap locals: android.inputmethodservice.IInputMethodWrapper com.android.internal.view.IInputMethodSession int
StackMap stack: java.lang.ClassCastException
13: astore 3
start local 3 14: ldc "InputMethodWrapper"
new java.lang.StringBuilder
dup
ldc "Incoming session not of correct type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 3 15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/inputmethodservice/IInputMethodWrapper;
0 16 1 session Lcom/android/internal/view/IInputMethodSession;
0 16 2 enabled Z
4 12 3 ls Landroid/view/inputmethod/InputMethodSession;
14 15 3 e Ljava/lang/ClassCastException;
Exception table:
from to target type
0 6 13 Class java.lang.ClassCastException
7 12 13 Class java.lang.ClassCastException
MethodParameters:
Name Flags
session
enabled
public void revokeSession(com.android.internal.view.IInputMethodSession);
descriptor: (Lcom/android/internal/view/IInputMethodSession;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
1: checkcast android.inputmethodservice.IInputMethodSessionWrapper
2: invokevirtual android.inputmethodservice.IInputMethodSessionWrapper.getInternalInputMethodSession:()Landroid/view/inputmethod/InputMethodSession;
3: astore 2
start local 2 4: aload 2
ifnonnull 7
5: ldc "InputMethodWrapper"
new java.lang.StringBuilder
dup
ldc "Session is already finished: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
6: return
7: StackMap locals: android.view.inputmethod.InputMethodSession
StackMap stack:
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
bipush 50
aload 2
invokevirtual com.android.internal.os.HandlerCaller.obtainMessageO:(ILjava/lang/Object;)Landroid/os/Message;
invokevirtual com.android.internal.os.HandlerCaller.executeOrSendMessage:(Landroid/os/Message;)V
end local 2 8: goto 11
StackMap locals: android.inputmethodservice.IInputMethodWrapper com.android.internal.view.IInputMethodSession
StackMap stack: java.lang.ClassCastException
9: astore 2
start local 2 10: ldc "InputMethodWrapper"
new java.lang.StringBuilder
dup
ldc "Incoming session not of correct type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 2 11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/inputmethodservice/IInputMethodWrapper;
0 12 1 session Lcom/android/internal/view/IInputMethodSession;
4 8 2 ls Landroid/view/inputmethod/InputMethodSession;
10 11 2 e Ljava/lang/ClassCastException;
Exception table:
from to target type
0 6 9 Class java.lang.ClassCastException
7 8 9 Class java.lang.ClassCastException
MethodParameters:
Name Flags
session
public void showSoftInput(int, android.os.ResultReceiver);
descriptor: (ILandroid/os/ResultReceiver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
bipush 60
1: iload 1
aload 2
2: invokevirtual com.android.internal.os.HandlerCaller.obtainMessageIO:(IILjava/lang/Object;)Landroid/os/Message;
invokevirtual com.android.internal.os.HandlerCaller.executeOrSendMessage:(Landroid/os/Message;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/inputmethodservice/IInputMethodWrapper;
0 4 1 flags I
0 4 2 resultReceiver Landroid/os/ResultReceiver;
MethodParameters:
Name Flags
flags
resultReceiver
public void hideSoftInput(int, android.os.ResultReceiver);
descriptor: (ILandroid/os/ResultReceiver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
bipush 70
1: iload 1
aload 2
2: invokevirtual com.android.internal.os.HandlerCaller.obtainMessageIO:(IILjava/lang/Object;)Landroid/os/Message;
invokevirtual com.android.internal.os.HandlerCaller.executeOrSendMessage:(Landroid/os/Message;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/inputmethodservice/IInputMethodWrapper;
0 4 1 flags I
0 4 2 resultReceiver Landroid/os/ResultReceiver;
MethodParameters:
Name Flags
flags
resultReceiver
public void changeInputMethodSubtype(android.view.inputmethod.InputMethodSubtype);
descriptor: (Landroid/view/inputmethod/InputMethodSubtype;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
aload 0
getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
bipush 80
1: aload 1
2: invokevirtual com.android.internal.os.HandlerCaller.obtainMessageO:(ILjava/lang/Object;)Landroid/os/Message;
invokevirtual com.android.internal.os.HandlerCaller.executeOrSendMessage:(Landroid/os/Message;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/inputmethodservice/IInputMethodWrapper;
0 4 1 subtype Landroid/view/inputmethod/InputMethodSubtype;
MethodParameters:
Name Flags
subtype
}
SourceFile: "IInputMethodWrapper.java"
NestMembers:
android.inputmethodservice.IInputMethodWrapper$InputMethodSessionCallbackWrapper
InnerClasses:
final InputMethodSessionCallbackWrapper = android.inputmethodservice.IInputMethodWrapper$InputMethodSessionCallbackWrapper of android.inputmethodservice.IInputMethodWrapper
public abstract SessionCallback = android.view.inputmethod.InputMethod$SessionCallback of android.view.inputmethod.InputMethod
public abstract Callback = com.android.internal.os.HandlerCaller$Callback of com.android.internal.os.HandlerCaller
public abstract Stub = com.android.internal.view.IInputContext$Stub of com.android.internal.view.IInputContext
public abstract Stub = com.android.internal.view.IInputMethod$Stub of com.android.internal.view.IInputMethod