public class android.inputmethodservice.InputMethodService$InputMethodImpl extends android.inputmethodservice.AbstractInputMethodService$AbstractInputMethodImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.inputmethodservice.InputMethodService$InputMethodImpl
  super_class: android.inputmethodservice.AbstractInputMethodService$AbstractInputMethodImpl
{
  final android.inputmethodservice.InputMethodService this$0;
    descriptor: Landroid/inputmethodservice/InputMethodService;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(android.inputmethodservice.InputMethodService);
    descriptor: (Landroid/inputmethodservice/InputMethodService;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
         0: .line 455
            aload 0 /* this */
            aload 1
            putfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            aload 0 /* this */
            aload 1
            invokespecial android.inputmethodservice.AbstractInputMethodService$AbstractInputMethodImpl.<init>:(Landroid/inputmethodservice/AbstractInputMethodService;)V
            return
        end local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/inputmethodservice/InputMethodService$InputMethodImpl;
    MethodParameters:
        Name  Flags
      this$0  final

  public void attachToken(android.os.IBinder);
    descriptor: (Landroid/os/IBinder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
        start local 1 // android.os.IBinder token
         0: .line 462
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            getfield android.inputmethodservice.InputMethodService.mToken:Landroid/os/IBinder;
            ifnonnull 3
         1: .line 463
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            aload 1 /* token */
            putfield android.inputmethodservice.InputMethodService.mToken:Landroid/os/IBinder;
         2: .line 464
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            getfield android.inputmethodservice.InputMethodService.mWindow:Landroid/inputmethodservice/SoftInputWindow;
            aload 1 /* token */
            invokevirtual android.inputmethodservice.SoftInputWindow.setToken:(Landroid/os/IBinder;)V
         3: .line 466
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.os.IBinder token
        end local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/inputmethodservice/InputMethodService$InputMethodImpl;
            0    4     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=3, locals=2, args_size=2
        start local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
        start local 1 // android.view.inputmethod.InputBinding binding
         0: .line 476
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            aload 1 /* binding */
            putfield android.inputmethodservice.InputMethodService.mInputBinding:Landroid/view/inputmethod/InputBinding;
         1: .line 477
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            aload 1 /* binding */
            invokevirtual android.view.inputmethod.InputBinding.getConnection:()Landroid/view/inputmethod/InputConnection;
            putfield android.inputmethodservice.InputMethodService.mInputConnection:Landroid/view/inputmethod/InputConnection;
         2: .line 480
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            getfield android.inputmethodservice.InputMethodService.mImm:Landroid/view/inputmethod/InputMethodManager;
            ifnull 4
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            getfield android.inputmethodservice.InputMethodService.mToken:Landroid/os/IBinder;
            ifnull 4
         3: .line 481
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            getfield android.inputmethodservice.InputMethodService.mImm:Landroid/view/inputmethod/InputMethodManager;
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            getfield android.inputmethodservice.InputMethodService.mToken:Landroid/os/IBinder;
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            getfield android.inputmethodservice.InputMethodService.mIsFullscreen:Z
            invokevirtual android.view.inputmethod.InputMethodManager.reportFullscreenMode:(Landroid/os/IBinder;Z)V
         4: .line 483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            invokevirtual android.inputmethodservice.InputMethodService.initialize:()V
         5: .line 484
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            invokevirtual android.inputmethodservice.InputMethodService.onBindInput:()V
         6: .line 485
            return
        end local 1 // android.view.inputmethod.InputBinding binding
        end local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Landroid/inputmethodservice/InputMethodService$InputMethodImpl;
            0    7     1  binding  Landroid/view/inputmethod/InputBinding;
    MethodParameters:
         Name  Flags
      binding  

  public void unbindInput();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
         0: .line 497
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            invokevirtual android.inputmethodservice.InputMethodService.onUnbindInput:()V
         1: .line 498
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            aconst_null
            putfield android.inputmethodservice.InputMethodService.mInputBinding:Landroid/view/inputmethod/InputBinding;
         2: .line 499
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            aconst_null
            putfield android.inputmethodservice.InputMethodService.mInputConnection:Landroid/view/inputmethod/InputConnection;
         3: .line 500
            return
        end local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/inputmethodservice/InputMethodService$InputMethodImpl;

  public void startInput(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo);
    descriptor: (Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
        start local 1 // android.view.inputmethod.InputConnection ic
        start local 2 // android.view.inputmethod.EditorInfo attribute
         0: .line 509
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            aload 1 /* ic */
            aload 2 /* attribute */
            iconst_0
            invokevirtual android.inputmethodservice.InputMethodService.doStartInput:(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;Z)V
         1: .line 510
            return
        end local 2 // android.view.inputmethod.EditorInfo attribute
        end local 1 // android.view.inputmethod.InputConnection ic
        end local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Landroid/inputmethodservice/InputMethodService$InputMethodImpl;
            0    2     1         ic  Landroid/view/inputmethod/InputConnection;
            0    2     2  attribute  Landroid/view/inputmethod/EditorInfo;
    MethodParameters:
           Name  Flags
      ic         
      attribute  

  public void restartInput(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo);
    descriptor: (Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
        start local 1 // android.view.inputmethod.InputConnection ic
        start local 2 // android.view.inputmethod.EditorInfo attribute
         0: .line 519
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            aload 1 /* ic */
            aload 2 /* attribute */
            iconst_1
            invokevirtual android.inputmethodservice.InputMethodService.doStartInput:(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;Z)V
         1: .line 520
            return
        end local 2 // android.view.inputmethod.EditorInfo attribute
        end local 1 // android.view.inputmethod.InputConnection ic
        end local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Landroid/inputmethodservice/InputMethodService$InputMethodImpl;
            0    2     1         ic  Landroid/view/inputmethod/InputConnection;
            0    2     2  attribute  Landroid/view/inputmethod/EditorInfo;
    MethodParameters:
           Name  Flags
      ic         
      attribute  

  public void dispatchStartInputWithToken(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo, boolean, android.os.IBinder);
    descriptor: (Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;ZLandroid/os/IBinder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
        start local 1 // android.view.inputmethod.InputConnection inputConnection
        start local 2 // android.view.inputmethod.EditorInfo editorInfo
        start local 3 // boolean restarting
        start local 4 // android.os.IBinder startInputToken
         0: .line 531
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            aload 4 /* startInputToken */
            putfield android.inputmethodservice.InputMethodService.mStartInputToken:Landroid/os/IBinder;
         1: .line 536
            aload 0 /* this */
            aload 1 /* inputConnection */
            aload 2 /* editorInfo */
            iload 3 /* restarting */
         2: .line 537
            aload 4 /* startInputToken */
         3: .line 536
            invokespecial android.inputmethodservice.AbstractInputMethodService$AbstractInputMethodImpl.dispatchStartInputWithToken:(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;ZLandroid/os/IBinder;)V
         4: .line 538
            return
        end local 4 // android.os.IBinder startInputToken
        end local 3 // boolean restarting
        end local 2 // android.view.inputmethod.EditorInfo editorInfo
        end local 1 // android.view.inputmethod.InputConnection inputConnection
        end local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Landroid/inputmethodservice/InputMethodService$InputMethodImpl;
            0    5     1  inputConnection  Landroid/view/inputmethod/InputConnection;
            0    5     2       editorInfo  Landroid/view/inputmethod/EditorInfo;
            0    5     3       restarting  Z
            0    5     4  startInputToken  Landroid/os/IBinder;
    MethodParameters:
                 Name  Flags
      inputConnection  
      editorInfo       
      restarting       
      startInputToken  

  public void hideSoftInput(int, android.os.ResultReceiver);
    descriptor: (ILandroid/os/ResultReceiver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
        start local 1 // int flags
        start local 2 // android.os.ResultReceiver resultReceiver
         0: .line 547
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            invokevirtual android.inputmethodservice.InputMethodService.isInputViewShown:()Z
            istore 3 /* wasVis */
        start local 3 // boolean wasVis
         1: .line 548
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            iconst_0
            putfield android.inputmethodservice.InputMethodService.mShowInputFlags:I
         2: .line 549
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            iconst_0
            putfield android.inputmethodservice.InputMethodService.mShowInputRequested:Z
         3: .line 550
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            invokevirtual android.inputmethodservice.InputMethodService.doHideWindow:()V
         4: .line 551
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            invokevirtual android.inputmethodservice.InputMethodService.clearInsetOfPreviousIme:()V
         5: .line 552
            aload 2 /* resultReceiver */
            ifnull 12
         6: .line 553
            aload 2 /* resultReceiver */
            iload 3 /* wasVis */
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            invokevirtual android.inputmethodservice.InputMethodService.isInputViewShown:()Z
            if_icmpeq 8
         7: .line 554
            iconst_3
            goto 10
         8: .line 555
      StackMap locals: android.inputmethodservice.InputMethodService$InputMethodImpl int android.os.ResultReceiver int
      StackMap stack: android.os.ResultReceiver
            iload 3 /* wasVis */
            ifeq 9
            iconst_0
            goto 10
         9: .line 556
      StackMap locals:
      StackMap stack: android.os.ResultReceiver
            iconst_1
      StackMap locals: android.inputmethodservice.InputMethodService$InputMethodImpl int android.os.ResultReceiver int
      StackMap stack: android.os.ResultReceiver int
        10: aconst_null
        11: .line 553
            invokevirtual android.os.ResultReceiver.send:(ILandroid/os/Bundle;)V
        12: .line 558
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean wasVis
        end local 2 // android.os.ResultReceiver resultReceiver
        end local 1 // int flags
        end local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Landroid/inputmethodservice/InputMethodService$InputMethodImpl;
            0   13     1           flags  I
            0   13     2  resultReceiver  Landroid/os/ResultReceiver;
            1   13     3          wasVis  Z
    MethodParameters:
                Name  Flags
      flags           
      resultReceiver  

  public void showSoftInput(int, android.os.ResultReceiver);
    descriptor: (ILandroid/os/ResultReceiver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
        start local 1 // int flags
        start local 2 // android.os.ResultReceiver resultReceiver
         0: .line 567
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            invokevirtual android.inputmethodservice.InputMethodService.isInputViewShown:()Z
            istore 3 /* wasVis */
        start local 3 // boolean wasVis
         1: .line 568
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            iload 1 /* flags */
            iconst_0
            invokevirtual android.inputmethodservice.InputMethodService.dispatchOnShowInputRequested:(IZ)Z
            ifeq 5
         2: .line 570
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            iconst_1
            invokevirtual android.inputmethodservice.InputMethodService.showWindow:(Z)V
         3: .line 571
            goto 5
      StackMap locals: android.inputmethodservice.InputMethodService$InputMethodImpl int android.os.ResultReceiver int
      StackMap stack: android.view.WindowManager$BadTokenException
         4: pop
         5: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            invokevirtual android.inputmethodservice.InputMethodService.clearInsetOfPreviousIme:()V
         6: .line 582
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            getfield android.inputmethodservice.InputMethodService.mImm:Landroid/view/inputmethod/InputMethodManager;
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            getfield android.inputmethodservice.InputMethodService.mToken:Landroid/os/IBinder;
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            getfield android.inputmethodservice.InputMethodService.mStartInputToken:Landroid/os/IBinder;
         7: .line 583
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            invokevirtual android.inputmethodservice.InputMethodService.isInputViewShown:()Z
            invokestatic android.inputmethodservice.InputMethodService.mapToImeWindowStatus:(Z)I
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            getfield android.inputmethodservice.InputMethodService.mBackDisposition:I
         8: .line 582
            invokevirtual android.view.inputmethod.InputMethodManager.setImeWindowStatus:(Landroid/os/IBinder;Landroid/os/IBinder;II)V
         9: .line 584
            aload 2 /* resultReceiver */
            ifnull 16
        10: .line 585
            aload 2 /* resultReceiver */
            iload 3 /* wasVis */
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            invokevirtual android.inputmethodservice.InputMethodService.isInputViewShown:()Z
            if_icmpeq 12
        11: .line 586
            iconst_2
            goto 14
        12: .line 587
      StackMap locals:
      StackMap stack: android.os.ResultReceiver
            iload 3 /* wasVis */
            ifeq 13
            iconst_0
            goto 14
        13: .line 588
      StackMap locals:
      StackMap stack: android.os.ResultReceiver
            iconst_1
      StackMap locals: android.inputmethodservice.InputMethodService$InputMethodImpl int android.os.ResultReceiver int
      StackMap stack: android.os.ResultReceiver int
        14: aconst_null
        15: .line 585
            invokevirtual android.os.ResultReceiver.send:(ILandroid/os/Bundle;)V
        16: .line 590
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean wasVis
        end local 2 // android.os.ResultReceiver resultReceiver
        end local 1 // int flags
        end local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Landroid/inputmethodservice/InputMethodService$InputMethodImpl;
            0   17     1           flags  I
            0   17     2  resultReceiver  Landroid/os/ResultReceiver;
            1   17     3          wasVis  Z
      Exception table:
        from    to  target  type
           2     3       4  Class android.view.WindowManager$BadTokenException
    MethodParameters:
                Name  Flags
      flags           
      resultReceiver  

  public void changeInputMethodSubtype(android.view.inputmethod.InputMethodSubtype);
    descriptor: (Landroid/view/inputmethod/InputMethodSubtype;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
        start local 1 // android.view.inputmethod.InputMethodSubtype subtype
         0: .line 598
            aload 0 /* this */
            getfield android.inputmethodservice.InputMethodService$InputMethodImpl.this$0:Landroid/inputmethodservice/InputMethodService;
            aload 1 /* subtype */
            invokevirtual android.inputmethodservice.InputMethodService.onCurrentInputMethodSubtypeChanged:(Landroid/view/inputmethod/InputMethodSubtype;)V
         1: .line 599
            return
        end local 1 // android.view.inputmethod.InputMethodSubtype subtype
        end local 0 // android.inputmethodservice.InputMethodService$InputMethodImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/inputmethodservice/InputMethodService$InputMethodImpl;
            0    2     1  subtype  Landroid/view/inputmethod/InputMethodSubtype;
    MethodParameters:
         Name  Flags
      subtype  
}
SourceFile: "InputMethodService.java"
NestHost: android.inputmethodservice.InputMethodService
InnerClasses:
  public abstract AbstractInputMethodImpl = android.inputmethodservice.AbstractInputMethodService$AbstractInputMethodImpl of android.inputmethodservice.AbstractInputMethodService
  public InputMethodImpl = android.inputmethodservice.InputMethodService$InputMethodImpl of android.inputmethodservice.InputMethodService
  public BadTokenException = android.view.WindowManager$BadTokenException of android.view.WindowManager