public class android.telecom.DefaultDialerManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.telecom.DefaultDialerManager
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "DefaultDialerManager"

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.telecom.DefaultDialerManager this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.telecom.DefaultDialerManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/telecom/DefaultDialerManager;

  public static boolean setDefaultDialerApplication(android.content.Context, java.lang.String);
    descriptor: (Landroid/content/Context;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.content.Context context
        start local 1 // java.lang.String packageName
         0: .line 52
            aload 0 /* context */
            aload 1 /* packageName */
            invokestatic android.app.ActivityManager.getCurrentUser:()I
            invokestatic android.telecom.DefaultDialerManager.setDefaultDialerApplication:(Landroid/content/Context;Ljava/lang/String;I)Z
            ireturn
        end local 1 // java.lang.String packageName
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0      context  Landroid/content/Context;
            0    1     1  packageName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      context      
      packageName  

  public static boolean setDefaultDialerApplication(android.content.Context, java.lang.String, int);
    descriptor: (Landroid/content/Context;Ljava/lang/String;I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // android.content.Context context
        start local 1 // java.lang.String packageName
        start local 2 // int user
         0: .line 68
            aload 0 /* context */
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
         1: .line 69
            ldc "dialer_default_application"
            iload 2 /* user */
         2: .line 68
            invokestatic android.provider.Settings$Secure.getStringForUser:(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
            astore 3 /* oldPackageName */
        start local 3 // java.lang.String oldPackageName
         3: .line 71
            aload 1 /* packageName */
            ifnull 5
            aload 3 /* oldPackageName */
            ifnull 5
            aload 1 /* packageName */
            aload 3 /* oldPackageName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 73
            iconst_0
            ireturn
         5: .line 77
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* context */
            invokestatic android.telecom.DefaultDialerManager.getInstalledDialerApplications:(Landroid/content/Context;)Ljava/util/List;
            astore 4 /* packageNames */
        start local 4 // java.util.List packageNames
         6: .line 79
            aload 4 /* packageNames */
            aload 1 /* packageName */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 11
         7: .line 81
            aload 0 /* context */
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
         8: .line 82
            ldc "dialer_default_application"
            aload 1 /* packageName */
            iload 2 /* user */
         9: .line 81
            invokestatic android.provider.Settings$Secure.putStringForUser:(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z
            pop
        10: .line 83
            iconst_1
            ireturn
        11: .line 85
      StackMap locals: java.util.List
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // java.util.List packageNames
        end local 3 // java.lang.String oldPackageName
        end local 2 // int user
        end local 1 // java.lang.String packageName
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0         context  Landroid/content/Context;
            0   12     1     packageName  Ljava/lang/String;
            0   12     2            user  I
            3   12     3  oldPackageName  Ljava/lang/String;
            6   12     4    packageNames  Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
             Name  Flags
      context      
      packageName  
      user         

  public static java.lang.String getDefaultDialerApplication(android.content.Context);
    descriptor: (Landroid/content/Context;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.content.Context context
         0: .line 102
            aload 0 /* context */
            aload 0 /* context */
            invokevirtual android.content.Context.getUserId:()I
            invokestatic android.telecom.DefaultDialerManager.getDefaultDialerApplication:(Landroid/content/Context;I)Ljava/lang/String;
            areturn
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  

  public static java.lang.String getDefaultDialerApplication(android.content.Context, int);
    descriptor: (Landroid/content/Context;I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.content.Context context
        start local 1 // int user
         0: .line 119
            aload 0 /* context */
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
         1: .line 120
            ldc "dialer_default_application"
            iload 1 /* user */
         2: .line 119
            invokestatic android.provider.Settings$Secure.getStringForUser:(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
            astore 2 /* defaultPackageName */
        start local 2 // java.lang.String defaultPackageName
         3: .line 122
            aload 0 /* context */
            iload 1 /* user */
            invokestatic android.telecom.DefaultDialerManager.getInstalledDialerApplications:(Landroid/content/Context;I)Ljava/util/List;
            astore 3 /* packageNames */
        start local 3 // java.util.List packageNames
         4: .line 125
            aload 3 /* packageNames */
            aload 2 /* defaultPackageName */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 126
            aload 2 /* defaultPackageName */
            areturn
         6: .line 130
      StackMap locals: java.lang.String java.util.List
      StackMap stack:
            aload 0 /* context */
            invokestatic android.telecom.DefaultDialerManager.getTelecomManager:(Landroid/content/Context;)Landroid/telecom/TelecomManager;
            invokevirtual android.telecom.TelecomManager.getSystemDialerPackage:()Ljava/lang/String;
            astore 4 /* systemDialerPackageName */
        start local 4 // java.lang.String systemDialerPackageName
         7: .line 132
            aload 4 /* systemDialerPackageName */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 9
         8: .line 134
            aconst_null
            areturn
         9: .line 137
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* packageNames */
            aload 4 /* systemDialerPackageName */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 138
            aload 4 /* systemDialerPackageName */
            areturn
        11: .line 140
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.lang.String systemDialerPackageName
        end local 3 // java.util.List packageNames
        end local 2 // java.lang.String defaultPackageName
        end local 1 // int user
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   12     0                  context  Landroid/content/Context;
            0   12     1                     user  I
            3   12     2       defaultPackageName  Ljava/lang/String;
            4   12     3             packageNames  Ljava/util/List<Ljava/lang/String;>;
            7   12     4  systemDialerPackageName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      user     

  public static java.util.List<java.lang.String> getInstalledDialerApplications(android.content.Context, int);
    descriptor: (Landroid/content/Context;I)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // android.content.Context context
        start local 1 // int userId
         0: .line 156
            aload 0 /* context */
            invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
            astore 2 /* packageManager */
        start local 2 // android.content.pm.PackageManager packageManager
         1: .line 159
            new android.content.Intent
            dup
            ldc "android.intent.action.DIAL"
            invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
            astore 3 /* intent */
        start local 3 // android.content.Intent intent
         2: .line 161
            aload 2 /* packageManager */
            aload 3 /* intent */
            iconst_0
            iload 1 /* userId */
            invokevirtual android.content.pm.PackageManager.queryIntentActivitiesAsUser:(Landroid/content/Intent;II)Ljava/util/List;
         3: .line 160
            astore 4 /* resolveInfoList */
        start local 4 // java.util.List resolveInfoList
         4: .line 163
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* packageNames */
        start local 5 // java.util.List packageNames
         5: .line 165
            aload 4 /* resolveInfoList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 12
      StackMap locals: android.content.Context int android.content.pm.PackageManager android.content.Intent java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.content.pm.ResolveInfo
            astore 6 /* resolveInfo */
        start local 6 // android.content.pm.ResolveInfo resolveInfo
         7: .line 166
            aload 6 /* resolveInfo */
            getfield android.content.pm.ResolveInfo.activityInfo:Landroid/content/pm/ActivityInfo;
            astore 8 /* activityInfo */
        start local 8 // android.content.pm.ActivityInfo activityInfo
         8: .line 167
            aload 8 /* activityInfo */
            ifnull 12
         9: .line 168
            aload 5 /* packageNames */
            aload 8 /* activityInfo */
            getfield android.content.pm.ActivityInfo.packageName:Ljava/lang/String;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 12
        10: .line 170
            aload 6 /* resolveInfo */
            getfield android.content.pm.ResolveInfo.targetUserId:I
            bipush -2
            if_icmpne 12
        11: .line 171
            aload 5 /* packageNames */
            aload 8 /* activityInfo */
            getfield android.content.pm.ActivityInfo.packageName:Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // android.content.pm.ActivityInfo activityInfo
        end local 6 // android.content.pm.ResolveInfo resolveInfo
        12: .line 165
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        13: .line 175
            new android.content.Intent
            dup
            ldc "android.intent.action.DIAL"
            invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
            astore 6 /* dialIntentWithTelScheme */
        start local 6 // android.content.Intent dialIntentWithTelScheme
        14: .line 176
            aload 6 /* dialIntentWithTelScheme */
            ldc "tel"
            ldc ""
            aconst_null
            invokestatic android.net.Uri.fromParts:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
            invokevirtual android.content.Intent.setData:(Landroid/net/Uri;)Landroid/content/Intent;
            pop
        15: .line 177
            aload 0 /* context */
            aload 5 /* packageNames */
            aload 6 /* dialIntentWithTelScheme */
            iload 1 /* userId */
            invokestatic android.telecom.DefaultDialerManager.filterByIntent:(Landroid/content/Context;Ljava/util/List;Landroid/content/Intent;I)Ljava/util/List;
            areturn
        end local 6 // android.content.Intent dialIntentWithTelScheme
        end local 5 // java.util.List packageNames
        end local 4 // java.util.List resolveInfoList
        end local 3 // android.content.Intent intent
        end local 2 // android.content.pm.PackageManager packageManager
        end local 1 // int userId
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   16     0                  context  Landroid/content/Context;
            0   16     1                   userId  I
            1   16     2           packageManager  Landroid/content/pm/PackageManager;
            2   16     3                   intent  Landroid/content/Intent;
            4   16     4          resolveInfoList  Ljava/util/List<Landroid/content/pm/ResolveInfo;>;
            5   16     5             packageNames  Ljava/util/List<Ljava/lang/String;>;
            7   12     6              resolveInfo  Landroid/content/pm/ResolveInfo;
            8   12     8             activityInfo  Landroid/content/pm/ActivityInfo;
           14   16     6  dialIntentWithTelScheme  Landroid/content/Intent;
    Signature: (Landroid/content/Context;I)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
         Name  Flags
      context  
      userId   

  public static java.util.List<java.lang.String> getInstalledDialerApplications(android.content.Context);
    descriptor: (Landroid/content/Context;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.content.Context context
         0: .line 181
            aload 0 /* context */
            invokestatic android.os.Process.myUserHandle:()Landroid/os/UserHandle;
            invokevirtual android.os.UserHandle.getIdentifier:()I
            invokestatic android.telecom.DefaultDialerManager.getInstalledDialerApplications:(Landroid/content/Context;I)Ljava/util/List;
            areturn
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Landroid/content/Context;
    Signature: (Landroid/content/Context;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
         Name  Flags
      context  

  public static boolean isDefaultOrSystemDialer(android.content.Context, java.lang.String);
    descriptor: (Landroid/content/Context;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.content.Context context
        start local 1 // java.lang.String packageName
         0: .line 197
            aload 1 /* packageName */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 2
         1: .line 198
            iconst_0
            ireturn
         2: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            invokestatic android.telecom.DefaultDialerManager.getTelecomManager:(Landroid/content/Context;)Landroid/telecom/TelecomManager;
            astore 2 /* tm */
        start local 2 // android.telecom.TelecomManager tm
         3: .line 201
            aload 1 /* packageName */
            aload 2 /* tm */
            invokevirtual android.telecom.TelecomManager.getDefaultDialerPackage:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
         4: .line 202
            aload 1 /* packageName */
            aload 2 /* tm */
            invokevirtual android.telecom.TelecomManager.getSystemDialerPackage:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 201
            iconst_0
            ireturn
      StackMap locals: android.telecom.TelecomManager
      StackMap stack:
         6: iconst_1
            ireturn
        end local 2 // android.telecom.TelecomManager tm
        end local 1 // java.lang.String packageName
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0      context  Landroid/content/Context;
            0    7     1  packageName  Ljava/lang/String;
            3    7     2           tm  Landroid/telecom/TelecomManager;
    MethodParameters:
             Name  Flags
      context      
      packageName  

  private static java.util.List<java.lang.String> filterByIntent(android.content.Context, java.util.List<java.lang.String>, android.content.Intent, int);
    descriptor: (Landroid/content/Context;Ljava/util/List;Landroid/content/Intent;I)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // android.content.Context context
        start local 1 // java.util.List packageNames
        start local 2 // android.content.Intent intent
        start local 3 // int userId
         0: .line 216
            aload 1 /* packageNames */
            ifnull 1
            aload 1 /* packageNames */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 217
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
         2: .line 220
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* result */
        start local 4 // java.util.List result
         3: .line 221
            aload 0 /* context */
            invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
         4: .line 222
            aload 2 /* intent */
            iconst_0
            iload 3 /* userId */
            invokevirtual android.content.pm.PackageManager.queryIntentActivitiesAsUser:(Landroid/content/Intent;II)Ljava/util/List;
         5: .line 221
            astore 5 /* resolveInfoList */
        start local 5 // java.util.List resolveInfoList
         6: .line 223
            aload 5 /* resolveInfoList */
            invokeinterface java.util.List.size:()I
            istore 6 /* length */
        start local 6 // int length
         7: .line 224
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         8: goto 14
         9: .line 225
      StackMap locals: android.content.Context java.util.List android.content.Intent int java.util.List java.util.List int int
      StackMap stack:
            aload 5 /* resolveInfoList */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.content.pm.ResolveInfo
            getfield android.content.pm.ResolveInfo.activityInfo:Landroid/content/pm/ActivityInfo;
            astore 8 /* info */
        start local 8 // android.content.pm.ActivityInfo info
        10: .line 226
            aload 8 /* info */
            ifnull 13
            aload 1 /* packageNames */
            aload 8 /* info */
            getfield android.content.pm.ActivityInfo.packageName:Ljava/lang/String;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 227
            aload 4 /* result */
            aload 8 /* info */
            getfield android.content.pm.ActivityInfo.packageName:Ljava/lang/String;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 13
        12: .line 228
            aload 4 /* result */
            aload 8 /* info */
            getfield android.content.pm.ActivityInfo.packageName:Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // android.content.pm.ActivityInfo info
        13: .line 224
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* i */
            iload 6 /* length */
            if_icmplt 9
        end local 7 // int i
        15: .line 232
            aload 4 /* result */
            areturn
        end local 6 // int length
        end local 5 // java.util.List resolveInfoList
        end local 4 // java.util.List result
        end local 3 // int userId
        end local 2 // android.content.Intent intent
        end local 1 // java.util.List packageNames
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0          context  Landroid/content/Context;
            0   16     1     packageNames  Ljava/util/List<Ljava/lang/String;>;
            0   16     2           intent  Landroid/content/Intent;
            0   16     3           userId  I
            3   16     4           result  Ljava/util/List<Ljava/lang/String;>;
            6   16     5  resolveInfoList  Ljava/util/List<Landroid/content/pm/ResolveInfo;>;
            7   16     6           length  I
            8   15     7                i  I
           10   13     8             info  Landroid/content/pm/ActivityInfo;
    Signature: (Landroid/content/Context;Ljava/util/List<Ljava/lang/String;>;Landroid/content/Intent;I)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
              Name  Flags
      context       
      packageNames  
      intent        
      userId        

  private static android.telecom.TelecomManager getTelecomManager(android.content.Context);
    descriptor: (Landroid/content/Context;)Landroid/telecom/TelecomManager;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.content.Context context
         0: .line 237
            aload 0 /* context */
            ldc "telecom"
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast android.telecom.TelecomManager
            areturn
        end local 0 // android.content.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  
}
SourceFile: "DefaultDialerManager.java"
InnerClasses:
  public final Secure = android.provider.Settings$Secure of android.provider.Settings