public class com.android.internal.view.InputConnectionWrapper implements android.view.inputmethod.InputConnection
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.android.internal.view.InputConnectionWrapper
  super_class: java.lang.Object
{
  private static final int MAX_WAIT_TIME_MILLIS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2000

  private final com.android.internal.view.IInputContext mIInputContext;
    descriptor: Lcom/android/internal/view/IInputContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.ref.WeakReference<android.inputmethodservice.AbstractInputMethodService> mInputMethodService;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/ref/WeakReference<Landroid/inputmethodservice/AbstractInputMethodService;>;

  private final int mMissingMethods;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicBoolean mIsUnbindIssued;
    descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.lang.ref.WeakReference<android.inputmethodservice.AbstractInputMethodService>, com.android.internal.view.IInputContext, int, java.util.concurrent.atomic.AtomicBoolean);
    descriptor: (Ljava/lang/ref/WeakReference;Lcom/android/internal/view/IInputContext;ILjava/util/concurrent/atomic/AtomicBoolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // java.lang.ref.WeakReference inputMethodService
        start local 2 // com.android.internal.view.IInputContext inputContext
        start local 3 // int missingMethods
        start local 4 // java.util.concurrent.atomic.AtomicBoolean isUnbindIssued
         0: .line 241
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 245
            aload 0 /* this */
            aload 1 /* inputMethodService */
            putfield com.android.internal.view.InputConnectionWrapper.mInputMethodService:Ljava/lang/ref/WeakReference;
         2: .line 246
            aload 0 /* this */
            aload 2 /* inputContext */
            putfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
         3: .line 247
            aload 0 /* this */
            iload 3 /* missingMethods */
            putfield com.android.internal.view.InputConnectionWrapper.mMissingMethods:I
         4: .line 248
            aload 0 /* this */
            aload 4 /* isUnbindIssued */
            putfield com.android.internal.view.InputConnectionWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
         5: .line 249
            return
        end local 4 // java.util.concurrent.atomic.AtomicBoolean isUnbindIssued
        end local 3 // int missingMethods
        end local 2 // com.android.internal.view.IInputContext inputContext
        end local 1 // java.lang.ref.WeakReference inputMethodService
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lcom/android/internal/view/InputConnectionWrapper;
            0    6     1  inputMethodService  Ljava/lang/ref/WeakReference<Landroid/inputmethodservice/AbstractInputMethodService;>;
            0    6     2        inputContext  Lcom/android/internal/view/IInputContext;
            0    6     3      missingMethods  I
            0    6     4      isUnbindIssued  Ljava/util/concurrent/atomic/AtomicBoolean;
    Signature: (Ljava/lang/ref/WeakReference<Landroid/inputmethodservice/AbstractInputMethodService;>;Lcom/android/internal/view/IInputContext;ILjava/util/concurrent/atomic/AtomicBoolean;)V
    MethodParameters:
                    Name  Flags
      inputMethodService  
      inputContext        
      missingMethods      final
      isUnbindIssued      

  public java.lang.CharSequence getTextAfterCursor(int, int);
    descriptor: (II)Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // int length
        start local 2 // int flags
         0: .line 253
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 2
         1: .line 254
            aconst_null
            areturn
         2: .line 257
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* value */
        start local 3 // java.lang.CharSequence value
         3: .line 259
            invokestatic com.android.internal.view.InputConnectionWrapper$InputContextCallback.getInstance:()Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
            astore 4 /* callback */
        start local 4 // com.android.internal.view.InputConnectionWrapper$InputContextCallback callback
         4: .line 260
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            iload 1 /* length */
            iload 2 /* flags */
            aload 4 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mSeq:I
            aload 4 /* callback */
            invokeinterface com.android.internal.view.IInputContext.getTextAfterCursor:(IIILcom/android/internal/view/IInputContextCallback;)V
         5: .line 261
            aload 4 /* callback */
            dup
            astore 5
            monitorenter
         6: .line 262
            aload 4 /* callback */
            invokevirtual com.android.internal.view.InputConnectionWrapper$InputContextCallback.waitForResultLocked:()V
         7: .line 263
            aload 4 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mHaveValue:Z
            ifeq 9
         8: .line 264
            aload 4 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mTextAfterCursor:Ljava/lang/CharSequence;
            astore 3 /* value */
         9: .line 261
      StackMap locals: java.lang.CharSequence com.android.internal.view.InputConnectionWrapper$InputContextCallback com.android.internal.view.InputConnectionWrapper$InputContextCallback
      StackMap stack:
            aload 5
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 5
            monitorexit
        12: athrow
        13: .line 267
      StackMap locals:
      StackMap stack:
            aload 4 /* callback */
            invokevirtual com.android.internal.view.InputConnectionWrapper$InputContextCallback.dispose:()V
        end local 4 // com.android.internal.view.InputConnectionWrapper$InputContextCallback callback
        14: .line 268
            goto 17
      StackMap locals: com.android.internal.view.InputConnectionWrapper int int java.lang.CharSequence
      StackMap stack: android.os.RemoteException
        15: pop
        16: .line 269
            aconst_null
            areturn
        17: .line 271
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            areturn
        end local 3 // java.lang.CharSequence value
        end local 2 // int flags
        end local 1 // int length
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lcom/android/internal/view/InputConnectionWrapper;
            0   18     1    length  I
            0   18     2     flags  I
            3   18     3     value  Ljava/lang/CharSequence;
            4   14     4  callback  Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
      Exception table:
        from    to  target  type
           6    10      11  any
          11    12      11  any
           3    14      15  Class android.os.RemoteException
    MethodParameters:
        Name  Flags
      length  
      flags   

  public java.lang.CharSequence getTextBeforeCursor(int, int);
    descriptor: (II)Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // int length
        start local 2 // int flags
         0: .line 276
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 2
         1: .line 277
            aconst_null
            areturn
         2: .line 280
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* value */
        start local 3 // java.lang.CharSequence value
         3: .line 282
            invokestatic com.android.internal.view.InputConnectionWrapper$InputContextCallback.getInstance:()Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
            astore 4 /* callback */
        start local 4 // com.android.internal.view.InputConnectionWrapper$InputContextCallback callback
         4: .line 283
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            iload 1 /* length */
            iload 2 /* flags */
            aload 4 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mSeq:I
            aload 4 /* callback */
            invokeinterface com.android.internal.view.IInputContext.getTextBeforeCursor:(IIILcom/android/internal/view/IInputContextCallback;)V
         5: .line 284
            aload 4 /* callback */
            dup
            astore 5
            monitorenter
         6: .line 285
            aload 4 /* callback */
            invokevirtual com.android.internal.view.InputConnectionWrapper$InputContextCallback.waitForResultLocked:()V
         7: .line 286
            aload 4 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mHaveValue:Z
            ifeq 9
         8: .line 287
            aload 4 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mTextBeforeCursor:Ljava/lang/CharSequence;
            astore 3 /* value */
         9: .line 284
      StackMap locals: java.lang.CharSequence com.android.internal.view.InputConnectionWrapper$InputContextCallback com.android.internal.view.InputConnectionWrapper$InputContextCallback
      StackMap stack:
            aload 5
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 5
            monitorexit
        12: athrow
        13: .line 290
      StackMap locals:
      StackMap stack:
            aload 4 /* callback */
            invokevirtual com.android.internal.view.InputConnectionWrapper$InputContextCallback.dispose:()V
        end local 4 // com.android.internal.view.InputConnectionWrapper$InputContextCallback callback
        14: .line 291
            goto 17
      StackMap locals: com.android.internal.view.InputConnectionWrapper int int java.lang.CharSequence
      StackMap stack: android.os.RemoteException
        15: pop
        16: .line 292
            aconst_null
            areturn
        17: .line 294
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            areturn
        end local 3 // java.lang.CharSequence value
        end local 2 // int flags
        end local 1 // int length
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lcom/android/internal/view/InputConnectionWrapper;
            0   18     1    length  I
            0   18     2     flags  I
            3   18     3     value  Ljava/lang/CharSequence;
            4   14     4  callback  Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
      Exception table:
        from    to  target  type
           6    10      11  any
          11    12      11  any
           3    14      15  Class android.os.RemoteException
    MethodParameters:
        Name  Flags
      length  
      flags   

  public java.lang.CharSequence getSelectedText(int);
    descriptor: (I)Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // int flags
         0: .line 299
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 2
         1: .line 300
            aconst_null
            areturn
         2: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.android.internal.view.InputConnectionWrapper.isMethodMissing:(I)Z
            ifeq 4
         3: .line 305
            aconst_null
            areturn
         4: .line 307
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* value */
        start local 2 // java.lang.CharSequence value
         5: .line 309
            invokestatic com.android.internal.view.InputConnectionWrapper$InputContextCallback.getInstance:()Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
            astore 3 /* callback */
        start local 3 // com.android.internal.view.InputConnectionWrapper$InputContextCallback callback
         6: .line 310
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            iload 1 /* flags */
            aload 3 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mSeq:I
            aload 3 /* callback */
            invokeinterface com.android.internal.view.IInputContext.getSelectedText:(IILcom/android/internal/view/IInputContextCallback;)V
         7: .line 311
            aload 3 /* callback */
            dup
            astore 4
            monitorenter
         8: .line 312
            aload 3 /* callback */
            invokevirtual com.android.internal.view.InputConnectionWrapper$InputContextCallback.waitForResultLocked:()V
         9: .line 313
            aload 3 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mHaveValue:Z
            ifeq 11
        10: .line 314
            aload 3 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mSelectedText:Ljava/lang/CharSequence;
            astore 2 /* value */
        11: .line 311
      StackMap locals: java.lang.CharSequence com.android.internal.view.InputConnectionWrapper$InputContextCallback com.android.internal.view.InputConnectionWrapper$InputContextCallback
      StackMap stack:
            aload 4
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 4
            monitorexit
        14: athrow
        15: .line 317
      StackMap locals:
      StackMap stack:
            aload 3 /* callback */
            invokevirtual com.android.internal.view.InputConnectionWrapper$InputContextCallback.dispose:()V
        end local 3 // com.android.internal.view.InputConnectionWrapper$InputContextCallback callback
        16: .line 318
            goto 19
      StackMap locals: com.android.internal.view.InputConnectionWrapper int java.lang.CharSequence
      StackMap stack: android.os.RemoteException
        17: pop
        18: .line 319
            aconst_null
            areturn
        19: .line 321
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 2 // java.lang.CharSequence value
        end local 1 // int flags
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lcom/android/internal/view/InputConnectionWrapper;
            0   20     1     flags  I
            5   20     2     value  Ljava/lang/CharSequence;
            6   16     3  callback  Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
      Exception table:
        from    to  target  type
           8    12      13  any
          13    14      13  any
           5    16      17  Class android.os.RemoteException
    MethodParameters:
       Name  Flags
      flags  

  public int getCursorCapsMode(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // int reqModes
         0: .line 326
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 2
         1: .line 327
            iconst_0
            ireturn
         2: .line 330
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* value */
        start local 2 // int value
         3: .line 332
            invokestatic com.android.internal.view.InputConnectionWrapper$InputContextCallback.getInstance:()Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
            astore 3 /* callback */
        start local 3 // com.android.internal.view.InputConnectionWrapper$InputContextCallback callback
         4: .line 333
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            iload 1 /* reqModes */
            aload 3 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mSeq:I
            aload 3 /* callback */
            invokeinterface com.android.internal.view.IInputContext.getCursorCapsMode:(IILcom/android/internal/view/IInputContextCallback;)V
         5: .line 334
            aload 3 /* callback */
            dup
            astore 4
            monitorenter
         6: .line 335
            aload 3 /* callback */
            invokevirtual com.android.internal.view.InputConnectionWrapper$InputContextCallback.waitForResultLocked:()V
         7: .line 336
            aload 3 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mHaveValue:Z
            ifeq 9
         8: .line 337
            aload 3 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mCursorCapsMode:I
            istore 2 /* value */
         9: .line 334
      StackMap locals: int com.android.internal.view.InputConnectionWrapper$InputContextCallback com.android.internal.view.InputConnectionWrapper$InputContextCallback
      StackMap stack:
            aload 4
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 4
            monitorexit
        12: athrow
        13: .line 340
      StackMap locals:
      StackMap stack:
            aload 3 /* callback */
            invokevirtual com.android.internal.view.InputConnectionWrapper$InputContextCallback.dispose:()V
        end local 3 // com.android.internal.view.InputConnectionWrapper$InputContextCallback callback
        14: .line 341
            goto 17
      StackMap locals: com.android.internal.view.InputConnectionWrapper int int
      StackMap stack: android.os.RemoteException
        15: pop
        16: .line 342
            iconst_0
            ireturn
        17: .line 344
      StackMap locals:
      StackMap stack:
            iload 2 /* value */
            ireturn
        end local 2 // int value
        end local 1 // int reqModes
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lcom/android/internal/view/InputConnectionWrapper;
            0   18     1  reqModes  I
            3   18     2     value  I
            4   14     3  callback  Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
      Exception table:
        from    to  target  type
           6    10      11  any
          11    12      11  any
           3    14      15  Class android.os.RemoteException
    MethodParameters:
          Name  Flags
      reqModes  

  public android.view.inputmethod.ExtractedText getExtractedText(android.view.inputmethod.ExtractedTextRequest, int);
    descriptor: (Landroid/view/inputmethod/ExtractedTextRequest;I)Landroid/view/inputmethod/ExtractedText;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // android.view.inputmethod.ExtractedTextRequest request
        start local 2 // int flags
         0: .line 349
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 2
         1: .line 350
            aconst_null
            areturn
         2: .line 353
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* value */
        start local 3 // android.view.inputmethod.ExtractedText value
         3: .line 355
            invokestatic com.android.internal.view.InputConnectionWrapper$InputContextCallback.getInstance:()Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
            astore 4 /* callback */
        start local 4 // com.android.internal.view.InputConnectionWrapper$InputContextCallback callback
         4: .line 356
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            aload 1 /* request */
            iload 2 /* flags */
            aload 4 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mSeq:I
            aload 4 /* callback */
            invokeinterface com.android.internal.view.IInputContext.getExtractedText:(Landroid/view/inputmethod/ExtractedTextRequest;IILcom/android/internal/view/IInputContextCallback;)V
         5: .line 357
            aload 4 /* callback */
            dup
            astore 5
            monitorenter
         6: .line 358
            aload 4 /* callback */
            invokevirtual com.android.internal.view.InputConnectionWrapper$InputContextCallback.waitForResultLocked:()V
         7: .line 359
            aload 4 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mHaveValue:Z
            ifeq 9
         8: .line 360
            aload 4 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mExtractedText:Landroid/view/inputmethod/ExtractedText;
            astore 3 /* value */
         9: .line 357
      StackMap locals: android.view.inputmethod.ExtractedText com.android.internal.view.InputConnectionWrapper$InputContextCallback com.android.internal.view.InputConnectionWrapper$InputContextCallback
      StackMap stack:
            aload 5
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 5
            monitorexit
        12: athrow
        13: .line 363
      StackMap locals:
      StackMap stack:
            aload 4 /* callback */
            invokevirtual com.android.internal.view.InputConnectionWrapper$InputContextCallback.dispose:()V
        end local 4 // com.android.internal.view.InputConnectionWrapper$InputContextCallback callback
        14: .line 364
            goto 17
      StackMap locals: com.android.internal.view.InputConnectionWrapper android.view.inputmethod.ExtractedTextRequest int android.view.inputmethod.ExtractedText
      StackMap stack: android.os.RemoteException
        15: pop
        16: .line 365
            aconst_null
            areturn
        17: .line 367
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            areturn
        end local 3 // android.view.inputmethod.ExtractedText value
        end local 2 // int flags
        end local 1 // android.view.inputmethod.ExtractedTextRequest request
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lcom/android/internal/view/InputConnectionWrapper;
            0   18     1   request  Landroid/view/inputmethod/ExtractedTextRequest;
            0   18     2     flags  I
            3   18     3     value  Landroid/view/inputmethod/ExtractedText;
            4   14     4  callback  Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
      Exception table:
        from    to  target  type
           6    10      11  any
          11    12      11  any
           3    14      15  Class android.os.RemoteException
    MethodParameters:
         Name  Flags
      request  
      flags    

  public boolean commitText(java.lang.CharSequence, int);
    descriptor: (Ljava/lang/CharSequence;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // java.lang.CharSequence text
        start local 2 // int newCursorPosition
         0: .line 373
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            aload 1 /* text */
            iload 2 /* newCursorPosition */
            invokeinterface com.android.internal.view.IInputContext.commitText:(Ljava/lang/CharSequence;I)V
         1: .line 374
            iconst_1
            ireturn
         2: .line 375
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         3: .line 376
            iconst_0
            ireturn
        end local 2 // int newCursorPosition
        end local 1 // java.lang.CharSequence text
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lcom/android/internal/view/InputConnectionWrapper;
            0    4     1               text  Ljava/lang/CharSequence;
            0    4     2  newCursorPosition  I
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
                   Name  Flags
      text               
      newCursorPosition  

  public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
    descriptor: (Landroid/view/inputmethod/CompletionInfo;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // android.view.inputmethod.CompletionInfo text
         0: .line 382
            aload 0 /* this */
            iconst_4
            invokevirtual com.android.internal.view.InputConnectionWrapper.isMethodMissing:(I)Z
            ifeq 2
         1: .line 384
            iconst_0
            ireturn
         2: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            aload 1 /* text */
            invokeinterface com.android.internal.view.IInputContext.commitCompletion:(Landroid/view/inputmethod/CompletionInfo;)V
         3: .line 388
            iconst_1
            ireturn
         4: .line 389
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         5: .line 390
            iconst_0
            ireturn
        end local 1 // android.view.inputmethod.CompletionInfo text
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/android/internal/view/InputConnectionWrapper;
            0    6     1  text  Landroid/view/inputmethod/CompletionInfo;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException
    MethodParameters:
      Name  Flags
      text  

  public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
    descriptor: (Landroid/view/inputmethod/CorrectionInfo;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // android.view.inputmethod.CorrectionInfo correctionInfo
         0: .line 397
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            aload 1 /* correctionInfo */
            invokeinterface com.android.internal.view.IInputContext.commitCorrection:(Landroid/view/inputmethod/CorrectionInfo;)V
         1: .line 398
            iconst_1
            ireturn
         2: .line 399
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         3: .line 400
            iconst_0
            ireturn
        end local 1 // android.view.inputmethod.CorrectionInfo correctionInfo
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lcom/android/internal/view/InputConnectionWrapper;
            0    4     1  correctionInfo  Landroid/view/inputmethod/CorrectionInfo;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
                Name  Flags
      correctionInfo  

  public boolean setSelection(int, int);
    descriptor: (II)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // int start
        start local 2 // int end
         0: .line 407
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            iload 1 /* start */
            iload 2 /* end */
            invokeinterface com.android.internal.view.IInputContext.setSelection:(II)V
         1: .line 408
            iconst_1
            ireturn
         2: .line 409
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         3: .line 410
            iconst_0
            ireturn
        end local 2 // int end
        end local 1 // int start
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/android/internal/view/InputConnectionWrapper;
            0    4     1  start  I
            0    4     2    end  I
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
       Name  Flags
      start  
      end    

  public boolean performEditorAction(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // int actionCode
         0: .line 417
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            iload 1 /* actionCode */
            invokeinterface com.android.internal.view.IInputContext.performEditorAction:(I)V
         1: .line 418
            iconst_1
            ireturn
         2: .line 419
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         3: .line 420
            iconst_0
            ireturn
        end local 1 // int actionCode
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/android/internal/view/InputConnectionWrapper;
            0    4     1  actionCode  I
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
            Name  Flags
      actionCode  

  public boolean performContextMenuAction(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // int id
         0: .line 427
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            iload 1 /* id */
            invokeinterface com.android.internal.view.IInputContext.performContextMenuAction:(I)V
         1: .line 428
            iconst_1
            ireturn
         2: .line 429
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         3: .line 430
            iconst_0
            ireturn
        end local 1 // int id
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/android/internal/view/InputConnectionWrapper;
            0    4     1    id  I
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
      Name  Flags
      id    

  public boolean setComposingRegion(int, int);
    descriptor: (II)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // int start
        start local 2 // int end
         0: .line 436
            aload 0 /* this */
            iconst_2
            invokevirtual com.android.internal.view.InputConnectionWrapper.isMethodMissing:(I)Z
            ifeq 2
         1: .line 438
            iconst_0
            ireturn
         2: .line 441
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            iload 1 /* start */
            iload 2 /* end */
            invokeinterface com.android.internal.view.IInputContext.setComposingRegion:(II)V
         3: .line 442
            iconst_1
            ireturn
         4: .line 443
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         5: .line 444
            iconst_0
            ireturn
        end local 2 // int end
        end local 1 // int start
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/android/internal/view/InputConnectionWrapper;
            0    6     1  start  I
            0    6     2    end  I
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException
    MethodParameters:
       Name  Flags
      start  
      end    

  public boolean setComposingText(java.lang.CharSequence, int);
    descriptor: (Ljava/lang/CharSequence;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // java.lang.CharSequence text
        start local 2 // int newCursorPosition
         0: .line 451
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            aload 1 /* text */
            iload 2 /* newCursorPosition */
            invokeinterface com.android.internal.view.IInputContext.setComposingText:(Ljava/lang/CharSequence;I)V
         1: .line 452
            iconst_1
            ireturn
         2: .line 453
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         3: .line 454
            iconst_0
            ireturn
        end local 2 // int newCursorPosition
        end local 1 // java.lang.CharSequence text
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lcom/android/internal/view/InputConnectionWrapper;
            0    4     1               text  Ljava/lang/CharSequence;
            0    4     2  newCursorPosition  I
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
                   Name  Flags
      text               
      newCursorPosition  

  public boolean finishComposingText();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.internal.view.InputConnectionWrapper this
         0: .line 461
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            invokeinterface com.android.internal.view.IInputContext.finishComposingText:()V
         1: .line 462
            iconst_1
            ireturn
         2: .line 463
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         3: .line 464
            iconst_0
            ireturn
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/android/internal/view/InputConnectionWrapper;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException

  public boolean beginBatchEdit();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.internal.view.InputConnectionWrapper this
         0: .line 471
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            invokeinterface com.android.internal.view.IInputContext.beginBatchEdit:()V
         1: .line 472
            iconst_1
            ireturn
         2: .line 473
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         3: .line 474
            iconst_0
            ireturn
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/android/internal/view/InputConnectionWrapper;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException

  public boolean endBatchEdit();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.internal.view.InputConnectionWrapper this
         0: .line 481
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            invokeinterface com.android.internal.view.IInputContext.endBatchEdit:()V
         1: .line 482
            iconst_1
            ireturn
         2: .line 483
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         3: .line 484
            iconst_0
            ireturn
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/android/internal/view/InputConnectionWrapper;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException

  public boolean sendKeyEvent(android.view.KeyEvent);
    descriptor: (Landroid/view/KeyEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // android.view.KeyEvent event
         0: .line 491
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            aload 1 /* event */
            invokeinterface com.android.internal.view.IInputContext.sendKeyEvent:(Landroid/view/KeyEvent;)V
         1: .line 492
            iconst_1
            ireturn
         2: .line 493
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         3: .line 494
            iconst_0
            ireturn
        end local 1 // android.view.KeyEvent event
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/android/internal/view/InputConnectionWrapper;
            0    4     1  event  Landroid/view/KeyEvent;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
       Name  Flags
      event  

  public boolean clearMetaKeyStates(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // int states
         0: .line 501
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            iload 1 /* states */
            invokeinterface com.android.internal.view.IInputContext.clearMetaKeyStates:(I)V
         1: .line 502
            iconst_1
            ireturn
         2: .line 503
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         3: .line 504
            iconst_0
            ireturn
        end local 1 // int states
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/android/internal/view/InputConnectionWrapper;
            0    4     1  states  I
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
        Name  Flags
      states  

  public boolean deleteSurroundingText(int, int);
    descriptor: (II)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // int beforeLength
        start local 2 // int afterLength
         0: .line 511
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            iload 1 /* beforeLength */
            iload 2 /* afterLength */
            invokeinterface com.android.internal.view.IInputContext.deleteSurroundingText:(II)V
         1: .line 512
            iconst_1
            ireturn
         2: .line 513
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         3: .line 514
            iconst_0
            ireturn
        end local 2 // int afterLength
        end local 1 // int beforeLength
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/android/internal/view/InputConnectionWrapper;
            0    4     1  beforeLength  I
            0    4     2   afterLength  I
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
              Name  Flags
      beforeLength  
      afterLength   

  public boolean deleteSurroundingTextInCodePoints(int, int);
    descriptor: (II)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // int beforeLength
        start local 2 // int afterLength
         0: .line 520
            aload 0 /* this */
            bipush 16
            invokevirtual com.android.internal.view.InputConnectionWrapper.isMethodMissing:(I)Z
            ifeq 2
         1: .line 522
            iconst_0
            ireturn
         2: .line 525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            iload 1 /* beforeLength */
            iload 2 /* afterLength */
            invokeinterface com.android.internal.view.IInputContext.deleteSurroundingTextInCodePoints:(II)V
         3: .line 526
            iconst_1
            ireturn
         4: .line 527
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         5: .line 528
            iconst_0
            ireturn
        end local 2 // int afterLength
        end local 1 // int beforeLength
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lcom/android/internal/view/InputConnectionWrapper;
            0    6     1  beforeLength  I
            0    6     2   afterLength  I
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException
    MethodParameters:
              Name  Flags
      beforeLength  
      afterLength   

  public boolean reportFullscreenMode(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // boolean enabled
         0: .line 535
            iconst_0
            ireturn
        end local 1 // boolean enabled
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/android/internal/view/InputConnectionWrapper;
            0    1     1  enabled  Z
    MethodParameters:
         Name  Flags
      enabled  

  public boolean performPrivateCommand(java.lang.String, android.os.Bundle);
    descriptor: (Ljava/lang/String;Landroid/os/Bundle;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // java.lang.String action
        start local 2 // android.os.Bundle data
         0: .line 541
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            aload 1 /* action */
            aload 2 /* data */
            invokeinterface com.android.internal.view.IInputContext.performPrivateCommand:(Ljava/lang/String;Landroid/os/Bundle;)V
         1: .line 542
            iconst_1
            ireturn
         2: .line 543
      StackMap locals:
      StackMap stack: android.os.RemoteException
            pop
         3: .line 544
            iconst_0
            ireturn
        end local 2 // android.os.Bundle data
        end local 1 // java.lang.String action
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/android/internal/view/InputConnectionWrapper;
            0    4     1  action  Ljava/lang/String;
            0    4     2    data  Landroid/os/Bundle;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
        Name  Flags
      action  
      data    

  public boolean requestCursorUpdates(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // int cursorUpdateMode
         0: .line 550
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 2
         1: .line 551
            iconst_0
            ireturn
         2: .line 554
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* result */
        start local 2 // boolean result
         3: .line 555
            aload 0 /* this */
            bipush 8
            invokevirtual com.android.internal.view.InputConnectionWrapper.isMethodMissing:(I)Z
            ifeq 5
         4: .line 557
            iconst_0
            ireturn
         5: .line 560
      StackMap locals: int
      StackMap stack:
            invokestatic com.android.internal.view.InputConnectionWrapper$InputContextCallback.getInstance:()Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
            astore 3 /* callback */
        start local 3 // com.android.internal.view.InputConnectionWrapper$InputContextCallback callback
         6: .line 561
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            iload 1 /* cursorUpdateMode */
            aload 3 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mSeq:I
            aload 3 /* callback */
            invokeinterface com.android.internal.view.IInputContext.requestUpdateCursorAnchorInfo:(IILcom/android/internal/view/IInputContextCallback;)V
         7: .line 562
            aload 3 /* callback */
            dup
            astore 4
            monitorenter
         8: .line 563
            aload 3 /* callback */
            invokevirtual com.android.internal.view.InputConnectionWrapper$InputContextCallback.waitForResultLocked:()V
         9: .line 564
            aload 3 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mHaveValue:Z
            ifeq 11
        10: .line 565
            aload 3 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mRequestUpdateCursorAnchorInfoResult:Z
            istore 2 /* result */
        11: .line 562
      StackMap locals: com.android.internal.view.InputConnectionWrapper$InputContextCallback com.android.internal.view.InputConnectionWrapper$InputContextCallback
      StackMap stack:
            aload 4
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 4
            monitorexit
        14: athrow
        15: .line 568
      StackMap locals:
      StackMap stack:
            aload 3 /* callback */
            invokevirtual com.android.internal.view.InputConnectionWrapper$InputContextCallback.dispose:()V
        end local 3 // com.android.internal.view.InputConnectionWrapper$InputContextCallback callback
        16: .line 569
            goto 19
      StackMap locals: com.android.internal.view.InputConnectionWrapper int int
      StackMap stack: android.os.RemoteException
        17: pop
        18: .line 570
            iconst_0
            ireturn
        19: .line 572
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // int cursorUpdateMode
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0              this  Lcom/android/internal/view/InputConnectionWrapper;
            0   20     1  cursorUpdateMode  I
            3   20     2            result  Z
            6   16     3          callback  Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
      Exception table:
        from    to  target  type
           8    12      13  any
          13    14      13  any
           5    16      17  Class android.os.RemoteException
    MethodParameters:
                  Name  Flags
      cursorUpdateMode  

  public android.os.Handler getHandler();
    descriptor: ()Landroid/os/Handler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.internal.view.InputConnectionWrapper this
         0: .line 578
            aconst_null
            areturn
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/view/InputConnectionWrapper;

  public void closeConnection();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.android.internal.view.InputConnectionWrapper this
         0: .line 584
            return
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/view/InputConnectionWrapper;

  public boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
    descriptor: (Landroid/view/inputmethod/InputContentInfo;ILandroid/os/Bundle;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // android.view.inputmethod.InputContentInfo inputContentInfo
        start local 2 // int flags
        start local 3 // android.os.Bundle opts
         0: .line 588
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIsUnbindIssued:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 2
         1: .line 589
            iconst_0
            ireturn
         2: .line 592
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* result */
        start local 4 // boolean result
         3: .line 593
            aload 0 /* this */
            sipush 128
            invokevirtual com.android.internal.view.InputConnectionWrapper.isMethodMissing:(I)Z
            ifeq 5
         4: .line 595
            iconst_0
            ireturn
         5: .line 598
      StackMap locals: int
      StackMap stack:
            iload 2 /* flags */
            iconst_1
            iand
            ifeq 10
         6: .line 599
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mInputMethodService:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast android.inputmethodservice.AbstractInputMethodService
            astore 5 /* inputMethodService */
        start local 5 // android.inputmethodservice.AbstractInputMethodService inputMethodService
         7: .line 600
            aload 5 /* inputMethodService */
            ifnonnull 9
         8: .line 602
            iconst_0
            ireturn
         9: .line 604
      StackMap locals: android.inputmethodservice.AbstractInputMethodService
      StackMap stack:
            aload 5 /* inputMethodService */
            aload 1 /* inputContentInfo */
            aload 0 /* this */
            invokevirtual android.inputmethodservice.AbstractInputMethodService.exposeContent:(Landroid/view/inputmethod/InputContentInfo;Landroid/view/inputmethod/InputConnection;)V
        end local 5 // android.inputmethodservice.AbstractInputMethodService inputMethodService
        10: .line 607
      StackMap locals:
      StackMap stack:
            invokestatic com.android.internal.view.InputConnectionWrapper$InputContextCallback.getInstance:()Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
            astore 5 /* callback */
        start local 5 // com.android.internal.view.InputConnectionWrapper$InputContextCallback callback
        11: .line 608
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mIInputContext:Lcom/android/internal/view/IInputContext;
            aload 1 /* inputContentInfo */
            iload 2 /* flags */
            aload 3 /* opts */
            aload 5 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mSeq:I
            aload 5 /* callback */
            invokeinterface com.android.internal.view.IInputContext.commitContent:(Landroid/view/inputmethod/InputContentInfo;ILandroid/os/Bundle;ILcom/android/internal/view/IInputContextCallback;)V
        12: .line 609
            aload 5 /* callback */
            dup
            astore 6
            monitorenter
        13: .line 610
            aload 5 /* callback */
            invokevirtual com.android.internal.view.InputConnectionWrapper$InputContextCallback.waitForResultLocked:()V
        14: .line 611
            aload 5 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mHaveValue:Z
            ifeq 16
        15: .line 612
            aload 5 /* callback */
            getfield com.android.internal.view.InputConnectionWrapper$InputContextCallback.mCommitContentResult:Z
            istore 4 /* result */
        16: .line 609
      StackMap locals: com.android.internal.view.InputConnectionWrapper$InputContextCallback com.android.internal.view.InputConnectionWrapper$InputContextCallback
      StackMap stack:
            aload 6
            monitorexit
        17: goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: aload 6
            monitorexit
        19: athrow
        20: .line 615
      StackMap locals:
      StackMap stack:
            aload 5 /* callback */
            invokevirtual com.android.internal.view.InputConnectionWrapper$InputContextCallback.dispose:()V
        end local 5 // com.android.internal.view.InputConnectionWrapper$InputContextCallback callback
        21: .line 616
            goto 24
      StackMap locals: com.android.internal.view.InputConnectionWrapper android.view.inputmethod.InputContentInfo int android.os.Bundle int
      StackMap stack: android.os.RemoteException
        22: pop
        23: .line 617
            iconst_0
            ireturn
        24: .line 619
      StackMap locals:
      StackMap stack:
            iload 4 /* result */
            ireturn
        end local 4 // boolean result
        end local 3 // android.os.Bundle opts
        end local 2 // int flags
        end local 1 // android.view.inputmethod.InputContentInfo inputContentInfo
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   25     0                this  Lcom/android/internal/view/InputConnectionWrapper;
            0   25     1    inputContentInfo  Landroid/view/inputmethod/InputContentInfo;
            0   25     2               flags  I
            0   25     3                opts  Landroid/os/Bundle;
            3   25     4              result  Z
            7   10     5  inputMethodService  Landroid/inputmethodservice/AbstractInputMethodService;
           11   21     5            callback  Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
      Exception table:
        from    to  target  type
          13    17      18  any
          18    19      18  any
           5     8      22  Class android.os.RemoteException
           9    21      22  Class android.os.RemoteException
    MethodParameters:
                  Name  Flags
      inputContentInfo  
      flags             
      opts              

  private boolean isMethodMissing(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.internal.view.InputConnectionWrapper this
        start local 1 // int methodFlag
         0: .line 624
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mMissingMethods:I
            iload 1 /* methodFlag */
            iand
            iload 1 /* methodFlag */
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int methodFlag
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/android/internal/view/InputConnectionWrapper;
            0    2     1  methodFlag  I
    MethodParameters:
            Name  Flags
      methodFlag  final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.android.internal.view.InputConnectionWrapper this
         0: .line 630
            new java.lang.StringBuilder
            dup
            ldc "InputConnectionWrapper{idHash=#"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 631
            aload 0 /* this */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 632
            ldc " mMissingMethods="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 633
            aload 0 /* this */
            getfield com.android.internal.view.InputConnectionWrapper.mMissingMethods:I
            invokestatic android.view.inputmethod.InputConnectionInspector.getMissingMethodFlagsAsString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 630
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.android.internal.view.InputConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/android/internal/view/InputConnectionWrapper;
}
SourceFile: "InputConnectionWrapper.java"
NestMembers:
  com.android.internal.view.InputConnectionWrapper$InputContextCallback
InnerClasses:
  InputContextCallback = com.android.internal.view.InputConnectionWrapper$InputContextCallback of com.android.internal.view.InputConnectionWrapper