public final class android.provider.ContactsContract$Data implements android.provider.ContactsContract$DataColumnsWithJoins, android.provider.ContactsContract$ContactCounts
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.provider.ContactsContract$Data
  super_class: java.lang.Object
{
  public static final android.net.Uri CONTENT_URI;
    descriptor: Landroid/net/Uri;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static final android.net.Uri ENTERPRISE_CONTENT_URI;
    descriptor: Landroid/net/Uri;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  public static final java.lang.String VISIBLE_CONTACTS_ONLY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "visible_contacts_only"

  public static final java.lang.String CONTENT_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "vnd.android.cursor.dir/data"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 4888
            getstatic android.provider.ContactsContract.AUTHORITY_URI:Landroid/net/Uri;
            ldc "data"
            invokestatic android.net.Uri.withAppendedPath:(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;
            putstatic android.provider.ContactsContract$Data.CONTENT_URI:Landroid/net/Uri;
         1: .line 4896
            getstatic android.provider.ContactsContract.AUTHORITY_URI:Landroid/net/Uri;
         2: .line 4897
            ldc "data_enterprise"
         3: .line 4896
            invokestatic android.net.Uri.withAppendedPath:(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;
            putstatic android.provider.ContactsContract$Data.ENTERPRISE_CONTENT_URI:Landroid/net/Uri;
         4: .line 4909
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.provider.ContactsContract$Data this
         0: .line 4882
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.provider.ContactsContract$Data this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/provider/ContactsContract$Data;

  public static android.net.Uri getContactLookupUri(android.content.ContentResolver, android.net.Uri);
    descriptor: (Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/net/Uri;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // android.content.ContentResolver resolver
        start local 1 // android.net.Uri dataUri
         0: .line 4925
            aload 0 /* resolver */
            aload 1 /* dataUri */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 4926
            ldc "contact_id"
            aastore
            dup
            iconst_1
            ldc "lookup"
            aastore
         2: .line 4927
            aconst_null
            aconst_null
            aconst_null
         3: .line 4925
            invokevirtual android.content.ContentResolver.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
            astore 2 /* cursor */
        start local 2 // android.database.Cursor cursor
         4: .line 4929
            aconst_null
            astore 3 /* lookupUri */
        start local 3 // android.net.Uri lookupUri
         5: .line 4931
            aload 2 /* cursor */
            ifnull 14
            aload 2 /* cursor */
            invokeinterface android.database.Cursor.moveToFirst:()Z
            ifeq 14
         6: .line 4932
            aload 2 /* cursor */
            iconst_0
            invokeinterface android.database.Cursor.getLong:(I)J
            lstore 4 /* contactId */
        start local 4 // long contactId
         7: .line 4933
            aload 2 /* cursor */
            iconst_1
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            astore 6 /* lookupKey */
        start local 6 // java.lang.String lookupKey
         8: .line 4934
            lload 4 /* contactId */
            aload 6 /* lookupKey */
            invokestatic android.provider.ContactsContract$Contacts.getLookupUri:(JLjava/lang/String;)Landroid/net/Uri;
            astore 8
         9: .line 4937
            aload 2 /* cursor */
            ifnull 10
            aload 2 /* cursor */
            invokeinterface android.database.Cursor.close:()V
        10: .line 4934
      StackMap locals: android.content.ContentResolver android.net.Uri android.database.Cursor android.net.Uri long java.lang.String top android.net.Uri
      StackMap stack:
            aload 8
            areturn
        end local 6 // java.lang.String lookupKey
        end local 4 // long contactId
        11: .line 4936
      StackMap locals: android.content.ContentResolver android.net.Uri android.database.Cursor android.net.Uri
      StackMap stack: java.lang.Throwable
            astore 7
        12: .line 4937
            aload 2 /* cursor */
            ifnull 13
            aload 2 /* cursor */
            invokeinterface android.database.Cursor.close:()V
        13: .line 4938
      StackMap locals: android.content.ContentResolver android.net.Uri android.database.Cursor android.net.Uri top top top java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        14: .line 4937
      StackMap locals: android.content.ContentResolver android.net.Uri android.database.Cursor android.net.Uri
      StackMap stack:
            aload 2 /* cursor */
            ifnull 15
            aload 2 /* cursor */
            invokeinterface android.database.Cursor.close:()V
        15: .line 4939
      StackMap locals:
      StackMap stack:
            aload 3 /* lookupUri */
            areturn
        end local 3 // android.net.Uri lookupUri
        end local 2 // android.database.Cursor cursor
        end local 1 // android.net.Uri dataUri
        end local 0 // android.content.ContentResolver resolver
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0   resolver  Landroid/content/ContentResolver;
            0   16     1    dataUri  Landroid/net/Uri;
            4   16     2     cursor  Landroid/database/Cursor;
            5   16     3  lookupUri  Landroid/net/Uri;
            7   11     4  contactId  J
            8   11     6  lookupKey  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     9      11  any
    MethodParameters:
          Name  Flags
      resolver  
      dataUri   
}
SourceFile: "ContactsContract.java"
NestHost: android.provider.ContactsContract
InnerClasses:
  abstract ContactCounts = android.provider.ContactsContract$ContactCounts of android.provider.ContactsContract
  public Contacts = android.provider.ContactsContract$Contacts of android.provider.ContactsContract
  public final Data = android.provider.ContactsContract$Data of android.provider.ContactsContract
  protected abstract DataColumnsWithJoins = android.provider.ContactsContract$DataColumnsWithJoins of android.provider.ContactsContract