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 // android.inputmethodservice.IInputMethodWrapper this
        start local 1 // android.inputmethodservice.AbstractInputMethodService context
        start local 2 // android.view.inputmethod.InputMethod inputMethod
         0: .line 125
            aload 0 /* this */
            invokespecial com.android.internal.view.IInputMethod$Stub.<init>:()V
         1: .line 92
            aload 0 /* this */
            aconst_null
            putfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
         2: .line 126
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 1 /* context */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield android.inputmethodservice.IInputMethodWrapper.mTarget:Ljava/lang/ref/WeakReference;
         3: .line 127
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual android.inputmethodservice.AbstractInputMethodService.getApplicationContext:()Landroid/content/Context;
            putfield android.inputmethodservice.IInputMethodWrapper.mContext:Landroid/content/Context;
         4: .line 128
            aload 0 /* this */
            new com.android.internal.os.HandlerCaller
            dup
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mContext:Landroid/content/Context;
            aconst_null
            aload 0 /* this */
            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: .line 129
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 2 /* inputMethod */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield android.inputmethodservice.IInputMethodWrapper.mInputMethod:Ljava/lang/ref/WeakReference;
         6: .line 130
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual android.inputmethodservice.AbstractInputMethodService.getApplicationInfo:()Landroid/content/pm/ApplicationInfo;
            getfield android.content.pm.ApplicationInfo.targetSdkVersion:I
            putfield android.inputmethodservice.IInputMethodWrapper.mTargetSdkVersion:I
         7: .line 131
            return
        end local 2 // android.view.inputmethod.InputMethod inputMethod
        end local 1 // android.inputmethodservice.AbstractInputMethodService context
        end local 0 // android.inputmethodservice.IInputMethodWrapper this
      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 // android.inputmethodservice.IInputMethodWrapper this
        start local 1 // android.os.Message msg
         0: .line 136
            aload 0 /* this */
            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 /* inputMethod */
        start local 2 // android.view.inputmethod.InputMethod inputMethod
         1: .line 138
            aload 2 /* inputMethod */
            ifnonnull 4
            aload 1 /* msg */
            getfield android.os.Message.what:I
            iconst_1
            if_icmpeq 4
         2: .line 139
            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 /* msg */
            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: .line 140
            return
         4: .line 143
      StackMap locals: android.view.inputmethod.InputMethod
      StackMap stack:
            aload 1 /* msg */
            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: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mTarget:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast android.inputmethodservice.AbstractInputMethodService
            astore 3 /* target */
        start local 3 // android.inputmethodservice.AbstractInputMethodService target
         6: .line 146
            aload 3 /* target */
            ifnonnull 8
         7: .line 147
            return
         8: .line 149
      StackMap locals: android.inputmethodservice.AbstractInputMethodService
      StackMap stack:
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast com.android.internal.os.SomeArgs
            astore 4 /* args */
        start local 4 // com.android.internal.os.SomeArgs args
         9: .line 151
            aload 3 /* target */
            aload 4 /* args */
            getfield com.android.internal.os.SomeArgs.arg1:Ljava/lang/Object;
            checkcast java.io.FileDescriptor
        10: .line 152
            aload 4 /* args */
            getfield com.android.internal.os.SomeArgs.arg2:Ljava/lang/Object;
            checkcast java.io.PrintWriter
            aload 4 /* args */
            getfield com.android.internal.os.SomeArgs.arg3:Ljava/lang/Object;
            checkcast java.lang.String[]
        11: .line 151
            invokevirtual android.inputmethodservice.AbstractInputMethodService.dump:(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
        12: .line 153
            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 /* e */
        start local 5 // java.lang.RuntimeException e
        14: .line 154
            aload 4 /* args */
            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 /* e */
            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 // java.lang.RuntimeException e
        15: .line 156
      StackMap locals:
      StackMap stack:
            aload 4 /* args */
            getfield com.android.internal.os.SomeArgs.arg4:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
        16: .line 157
            aload 4 /* args */
            getfield com.android.internal.os.SomeArgs.arg4:Ljava/lang/Object;
            checkcast java.util.concurrent.CountDownLatch
            invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
        17: .line 156
            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: .line 159
      StackMap locals:
      StackMap stack:
            aload 4 /* args */
            invokevirtual com.android.internal.os.SomeArgs.recycle:()V
        22: .line 160
            return
        end local 4 // com.android.internal.os.SomeArgs args
        end local 3 // android.inputmethodservice.AbstractInputMethodService target
        23: .line 164
      StackMap locals:
      StackMap stack:
            aload 2 /* inputMethod */
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.os.IBinder
            invokeinterface android.view.inputmethod.InputMethod.attachToken:(Landroid/os/IBinder;)V
        24: .line 165
            return
        25: .line 168
      StackMap locals:
      StackMap stack:
            aload 2 /* inputMethod */
            aload 1 /* msg */
            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: .line 169
            return
        27: .line 172
      StackMap locals:
      StackMap stack:
            aload 2 /* inputMethod */
            invokeinterface android.view.inputmethod.InputMethod.unbindInput:()V
        28: .line 173
            return
        29: .line 175
      StackMap locals:
      StackMap stack:
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast com.android.internal.os.SomeArgs
            astore 3 /* args */
        start local 3 // com.android.internal.os.SomeArgs args
        30: .line 176
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            istore 4 /* missingMethods */
        start local 4 // int missingMethods
        31: .line 177
            aload 1 /* msg */
            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 /* restarting */
        start local 5 // boolean restarting
        34: .line 178
            aload 3 /* args */
            getfield com.android.internal.os.SomeArgs.arg1:Ljava/lang/Object;
            checkcast android.os.IBinder
            astore 6 /* startInputToken */
        start local 6 // android.os.IBinder startInputToken
        35: .line 179
            aload 3 /* args */
            getfield com.android.internal.os.SomeArgs.arg2:Ljava/lang/Object;
            checkcast com.android.internal.view.IInputContext
            astore 7 /* inputContext */
        start local 7 // com.android.internal.view.IInputContext inputContext
        36: .line 180
            aload 3 /* args */
            getfield com.android.internal.os.SomeArgs.arg3:Ljava/lang/Object;
            checkcast android.view.inputmethod.EditorInfo
            astore 8 /* info */
        start local 8 // android.view.inputmethod.EditorInfo info
        37: .line 181
            aload 3 /* args */
            getfield com.android.internal.os.SomeArgs.arg4:Ljava/lang/Object;
            checkcast java.util.concurrent.atomic.AtomicBoolean
            astore 9 /* isUnbindIssued */
        start local 9 // java.util.concurrent.atomic.AtomicBoolean isUnbindIssued
        38: .line 182
            aload 7 /* inputContext */
            ifnull 43
        39: .line 183
            new com.android.internal.view.InputConnectionWrapper
            dup
        40: .line 184
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mTarget:Ljava/lang/ref/WeakReference;
            aload 7 /* inputContext */
            iload 4 /* missingMethods */
            aload 9 /* isUnbindIssued */
        41: .line 183
            invokespecial com.android.internal.view.InputConnectionWrapper.<init>:(Ljava/lang/ref/WeakReference;Lcom/android/internal/view/IInputContext;ILjava/util/concurrent/atomic/AtomicBoolean;)V
        42: .line 184
            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: .line 182
      StackMap locals:
      StackMap stack: com.android.internal.view.InputConnectionWrapper
            astore 10 /* ic */
        start local 10 // android.view.inputmethod.InputConnection ic
        45: .line 185
            aload 8 /* info */
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mTargetSdkVersion:I
            invokevirtual android.view.inputmethod.EditorInfo.makeCompatible:(I)V
        46: .line 186
            aload 2 /* inputMethod */
            aload 10 /* ic */
            aload 8 /* info */
            iload 5 /* restarting */
        47: .line 187
            aload 6 /* startInputToken */
        48: .line 186
            invokeinterface android.view.inputmethod.InputMethod.dispatchStartInputWithToken:(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;ZLandroid/os/IBinder;)V
        49: .line 188
            aload 3 /* args */
            invokevirtual com.android.internal.os.SomeArgs.recycle:()V
        50: .line 189
            return
        end local 10 // android.view.inputmethod.InputConnection ic
        end local 9 // java.util.concurrent.atomic.AtomicBoolean isUnbindIssued
        end local 8 // android.view.inputmethod.EditorInfo info
        end local 7 // com.android.internal.view.IInputContext inputContext
        end local 6 // android.os.IBinder startInputToken
        end local 5 // boolean restarting
        end local 4 // int missingMethods
        end local 3 // com.android.internal.os.SomeArgs args
        51: .line 192
      StackMap locals: android.inputmethodservice.IInputMethodWrapper android.os.Message android.view.inputmethod.InputMethod
      StackMap stack:
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast com.android.internal.os.SomeArgs
            astore 3 /* args */
        start local 3 // com.android.internal.os.SomeArgs args
        52: .line 193
            aload 2 /* inputMethod */
            new android.inputmethodservice.IInputMethodWrapper$InputMethodSessionCallbackWrapper
            dup
        53: .line 194
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mContext:Landroid/content/Context;
            aload 3 /* args */
            getfield com.android.internal.os.SomeArgs.arg1:Ljava/lang/Object;
            checkcast android.view.InputChannel
        54: .line 195
            aload 3 /* args */
            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: .line 193
            invokeinterface android.view.inputmethod.InputMethod.createSession:(Landroid/view/inputmethod/InputMethod$SessionCallback;)V
        56: .line 196
            aload 3 /* args */
            invokevirtual com.android.internal.os.SomeArgs.recycle:()V
        57: .line 197
            return
        end local 3 // com.android.internal.os.SomeArgs args
        58: .line 200
      StackMap locals:
      StackMap stack:
            aload 2 /* inputMethod */
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.view.inputmethod.InputMethodSession
        59: .line 201
            aload 1 /* msg */
            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: .line 200
      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: .line 202
            return
        63: .line 204
      StackMap locals:
      StackMap stack:
            aload 2 /* inputMethod */
            aload 1 /* msg */
            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: .line 205
            return
        65: .line 207
      StackMap locals:
      StackMap stack:
            aload 2 /* inputMethod */
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.os.ResultReceiver
            invokeinterface android.view.inputmethod.InputMethod.showSoftInput:(ILandroid/os/ResultReceiver;)V
        66: .line 208
            return
        67: .line 210
      StackMap locals:
      StackMap stack:
            aload 2 /* inputMethod */
            aload 1 /* msg */
            getfield android.os.Message.arg1:I
            aload 1 /* msg */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.os.ResultReceiver
            invokeinterface android.view.inputmethod.InputMethod.hideSoftInput:(ILandroid/os/ResultReceiver;)V
        68: .line 211
            return
        69: .line 213
      StackMap locals:
      StackMap stack:
            aload 2 /* inputMethod */
            aload 1 /* msg */
            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: .line 214
            return
        71: .line 216
      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 /* msg */
            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: .line 217
            return
        end local 2 // android.view.inputmethod.InputMethod inputMethod
        end local 1 // android.os.Message msg
        end local 0 // android.inputmethodservice.IInputMethodWrapper this
      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 // android.inputmethodservice.IInputMethodWrapper this
         0: .line 226
            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 // android.inputmethodservice.IInputMethodWrapper this
      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 // android.inputmethodservice.IInputMethodWrapper this
        start local 1 // android.os.IBinder token
         0: .line 250
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            bipush 10
            aload 1 /* token */
            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: .line 251
            return
        end local 1 // android.os.IBinder token
        end local 0 // android.inputmethodservice.IInputMethodWrapper this
      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 // android.inputmethodservice.IInputMethodWrapper this
        start local 1 // android.view.inputmethod.InputBinding binding
         0: .line 256
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
            ifnull 2
         1: .line 257
            ldc "InputMethodWrapper"
            ldc "bindInput must be paired with unbindInput."
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 262
            new com.android.internal.view.InputConnectionWrapper
            dup
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mTarget:Ljava/lang/ref/WeakReference;
         4: .line 263
            aload 1 /* binding */
            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: .line 264
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
         6: .line 262
            invokespecial com.android.internal.view.InputConnectionWrapper.<init>:(Ljava/lang/ref/WeakReference;Lcom/android/internal/view/IInputContext;ILjava/util/concurrent/atomic/AtomicBoolean;)V
            astore 2 /* ic */
        start local 2 // android.view.inputmethod.InputConnection ic
         7: .line 265
            new android.view.inputmethod.InputBinding
            dup
            aload 2 /* ic */
            aload 1 /* binding */
            invokespecial android.view.inputmethod.InputBinding.<init>:(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/InputBinding;)V
            astore 3 /* nu */
        start local 3 // android.view.inputmethod.InputBinding nu
         8: .line 266
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            bipush 20
            aload 3 /* nu */
            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: .line 267
            return
        end local 3 // android.view.inputmethod.InputBinding nu
        end local 2 // android.view.inputmethod.InputConnection ic
        end local 1 // android.view.inputmethod.InputBinding binding
        end local 0 // android.inputmethodservice.IInputMethodWrapper this
      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 // android.inputmethodservice.IInputMethodWrapper this
         0: .line 272
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
            ifnull 4
         1: .line 274
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
         2: .line 275
            aload 0 /* this */
            aconst_null
            putfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
         3: .line 276
            goto 5
         4: .line 277
      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: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            aload 0 /* this */
            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: .line 280
            return
        end local 0 // android.inputmethodservice.IInputMethodWrapper this
      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 // android.inputmethodservice.IInputMethodWrapper this
        start local 1 // android.os.IBinder startInputToken
        start local 2 // com.android.internal.view.IInputContext inputContext
        start local 3 // int missingMethods
        start local 4 // android.view.inputmethod.EditorInfo attribute
        start local 5 // boolean restarting
         0: .line 287
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
            ifnonnull 3
         1: .line 288
            ldc "InputMethodWrapper"
            ldc "startInput must be called after bindInput."
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 289
            aload 0 /* this */
            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: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            bipush 32
         4: .line 292
            iload 3 /* missingMethods */
            iload 5 /* restarting */
            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 /* startInputToken */
            aload 2 /* inputContext */
            aload 4 /* attribute */
         7: .line 293
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
         8: .line 291
            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: .line 294
            return
        end local 5 // boolean restarting
        end local 4 // android.view.inputmethod.EditorInfo attribute
        end local 3 // int missingMethods
        end local 2 // com.android.internal.view.IInputContext inputContext
        end local 1 // android.os.IBinder startInputToken
        end local 0 // android.inputmethodservice.IInputMethodWrapper this
      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 // android.inputmethodservice.IInputMethodWrapper this
        start local 1 // android.view.InputChannel channel
        start local 2 // com.android.internal.view.IInputSessionCallback callback
         0: .line 299
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            bipush 40
         1: .line 300
            aload 1 /* channel */
            aload 2 /* callback */
         2: .line 299
            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: .line 301
            return
        end local 2 // com.android.internal.view.IInputSessionCallback callback
        end local 1 // android.view.InputChannel channel
        end local 0 // android.inputmethodservice.IInputMethodWrapper this
      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 // android.inputmethodservice.IInputMethodWrapper this
        start local 1 // com.android.internal.view.IInputMethodSession session
        start local 2 // boolean enabled
         0: .line 308
            aload 1 /* session */
         1: .line 307
            checkcast android.inputmethodservice.IInputMethodSessionWrapper
         2: .line 308
            invokevirtual android.inputmethodservice.IInputMethodSessionWrapper.getInternalInputMethodSession:()Landroid/view/inputmethod/InputMethodSession;
         3: .line 307
            astore 3 /* ls */
        start local 3 // android.view.inputmethod.InputMethodSession ls
         4: .line 309
            aload 3 /* ls */
            ifnonnull 7
         5: .line 310
            ldc "InputMethodWrapper"
            new java.lang.StringBuilder
            dup
            ldc "Session is already finished: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* session */
            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: .line 311
            return
         7: .line 313
      StackMap locals: android.view.inputmethod.InputMethodSession
      StackMap stack:
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
         8: .line 314
            bipush 45
            iload 2 /* enabled */
            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 /* ls */
        11: .line 313
            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 // android.view.inputmethod.InputMethodSession ls
        12: .line 315
            goto 15
      StackMap locals: android.inputmethodservice.IInputMethodWrapper com.android.internal.view.IInputMethodSession int
      StackMap stack: java.lang.ClassCastException
        13: astore 3 /* e */
        start local 3 // java.lang.ClassCastException e
        14: .line 316
            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 /* session */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 3 // java.lang.ClassCastException e
        15: .line 318
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean enabled
        end local 1 // com.android.internal.view.IInputMethodSession session
        end local 0 // android.inputmethodservice.IInputMethodWrapper this
      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 // android.inputmethodservice.IInputMethodWrapper this
        start local 1 // com.android.internal.view.IInputMethodSession session
         0: .line 325
            aload 1 /* session */
         1: .line 324
            checkcast android.inputmethodservice.IInputMethodSessionWrapper
         2: .line 325
            invokevirtual android.inputmethodservice.IInputMethodSessionWrapper.getInternalInputMethodSession:()Landroid/view/inputmethod/InputMethodSession;
         3: .line 324
            astore 2 /* ls */
        start local 2 // android.view.inputmethod.InputMethodSession ls
         4: .line 326
            aload 2 /* ls */
            ifnonnull 7
         5: .line 327
            ldc "InputMethodWrapper"
            new java.lang.StringBuilder
            dup
            ldc "Session is already finished: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* session */
            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: .line 328
            return
         7: .line 330
      StackMap locals: android.view.inputmethod.InputMethodSession
      StackMap stack:
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            bipush 50
            aload 2 /* ls */
            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 // android.view.inputmethod.InputMethodSession ls
         8: .line 331
            goto 11
      StackMap locals: android.inputmethodservice.IInputMethodWrapper com.android.internal.view.IInputMethodSession
      StackMap stack: java.lang.ClassCastException
         9: astore 2 /* e */
        start local 2 // java.lang.ClassCastException e
        10: .line 332
            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 /* session */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 2 // java.lang.ClassCastException e
        11: .line 334
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.android.internal.view.IInputMethodSession session
        end local 0 // android.inputmethodservice.IInputMethodWrapper this
      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 // android.inputmethodservice.IInputMethodWrapper this
        start local 1 // int flags
        start local 2 // android.os.ResultReceiver resultReceiver
         0: .line 339
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            bipush 60
         1: .line 340
            iload 1 /* flags */
            aload 2 /* resultReceiver */
         2: .line 339
            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: .line 341
            return
        end local 2 // android.os.ResultReceiver resultReceiver
        end local 1 // int flags
        end local 0 // android.inputmethodservice.IInputMethodWrapper this
      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 // android.inputmethodservice.IInputMethodWrapper this
        start local 1 // int flags
        start local 2 // android.os.ResultReceiver resultReceiver
         0: .line 346
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            bipush 70
         1: .line 347
            iload 1 /* flags */
            aload 2 /* resultReceiver */
         2: .line 346
            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: .line 348
            return
        end local 2 // android.os.ResultReceiver resultReceiver
        end local 1 // int flags
        end local 0 // android.inputmethodservice.IInputMethodWrapper this
      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 // android.inputmethodservice.IInputMethodWrapper this
        start local 1 // android.view.inputmethod.InputMethodSubtype subtype
         0: .line 353
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodWrapper.mCaller:Lcom/android/internal/os/HandlerCaller;
            bipush 80
         1: .line 354
            aload 1 /* subtype */
         2: .line 353
            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: .line 355
            return
        end local 1 // android.view.inputmethod.InputMethodSubtype subtype
        end local 0 // android.inputmethodservice.IInputMethodWrapper this
      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