final class android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver extends android.view.InputEventReceiver implements android.view.inputmethod.InputMethodSession$EventCallback
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver
  super_class: android.view.InputEventReceiver
{
  private final android.util.SparseArray<android.view.InputEvent> mPendingEvents;
    descriptor: Landroid/util/SparseArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Landroid/util/SparseArray<Landroid/view/InputEvent;>;

  final android.inputmethodservice.IInputMethodSessionWrapper this$0;
    descriptor: Landroid/inputmethodservice/IInputMethodSessionWrapper;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(android.inputmethodservice.IInputMethodSessionWrapper, android.view.InputChannel, android.os.Looper);
    descriptor: (Landroid/inputmethodservice/IInputMethodSessionWrapper;Landroid/view/InputChannel;Landroid/os/Looper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver this
        start local 2 // android.view.InputChannel inputChannel
        start local 3 // android.os.Looper looper
         0: .line 216
            aload 0 /* this */
            aload 1
            putfield android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver.this$0:Landroid/inputmethodservice/IInputMethodSessionWrapper;
         1: .line 217
            aload 0 /* this */
            aload 2 /* inputChannel */
            aload 3 /* looper */
            invokespecial android.view.InputEventReceiver.<init>:(Landroid/view/InputChannel;Landroid/os/Looper;)V
         2: .line 214
            aload 0 /* this */
            new android.util.SparseArray
            dup
            invokespecial android.util.SparseArray.<init>:()V
            putfield android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver.mPendingEvents:Landroid/util/SparseArray;
         3: .line 218
            return
        end local 3 // android.os.Looper looper
        end local 2 // android.view.InputChannel inputChannel
        end local 0 // android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Landroid/inputmethodservice/IInputMethodSessionWrapper$ImeInputEventReceiver;
            0    4     2  inputChannel  Landroid/view/InputChannel;
            0    4     3        looper  Landroid/os/Looper;
    MethodParameters:
              Name  Flags
      this$0        final
      inputChannel  
      looper        

  public void onInputEvent(android.view.InputEvent, int);
    descriptor: (Landroid/view/InputEvent;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver this
        start local 1 // android.view.InputEvent event
        start local 2 // int displayId
         0: .line 222
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver.this$0:Landroid/inputmethodservice/IInputMethodSessionWrapper;
            getfield android.inputmethodservice.IInputMethodSessionWrapper.mInputMethodSession:Landroid/view/inputmethod/InputMethodSession;
            ifnonnull 3
         1: .line 224
            aload 0 /* this */
            aload 1 /* event */
            iconst_0
            invokevirtual android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver.finishInputEvent:(Landroid/view/InputEvent;Z)V
         2: .line 225
            return
         3: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            invokevirtual android.view.InputEvent.getSequenceNumber:()I
            istore 3 /* seq */
        start local 3 // int seq
         4: .line 229
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver.mPendingEvents:Landroid/util/SparseArray;
            iload 3 /* seq */
            aload 1 /* event */
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
         5: .line 230
            aload 1 /* event */
            instanceof android.view.KeyEvent
            ifeq 9
         6: .line 231
            aload 1 /* event */
            checkcast android.view.KeyEvent
            astore 4 /* keyEvent */
        start local 4 // android.view.KeyEvent keyEvent
         7: .line 232
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver.this$0:Landroid/inputmethodservice/IInputMethodSessionWrapper;
            getfield android.inputmethodservice.IInputMethodSessionWrapper.mInputMethodSession:Landroid/view/inputmethod/InputMethodSession;
            iload 3 /* seq */
            aload 4 /* keyEvent */
            aload 0 /* this */
            invokeinterface android.view.inputmethod.InputMethodSession.dispatchKeyEvent:(ILandroid/view/KeyEvent;Landroid/view/inputmethod/InputMethodSession$EventCallback;)V
        end local 4 // android.view.KeyEvent keyEvent
         8: .line 233
            goto 14
         9: .line 234
      StackMap locals: int
      StackMap stack:
            aload 1 /* event */
            checkcast android.view.MotionEvent
            astore 4 /* motionEvent */
        start local 4 // android.view.MotionEvent motionEvent
        10: .line 235
            aload 4 /* motionEvent */
            iconst_4
            invokevirtual android.view.MotionEvent.isFromSource:(I)Z
            ifeq 13
        11: .line 236
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver.this$0:Landroid/inputmethodservice/IInputMethodSessionWrapper;
            getfield android.inputmethodservice.IInputMethodSessionWrapper.mInputMethodSession:Landroid/view/inputmethod/InputMethodSession;
            iload 3 /* seq */
            aload 4 /* motionEvent */
            aload 0 /* this */
            invokeinterface android.view.inputmethod.InputMethodSession.dispatchTrackballEvent:(ILandroid/view/MotionEvent;Landroid/view/inputmethod/InputMethodSession$EventCallback;)V
        12: .line 237
            goto 14
        13: .line 238
      StackMap locals: android.view.MotionEvent
      StackMap stack:
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver.this$0:Landroid/inputmethodservice/IInputMethodSessionWrapper;
            getfield android.inputmethodservice.IInputMethodSessionWrapper.mInputMethodSession:Landroid/view/inputmethod/InputMethodSession;
            iload 3 /* seq */
            aload 4 /* motionEvent */
            aload 0 /* this */
            invokeinterface android.view.inputmethod.InputMethodSession.dispatchGenericMotionEvent:(ILandroid/view/MotionEvent;Landroid/view/inputmethod/InputMethodSession$EventCallback;)V
        end local 4 // android.view.MotionEvent motionEvent
        14: .line 241
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int seq
        end local 2 // int displayId
        end local 1 // android.view.InputEvent event
        end local 0 // android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Landroid/inputmethodservice/IInputMethodSessionWrapper$ImeInputEventReceiver;
            0   15     1        event  Landroid/view/InputEvent;
            0   15     2    displayId  I
            4   15     3          seq  I
            7    8     4     keyEvent  Landroid/view/KeyEvent;
           10   14     4  motionEvent  Landroid/view/MotionEvent;
    MethodParameters:
           Name  Flags
      event      
      displayId  

  public void finishedEvent(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver this
        start local 1 // int seq
        start local 2 // boolean handled
         0: .line 245
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver.mPendingEvents:Landroid/util/SparseArray;
            iload 1 /* seq */
            invokevirtual android.util.SparseArray.indexOfKey:(I)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 246
            iload 3 /* index */
            iflt 5
         2: .line 247
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver.mPendingEvents:Landroid/util/SparseArray;
            iload 3 /* index */
            invokevirtual android.util.SparseArray.valueAt:(I)Ljava/lang/Object;
            checkcast android.view.InputEvent
            astore 4 /* event */
        start local 4 // android.view.InputEvent event
         3: .line 248
            aload 0 /* this */
            getfield android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver.mPendingEvents:Landroid/util/SparseArray;
            iload 3 /* index */
            invokevirtual android.util.SparseArray.removeAt:(I)V
         4: .line 249
            aload 0 /* this */
            aload 4 /* event */
            iload 2 /* handled */
            invokevirtual android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver.finishInputEvent:(Landroid/view/InputEvent;Z)V
        end local 4 // android.view.InputEvent event
         5: .line 251
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // int index
        end local 2 // boolean handled
        end local 1 // int seq
        end local 0 // android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Landroid/inputmethodservice/IInputMethodSessionWrapper$ImeInputEventReceiver;
            0    6     1      seq  I
            0    6     2  handled  Z
            1    6     3    index  I
            3    5     4    event  Landroid/view/InputEvent;
    MethodParameters:
         Name  Flags
      seq      
      handled  
}
SourceFile: "IInputMethodSessionWrapper.java"
NestHost: android.inputmethodservice.IInputMethodSessionWrapper
InnerClasses:
  private final ImeInputEventReceiver = android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver of android.inputmethodservice.IInputMethodSessionWrapper
  public abstract EventCallback = android.view.inputmethod.InputMethodSession$EventCallback of android.view.inputmethod.InputMethodSession