class android.widget.QuickContactBadge$QueryHandler extends android.content.AsyncQueryHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.widget.QuickContactBadge$QueryHandler
  super_class: android.content.AsyncQueryHandler
{
  final android.widget.QuickContactBadge this$0;
    descriptor: Landroid/widget/QuickContactBadge;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(android.widget.QuickContactBadge, android.content.ContentResolver);
    descriptor: (Landroid/widget/QuickContactBadge;Landroid/content/ContentResolver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.widget.QuickContactBadge$QueryHandler this
        start local 2 // android.content.ContentResolver cr
         0: .line 339
            aload 0 /* this */
            aload 1
            putfield android.widget.QuickContactBadge$QueryHandler.this$0:Landroid/widget/QuickContactBadge;
         1: .line 340
            aload 0 /* this */
            aload 2 /* cr */
            invokespecial android.content.AsyncQueryHandler.<init>:(Landroid/content/ContentResolver;)V
         2: .line 341
            return
        end local 2 // android.content.ContentResolver cr
        end local 0 // android.widget.QuickContactBadge$QueryHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/widget/QuickContactBadge$QueryHandler;
            0    3     2    cr  Landroid/content/ContentResolver;
    MethodParameters:
        Name  Flags
      this$0  final
      cr      

  protected void onQueryComplete(int, java.lang.Object, android.database.Cursor);
    descriptor: (ILjava/lang/Object;Landroid/database/Cursor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // android.widget.QuickContactBadge$QueryHandler this
        start local 1 // int token
        start local 2 // java.lang.Object cookie
        start local 3 // android.database.Cursor cursor
         0: .line 345
            aconst_null
            astore 4 /* lookupUri */
        start local 4 // android.net.Uri lookupUri
         1: .line 346
            aconst_null
            astore 5 /* createUri */
        start local 5 // android.net.Uri createUri
         2: .line 347
            iconst_0
            istore 6 /* trigger */
        start local 6 // boolean trigger
         3: .line 348
            aload 2 /* cookie */
            ifnull 4
            aload 2 /* cookie */
            checkcast android.os.Bundle
            goto 5
      StackMap locals: android.net.Uri android.net.Uri int
      StackMap stack:
         4: new android.os.Bundle
            dup
            invokespecial android.os.Bundle.<init>:()V
      StackMap locals:
      StackMap stack: android.os.Bundle
         5: astore 7 /* extras */
        start local 7 // android.os.Bundle extras
         6: .line 350
            iload 1 /* token */
            tableswitch { // 0 - 3
                    0: 18
                    1: 9
                    2: 14
                    3: 7
              default: 22
          }
         7: .line 352
      StackMap locals: android.os.Bundle
      StackMap stack:
            iconst_1
            istore 6 /* trigger */
         8: .line 353
            ldc "tel"
            aload 7 /* extras */
            ldc "uri_content"
            invokevirtual android.os.Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            invokestatic android.net.Uri.fromParts:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
            astore 5 /* createUri */
         9: .line 357
      StackMap locals:
      StackMap stack:
            aload 3 /* cursor */
            ifnull 27
            aload 3 /* cursor */
            invokeinterface android.database.Cursor.moveToFirst:()Z
            ifeq 27
        10: .line 358
            aload 3 /* cursor */
            iconst_0
            invokeinterface android.database.Cursor.getLong:(I)J
            lstore 8 /* contactId */
        start local 8 // long contactId
        11: .line 359
            aload 3 /* cursor */
            iconst_1
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            astore 10 /* lookupKey */
        start local 10 // java.lang.String lookupKey
        12: .line 360
            lload 8 /* contactId */
            aload 10 /* lookupKey */
            invokestatic android.provider.ContactsContract$Contacts.getLookupUri:(JLjava/lang/String;)Landroid/net/Uri;
            astore 4 /* lookupUri */
        end local 10 // java.lang.String lookupKey
        end local 8 // long contactId
        13: .line 363
            goto 27
        14: .line 366
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* trigger */
        15: .line 367
            ldc "mailto"
        16: .line 368
            aload 7 /* extras */
            ldc "uri_content"
            invokevirtual android.os.Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
        17: .line 367
            invokestatic android.net.Uri.fromParts:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
            astore 5 /* createUri */
        18: .line 372
      StackMap locals:
      StackMap stack:
            aload 3 /* cursor */
            ifnull 27
            aload 3 /* cursor */
            invokeinterface android.database.Cursor.moveToFirst:()Z
            ifeq 27
        19: .line 373
            aload 3 /* cursor */
            iconst_0
            invokeinterface android.database.Cursor.getLong:(I)J
            lstore 8 /* contactId */
        start local 8 // long contactId
        20: .line 374
            aload 3 /* cursor */
            iconst_1
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            astore 10 /* lookupKey */
        start local 10 // java.lang.String lookupKey
        21: .line 375
            lload 8 /* contactId */
            aload 10 /* lookupKey */
            invokestatic android.provider.ContactsContract$Contacts.getLookupUri:(JLjava/lang/String;)Landroid/net/Uri;
            astore 4 /* lookupUri */
        end local 10 // java.lang.String lookupKey
        end local 8 // long contactId
        22: .line 380
      StackMap locals:
      StackMap stack:
            goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 11
        24: .line 381
            aload 3 /* cursor */
            ifnull 26
        25: .line 382
            aload 3 /* cursor */
            invokeinterface android.database.Cursor.close:()V
        26: .line 384
      StackMap locals: android.widget.QuickContactBadge$QueryHandler int java.lang.Object android.database.Cursor android.net.Uri android.net.Uri int android.os.Bundle top top top java.lang.Throwable
      StackMap stack:
            aload 11
            athrow
        27: .line 381
      StackMap locals: android.widget.QuickContactBadge$QueryHandler int java.lang.Object android.database.Cursor android.net.Uri android.net.Uri int android.os.Bundle
      StackMap stack:
            aload 3 /* cursor */
            ifnull 29
        28: .line 382
            aload 3 /* cursor */
            invokeinterface android.database.Cursor.close:()V
        29: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.QuickContactBadge$QueryHandler.this$0:Landroid/widget/QuickContactBadge;
            aload 4 /* lookupUri */
            putfield android.widget.QuickContactBadge.mContactUri:Landroid/net/Uri;
        30: .line 387
            aload 0 /* this */
            getfield android.widget.QuickContactBadge$QueryHandler.this$0:Landroid/widget/QuickContactBadge;
            invokevirtual android.widget.QuickContactBadge.onContactUriChanged:()V
        31: .line 389
            iload 6 /* trigger */
            ifeq 36
            aload 0 /* this */
            getfield android.widget.QuickContactBadge$QueryHandler.this$0:Landroid/widget/QuickContactBadge;
            getfield android.widget.QuickContactBadge.mContactUri:Landroid/net/Uri;
            ifnull 36
        32: .line 391
            aload 0 /* this */
            getfield android.widget.QuickContactBadge$QueryHandler.this$0:Landroid/widget/QuickContactBadge;
            invokevirtual android.widget.QuickContactBadge.getContext:()Landroid/content/Context;
            aload 0 /* this */
            getfield android.widget.QuickContactBadge$QueryHandler.this$0:Landroid/widget/QuickContactBadge;
            aload 0 /* this */
            getfield android.widget.QuickContactBadge$QueryHandler.this$0:Landroid/widget/QuickContactBadge;
            getfield android.widget.QuickContactBadge.mContactUri:Landroid/net/Uri;
        33: .line 392
            aload 0 /* this */
            getfield android.widget.QuickContactBadge$QueryHandler.this$0:Landroid/widget/QuickContactBadge;
            getfield android.widget.QuickContactBadge.mExcludeMimes:[Ljava/lang/String;
            aload 0 /* this */
            getfield android.widget.QuickContactBadge$QueryHandler.this$0:Landroid/widget/QuickContactBadge;
            getfield android.widget.QuickContactBadge.mPrioritizedMimeType:Ljava/lang/String;
        34: .line 391
            invokestatic android.provider.ContactsContract$QuickContact.showQuickContact:(Landroid/content/Context;Landroid/view/View;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;)V
        35: .line 393
            goto 42
      StackMap locals:
      StackMap stack:
        36: aload 5 /* createUri */
            ifnull 42
        37: .line 395
            new android.content.Intent
            dup
            ldc "com.android.contacts.action.SHOW_OR_CREATE_CONTACT"
            aload 5 /* createUri */
            invokespecial android.content.Intent.<init>:(Ljava/lang/String;Landroid/net/Uri;)V
            astore 8 /* intent */
        start local 8 // android.content.Intent intent
        38: .line 396
            aload 7 /* extras */
            ifnull 41
        39: .line 397
            aload 7 /* extras */
            ldc "uri_content"
            invokevirtual android.os.Bundle.remove:(Ljava/lang/String;)V
        40: .line 398
            aload 8 /* intent */
            aload 7 /* extras */
            invokevirtual android.content.Intent.putExtras:(Landroid/os/Bundle;)Landroid/content/Intent;
            pop
        41: .line 400
      StackMap locals: android.content.Intent
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.QuickContactBadge$QueryHandler.this$0:Landroid/widget/QuickContactBadge;
            invokevirtual android.widget.QuickContactBadge.getContext:()Landroid/content/Context;
            aload 8 /* intent */
            invokevirtual android.content.Context.startActivity:(Landroid/content/Intent;)V
        end local 8 // android.content.Intent intent
        42: .line 402
      StackMap locals:
      StackMap stack:
            return
        end local 7 // android.os.Bundle extras
        end local 6 // boolean trigger
        end local 5 // android.net.Uri createUri
        end local 4 // android.net.Uri lookupUri
        end local 3 // android.database.Cursor cursor
        end local 2 // java.lang.Object cookie
        end local 1 // int token
        end local 0 // android.widget.QuickContactBadge$QueryHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   43     0       this  Landroid/widget/QuickContactBadge$QueryHandler;
            0   43     1      token  I
            0   43     2     cookie  Ljava/lang/Object;
            0   43     3     cursor  Landroid/database/Cursor;
            1   43     4  lookupUri  Landroid/net/Uri;
            2   43     5  createUri  Landroid/net/Uri;
            3   43     6    trigger  Z
            6   43     7     extras  Landroid/os/Bundle;
           11   13     8  contactId  J
           12   13    10  lookupKey  Ljava/lang/String;
           20   22     8  contactId  J
           21   22    10  lookupKey  Ljava/lang/String;
           38   42     8     intent  Landroid/content/Intent;
      Exception table:
        from    to  target  type
           6    23      23  any
    MethodParameters:
        Name  Flags
      token   
      cookie  
      cursor  
}
SourceFile: "QuickContactBadge.java"
NestHost: android.widget.QuickContactBadge
InnerClasses:
  public Contacts = android.provider.ContactsContract$Contacts of android.provider.ContactsContract
  public final QuickContact = android.provider.ContactsContract$QuickContact of android.provider.ContactsContract
  private QueryHandler = android.widget.QuickContactBadge$QueryHandler of android.widget.QuickContactBadge