public class android.provider.ContactsInternal
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.provider.ContactsInternal
  super_class: java.lang.Object
{
  private static final android.content.UriMatcher sContactsUriMatcher;
    descriptor: Landroid/content/UriMatcher;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int CONTACTS_URI_LOOKUP_ID;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1000

  private static final int CONTACTS_URI_LOOKUP;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1001

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 42
            new android.content.UriMatcher
            dup
            iconst_m1
            invokespecial android.content.UriMatcher.<init>:(I)V
            putstatic android.provider.ContactsInternal.sContactsUriMatcher:Landroid/content/UriMatcher;
         1: .line 49
            getstatic android.provider.ContactsInternal.sContactsUriMatcher:Landroid/content/UriMatcher;
            astore 0 /* matcher */
        start local 0 // android.content.UriMatcher matcher
         2: .line 50
            aload 0 /* matcher */
            ldc "com.android.contacts"
            ldc "contacts/lookup/*"
            sipush 1001
            invokevirtual android.content.UriMatcher.addURI:(Ljava/lang/String;Ljava/lang/String;I)V
         3: .line 51
            aload 0 /* matcher */
            ldc "com.android.contacts"
            ldc "contacts/lookup/*/#"
            sipush 1000
            invokevirtual android.content.UriMatcher.addURI:(Ljava/lang/String;Ljava/lang/String;I)V
        end local 0 // android.content.UriMatcher matcher
         4: .line 52
            return
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            2    4     0  matcher  Landroid/content/UriMatcher;

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

  public static void startQuickContactWithErrorToast(android.content.Context, android.content.Intent);
    descriptor: (Landroid/content/Context;Landroid/content/Intent;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.content.Context context
        start local 1 // android.content.Intent intent
         0: .line 58
            aload 1 /* intent */
            invokevirtual android.content.Intent.getData:()Landroid/net/Uri;
            astore 2 /* uri */
        start local 2 // android.net.Uri uri
         1: .line 60
            getstatic android.provider.ContactsInternal.sContactsUriMatcher:Landroid/content/UriMatcher;
            aload 2 /* uri */
            invokevirtual android.content.UriMatcher.match:(Landroid/net/Uri;)I
            istore 3 /* match */
        start local 3 // int match
         2: .line 61
            iload 3 /* match */
            tableswitch { // 1000 - 1001
                 1000: 3
                 1001: 3
              default: 5
          }
         3: .line 64
      StackMap locals: android.net.Uri int
      StackMap stack:
            aload 0 /* context */
            aload 1 /* intent */
            invokestatic android.provider.ContactsInternal.maybeStartManagedQuickContact:(Landroid/content/Context;Landroid/content/Intent;)Z
            ifeq 5
         4: .line 65
            return
         5: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* intent */
            aload 0 /* context */
            invokevirtual android.content.Context.getUser:()Landroid/os/UserHandle;
            invokestatic android.provider.ContactsInternal.startQuickContactWithErrorToastForUser:(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V
         6: .line 72
            return
        end local 3 // int match
        end local 2 // android.net.Uri uri
        end local 1 // android.content.Intent intent
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0  context  Landroid/content/Context;
            0    7     1   intent  Landroid/content/Intent;
            1    7     2      uri  Landroid/net/Uri;
            2    7     3    match  I
    MethodParameters:
         Name  Flags
      context  
      intent   

  public static void startQuickContactWithErrorToastForUser(android.content.Context, android.content.Intent, android.os.UserHandle);
    descriptor: (Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 79
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tcom.android.internal.R.string cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
         Name  Flags
      context  
      intent   
      user     

  private static boolean maybeStartManagedQuickContact(android.content.Context, android.content.Intent);
    descriptor: (Landroid/content/Context;Landroid/content/Intent;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=17, args_size=2
        start local 0 // android.content.Context context
        start local 1 // android.content.Intent originalIntent
         0: .line 91
            aload 1 /* originalIntent */
            invokevirtual android.content.Intent.getData:()Landroid/net/Uri;
            astore 2 /* uri */
        start local 2 // android.net.Uri uri
         1: .line 94
            aload 2 /* uri */
            invokevirtual android.net.Uri.getPathSegments:()Ljava/util/List;
            astore 3 /* pathSegments */
        start local 3 // java.util.List pathSegments
         2: .line 95
            aload 3 /* pathSegments */
            invokeinterface java.util.List.size:()I
            iconst_4
            if_icmpge 3
            iconst_1
            goto 4
      StackMap locals: android.net.Uri java.util.List
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* isContactIdIgnored */
        start local 4 // boolean isContactIdIgnored
         5: .line 96
            iload 4 /* isContactIdIgnored */
            ifeq 7
         6: .line 97
            getstatic android.provider.ContactsContract$Contacts.ENTERPRISE_CONTACT_ID_BASE:J
            goto 8
         7: .line 98
      StackMap locals: int
      StackMap stack:
            aload 2 /* uri */
            invokestatic android.content.ContentUris.parseId:(Landroid/net/Uri;)J
         8: .line 96
      StackMap locals:
      StackMap stack: long
            lstore 5 /* contactId */
        start local 5 // long contactId
         9: .line 99
            aload 3 /* pathSegments */
            iconst_2
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* lookupKey */
        start local 7 // java.lang.String lookupKey
        10: .line 100
            aload 2 /* uri */
            ldc "directory"
            invokevirtual android.net.Uri.getQueryParameter:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* directoryIdStr */
        start local 8 // java.lang.String directoryIdStr
        11: .line 101
            aload 8 /* directoryIdStr */
            ifnonnull 13
        12: .line 102
            ldc 1000000000
            goto 14
        13: .line 103
      StackMap locals: long java.lang.String java.lang.String
      StackMap stack:
            aload 8 /* directoryIdStr */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
        14: .line 101
      StackMap locals:
      StackMap stack: long
            lstore 9 /* directoryId */
        start local 9 // long directoryId
        15: .line 106
            aload 7 /* lookupKey */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifne 20
        16: .line 107
            aload 7 /* lookupKey */
        17: .line 108
            getstatic android.provider.ContactsContract$Contacts.ENTERPRISE_CONTACT_LOOKUP_PREFIX:Ljava/lang/String;
        18: .line 107
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
        19: .line 108
            ifne 21
        20: .line 109
      StackMap locals: long
      StackMap stack:
            iconst_0
            ireturn
        21: .line 112
      StackMap locals:
      StackMap stack:
            lload 5 /* contactId */
            invokestatic android.provider.ContactsContract$Contacts.isEnterpriseContactId:(J)Z
            ifne 23
        22: .line 113
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid enterprise contact id: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 5 /* contactId */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 115
      StackMap locals:
      StackMap stack:
            lload 9 /* directoryId */
            invokestatic android.provider.ContactsContract$Directory.isEnterpriseDirectoryId:(J)Z
            ifne 25
        24: .line 116
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid enterprise directory id: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 9 /* directoryId */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            ldc Landroid/app/admin/DevicePolicyManager;
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast android.app.admin.DevicePolicyManager
            astore 11 /* dpm */
        start local 11 // android.app.admin.DevicePolicyManager dpm
        26: .line 121
            aload 7 /* lookupKey */
        27: .line 122
            getstatic android.provider.ContactsContract$Contacts.ENTERPRISE_CONTACT_LOOKUP_PREFIX:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
        28: .line 121
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 12 /* actualLookupKey */
        start local 12 // java.lang.String actualLookupKey
        29: .line 124
            lload 5 /* contactId */
            getstatic android.provider.ContactsContract$Contacts.ENTERPRISE_CONTACT_ID_BASE:J
            lsub
        30: .line 123
            lstore 13 /* actualContactId */
        start local 13 // long actualContactId
        31: .line 125
            lload 9 /* directoryId */
        32: .line 126
            ldc 1000000000
        33: .line 125
            lsub
            lstore 15 /* actualDirectoryId */
        start local 15 // long actualDirectoryId
        34: .line 128
            aload 11 /* dpm */
            aload 12 /* actualLookupKey */
            lload 13 /* actualContactId */
            iload 4 /* isContactIdIgnored */
        35: .line 129
            lload 15 /* actualDirectoryId */
            aload 1 /* originalIntent */
        36: .line 128
            invokevirtual android.app.admin.DevicePolicyManager.startManagedQuickContact:(Ljava/lang/String;JZJLandroid/content/Intent;)V
        37: .line 130
            iconst_1
            ireturn
        end local 15 // long actualDirectoryId
        end local 13 // long actualContactId
        end local 12 // java.lang.String actualLookupKey
        end local 11 // android.app.admin.DevicePolicyManager dpm
        end local 9 // long directoryId
        end local 8 // java.lang.String directoryIdStr
        end local 7 // java.lang.String lookupKey
        end local 5 // long contactId
        end local 4 // boolean isContactIdIgnored
        end local 3 // java.util.List pathSegments
        end local 2 // android.net.Uri uri
        end local 1 // android.content.Intent originalIntent
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   38     0             context  Landroid/content/Context;
            0   38     1      originalIntent  Landroid/content/Intent;
            1   38     2                 uri  Landroid/net/Uri;
            2   38     3        pathSegments  Ljava/util/List<Ljava/lang/String;>;
            5   38     4  isContactIdIgnored  Z
            9   38     5           contactId  J
           10   38     7           lookupKey  Ljava/lang/String;
           11   38     8      directoryIdStr  Ljava/lang/String;
           15   38     9         directoryId  J
           26   38    11                 dpm  Landroid/app/admin/DevicePolicyManager;
           29   38    12     actualLookupKey  Ljava/lang/String;
           31   38    13     actualContactId  J
           34   38    15   actualDirectoryId  J
    MethodParameters:
                Name  Flags
      context         
      originalIntent  
}
SourceFile: "ContactsInternal.java"
InnerClasses:
  public Contacts = android.provider.ContactsContract$Contacts of android.provider.ContactsContract
  public final Directory = android.provider.ContactsContract$Directory of android.provider.ContactsContract