public abstract class android.content.pm.RegisteredServicesCache<V>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.content.pm.RegisteredServicesCache
  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: "PackageManager"

  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  protected static final java.lang.String REGISTERED_SERVICES_DIR;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "registered_services"

  public final android.content.Context mContext;
    descriptor: Landroid/content/Context;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private final java.lang.String mInterfaceName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String mMetaDataName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String mAttributesName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.content.pm.XmlSerializerAndParser<V> mSerializerAndParser;
    descriptor: Landroid/content/pm/XmlSerializerAndParser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Landroid/content/pm/XmlSerializerAndParser<TV;>;

  protected final java.lang.Object mServicesLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final android.util.SparseArray<android.content.pm.RegisteredServicesCache$UserServices<V>> mUserServices;
    descriptor: Landroid/util/SparseArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Landroid/util/SparseArray<Landroid/content/pm/RegisteredServicesCache$UserServices<TV;>;>;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "mServicesLock")

  private android.content.pm.RegisteredServicesCacheListener<V> mListener;
    descriptor: Landroid/content/pm/RegisteredServicesCacheListener;
    flags: (0x0002) ACC_PRIVATE
    Signature: Landroid/content/pm/RegisteredServicesCacheListener<TV;>;

  private android.os.Handler mHandler;
    descriptor: Landroid/os/Handler;
    flags: (0x0002) ACC_PRIVATE

  private final android.content.BroadcastReceiver mPackageReceiver;
    descriptor: Landroid/content/BroadcastReceiver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.content.BroadcastReceiver mExternalReceiver;
    descriptor: Landroid/content/BroadcastReceiver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.content.BroadcastReceiver mUserRemovedReceiver;
    descriptor: Landroid/content/BroadcastReceiver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private android.content.pm.RegisteredServicesCache$UserServices<V> findOrCreateUserLocked(int);
    descriptor: (I)Landroid/content/pm/RegisteredServicesCache$UserServices;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // int userId
         0: .line 109
            aload 0 /* this */
            iload 1 /* userId */
            iconst_1
            invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(IZ)Landroid/content/pm/RegisteredServicesCache$UserServices;
            areturn
        end local 1 // int userId
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0    1     1  userId  I
    Signature: (I)Landroid/content/pm/RegisteredServicesCache$UserServices<TV;>;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "mServicesLock")
    MethodParameters:
        Name  Flags
      userId  

  private android.content.pm.RegisteredServicesCache$UserServices<V> findOrCreateUserLocked(int, boolean);
    descriptor: (IZ)Landroid/content/pm/RegisteredServicesCache$UserServices;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.content.pm.RegisteredServicesCache this
         0: .line 131
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe method readPersistentServicesLocked(InputStream) from the type RegisteredServicesCache<V> refers to the missing type XmlPullParserException\n\tIoUtils cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/pm/RegisteredServicesCache<TV;>;
    Signature: (IZ)Landroid/content/pm/RegisteredServicesCache$UserServices<TV;>;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "mServicesLock")
    MethodParameters:
                   Name  Flags
      userId             
      loadFromFileIfNew  

  public void <init>(android.content.Context, java.lang.String, java.lang.String, java.lang.String, android.content.pm.XmlSerializerAndParser<V>);
    descriptor: (Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/XmlSerializerAndParser;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=6
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // android.content.Context context
        start local 2 // java.lang.String interfaceName
        start local 3 // java.lang.String metaDataName
        start local 4 // java.lang.String attributeName
        start local 5 // android.content.pm.XmlSerializerAndParser serializerAndParser
         0: .line 148
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 91
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
         2: .line 94
            aload 0 /* this */
            new android.util.SparseArray
            dup
            iconst_2
            invokespecial android.util.SparseArray.<init>:(I)V
            putfield android.content.pm.RegisteredServicesCache.mUserServices:Landroid/util/SparseArray;
         3: .line 208
            aload 0 /* this */
            new android.content.pm.RegisteredServicesCache$1
            dup
            aload 0 /* this */
            invokespecial android.content.pm.RegisteredServicesCache$1.<init>:(Landroid/content/pm/RegisteredServicesCache;)V
            putfield android.content.pm.RegisteredServicesCache.mPackageReceiver:Landroid/content/BroadcastReceiver;
         4: .line 218
            aload 0 /* this */
            new android.content.pm.RegisteredServicesCache$2
            dup
            aload 0 /* this */
            invokespecial android.content.pm.RegisteredServicesCache$2.<init>:(Landroid/content/pm/RegisteredServicesCache;)V
            putfield android.content.pm.RegisteredServicesCache.mExternalReceiver:Landroid/content/BroadcastReceiver;
         5: .line 226
            aload 0 /* this */
            new android.content.pm.RegisteredServicesCache$3
            dup
            aload 0 /* this */
            invokespecial android.content.pm.RegisteredServicesCache$3.<init>:(Landroid/content/pm/RegisteredServicesCache;)V
            putfield android.content.pm.RegisteredServicesCache.mUserRemovedReceiver:Landroid/content/BroadcastReceiver;
         6: .line 150
            aload 0 /* this */
            aload 1 /* context */
            putfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
         7: .line 151
            aload 0 /* this */
            aload 2 /* interfaceName */
            putfield android.content.pm.RegisteredServicesCache.mInterfaceName:Ljava/lang/String;
         8: .line 152
            aload 0 /* this */
            aload 3 /* metaDataName */
            putfield android.content.pm.RegisteredServicesCache.mMetaDataName:Ljava/lang/String;
         9: .line 153
            aload 0 /* this */
            aload 4 /* attributeName */
            putfield android.content.pm.RegisteredServicesCache.mAttributesName:Ljava/lang/String;
        10: .line 154
            aload 0 /* this */
            aload 5 /* serializerAndParser */
            putfield android.content.pm.RegisteredServicesCache.mSerializerAndParser:Landroid/content/pm/XmlSerializerAndParser;
        11: .line 156
            aload 0 /* this */
            invokevirtual android.content.pm.RegisteredServicesCache.migrateIfNecessaryLocked:()V
        12: .line 158
            new android.content.IntentFilter
            dup
            invokespecial android.content.IntentFilter.<init>:()V
            astore 6 /* intentFilter */
        start local 6 // android.content.IntentFilter intentFilter
        13: .line 159
            aload 6 /* intentFilter */
            ldc "android.intent.action.PACKAGE_ADDED"
            invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
        14: .line 160
            aload 6 /* intentFilter */
            ldc "android.intent.action.PACKAGE_CHANGED"
            invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
        15: .line 161
            aload 6 /* intentFilter */
            ldc "android.intent.action.PACKAGE_REMOVED"
            invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
        16: .line 162
            aload 6 /* intentFilter */
            ldc "package"
            invokevirtual android.content.IntentFilter.addDataScheme:(Ljava/lang/String;)V
        17: .line 163
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mPackageReceiver:Landroid/content/BroadcastReceiver;
            getstatic android.os.UserHandle.ALL:Landroid/os/UserHandle;
            aload 6 /* intentFilter */
            aconst_null
            aconst_null
            invokevirtual android.content.Context.registerReceiverAsUser:(Landroid/content/BroadcastReceiver;Landroid/os/UserHandle;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
            pop
        18: .line 166
            new android.content.IntentFilter
            dup
            invokespecial android.content.IntentFilter.<init>:()V
            astore 7 /* sdFilter */
        start local 7 // android.content.IntentFilter sdFilter
        19: .line 167
            aload 7 /* sdFilter */
            ldc "android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE"
            invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
        20: .line 168
            aload 7 /* sdFilter */
            ldc "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE"
            invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
        21: .line 169
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mExternalReceiver:Landroid/content/BroadcastReceiver;
            aload 7 /* sdFilter */
            invokevirtual android.content.Context.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
            pop
        22: .line 172
            new android.content.IntentFilter
            dup
            invokespecial android.content.IntentFilter.<init>:()V
            astore 8 /* userFilter */
        start local 8 // android.content.IntentFilter userFilter
        23: .line 173
            aload 7 /* sdFilter */
            ldc "android.intent.action.USER_REMOVED"
            invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
        24: .line 174
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mUserRemovedReceiver:Landroid/content/BroadcastReceiver;
            aload 8 /* userFilter */
            invokevirtual android.content.Context.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
            pop
        25: .line 175
            return
        end local 8 // android.content.IntentFilter userFilter
        end local 7 // android.content.IntentFilter sdFilter
        end local 6 // android.content.IntentFilter intentFilter
        end local 5 // android.content.pm.XmlSerializerAndParser serializerAndParser
        end local 4 // java.lang.String attributeName
        end local 3 // java.lang.String metaDataName
        end local 2 // java.lang.String interfaceName
        end local 1 // android.content.Context context
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   26     0                 this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0   26     1              context  Landroid/content/Context;
            0   26     2        interfaceName  Ljava/lang/String;
            0   26     3         metaDataName  Ljava/lang/String;
            0   26     4        attributeName  Ljava/lang/String;
            0   26     5  serializerAndParser  Landroid/content/pm/XmlSerializerAndParser<TV;>;
           13   26     6         intentFilter  Landroid/content/IntentFilter;
           19   26     7             sdFilter  Landroid/content/IntentFilter;
           23   26     8           userFilter  Landroid/content/IntentFilter;
    Signature: (Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/XmlSerializerAndParser<TV;>;)V
    MethodParameters:
                     Name  Flags
      context              
      interfaceName        
      metaDataName         
      attributeName        
      serializerAndParser  

  private final void handlePackageEvent(android.content.Intent, int);
    descriptor: (Landroid/content/Intent;I)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // android.content.Intent intent
        start local 2 // int userId
         0: .line 181
            aload 1 /* intent */
            invokevirtual android.content.Intent.getAction:()Ljava/lang/String;
            astore 3 /* action */
        start local 3 // java.lang.String action
         1: .line 183
            ldc "android.intent.action.PACKAGE_REMOVED"
            aload 3 /* action */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
         2: .line 184
            ldc "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE"
            aload 3 /* action */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 183
            iconst_0
            goto 5
      StackMap locals: java.lang.String
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* isRemoval */
        start local 4 // boolean isRemoval
         6: .line 186
            aload 1 /* intent */
            ldc "android.intent.extra.REPLACING"
            iconst_0
            invokevirtual android.content.Intent.getBooleanExtra:(Ljava/lang/String;Z)Z
            istore 5 /* replacing */
        start local 5 // boolean replacing
         7: .line 188
            iload 4 /* isRemoval */
            ifeq 8
            iload 5 /* replacing */
            ifne 17
         8: .line 192
      StackMap locals: int int
      StackMap stack:
            aconst_null
            astore 6 /* uids */
        start local 6 // int[] uids
         9: .line 195
            ldc "android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE"
            aload 3 /* action */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 196
            ldc "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE"
            aload 3 /* action */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 197
      StackMap locals: int[]
      StackMap stack:
            aload 1 /* intent */
            ldc "android.intent.extra.changed_uid_list"
            invokevirtual android.content.Intent.getIntArrayExtra:(Ljava/lang/String;)[I
            astore 6 /* uids */
        12: .line 198
            goto 16
        13: .line 199
      StackMap locals:
      StackMap stack:
            aload 1 /* intent */
            ldc "android.intent.extra.UID"
            iconst_m1
            invokevirtual android.content.Intent.getIntExtra:(Ljava/lang/String;I)I
            istore 7 /* uid */
        start local 7 // int uid
        14: .line 200
            iload 7 /* uid */
            ifle 16
        15: .line 201
            iconst_1
            newarray 10
            dup
            iconst_0
            iload 7 /* uid */
            iastore
            astore 6 /* uids */
        end local 7 // int uid
        16: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* uids */
            iload 2 /* userId */
            invokevirtual android.content.pm.RegisteredServicesCache.generateServicesMap:([II)V
        end local 6 // int[] uids
        17: .line 206
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean replacing
        end local 4 // boolean isRemoval
        end local 3 // java.lang.String action
        end local 2 // int userId
        end local 1 // android.content.Intent intent
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0   18     1     intent  Landroid/content/Intent;
            0   18     2     userId  I
            1   18     3     action  Ljava/lang/String;
            6   18     4  isRemoval  Z
            7   18     5  replacing  Z
            9   17     6       uids  [I
           14   16     7        uid  I
    MethodParameters:
        Name  Flags
      intent  
      userId  

  public void invalidateCache(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // int userId
         0: .line 238
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 239
            aload 0 /* this */
            iload 1 /* userId */
            invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(I)Landroid/content/pm/RegisteredServicesCache$UserServices;
            astore 3 /* user */
        start local 3 // android.content.pm.RegisteredServicesCache$UserServices user
         2: .line 240
            aload 3 /* user */
            aconst_null
            putfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
         3: .line 241
            aload 0 /* this */
            iload 1 /* userId */
            invokevirtual android.content.pm.RegisteredServicesCache.onServicesChangedLocked:(I)V
        end local 3 // android.content.pm.RegisteredServicesCache$UserServices user
         4: .line 238
            aload 2
            monitorexit
         5: goto 8
      StackMap locals: android.content.pm.RegisteredServicesCache int java.lang.Object
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 243
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int userId
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0    9     1  userId  I
            2    4     3    user  Landroid/content/pm/RegisteredServicesCache$UserServices<TV;>;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
        Name  Flags
      userId  

  public void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[], int);
    descriptor: (Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // java.io.FileDescriptor fd
        start local 2 // java.io.PrintWriter fout
        start local 3 // java.lang.String[] args
        start local 4 // int userId
         0: .line 246
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
         1: .line 247
            aload 0 /* this */
            iload 4 /* userId */
            invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(I)Landroid/content/pm/RegisteredServicesCache$UserServices;
            astore 6 /* user */
        start local 6 // android.content.pm.RegisteredServicesCache$UserServices user
         2: .line 248
            aload 6 /* user */
            getfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
            ifnull 9
         3: .line 249
            aload 2 /* fout */
            new java.lang.StringBuilder
            dup
            ldc "RegisteredServicesCache: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* user */
            getfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " services"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         4: .line 250
            aload 6 /* user */
            getfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 7
      StackMap locals: android.content.pm.RegisteredServicesCache java.io.FileDescriptor java.io.PrintWriter java.lang.String[] int java.lang.Object android.content.pm.RegisteredServicesCache$UserServices top java.util.Iterator
      StackMap stack:
         5: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.content.pm.RegisteredServicesCache$ServiceInfo
            astore 7 /* info */
        start local 7 // android.content.pm.RegisteredServicesCache$ServiceInfo info
         6: .line 251
            aload 2 /* fout */
            new java.lang.StringBuilder
            dup
            ldc "  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* info */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 7 // android.content.pm.RegisteredServicesCache$ServiceInfo info
         7: .line 250
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 253
            goto 10
         9: .line 254
      StackMap locals: android.content.pm.RegisteredServicesCache java.io.FileDescriptor java.io.PrintWriter java.lang.String[] int java.lang.Object android.content.pm.RegisteredServicesCache$UserServices
      StackMap stack:
            aload 2 /* fout */
            ldc "RegisteredServicesCache: services not loaded"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 6 // android.content.pm.RegisteredServicesCache$UserServices user
        10: .line 246
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 5
            monitorexit
        13: athrow
        14: .line 257
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int userId
        end local 3 // java.lang.String[] args
        end local 2 // java.io.PrintWriter fout
        end local 1 // java.io.FileDescriptor fd
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0   15     1      fd  Ljava/io/FileDescriptor;
            0   15     2    fout  Ljava/io/PrintWriter;
            0   15     3    args  [Ljava/lang/String;
            0   15     4  userId  I
            2   10     6    user  Landroid/content/pm/RegisteredServicesCache$UserServices<TV;>;
            6    7     7    info  Landroid/content/pm/RegisteredServicesCache$ServiceInfo<*>;
      Exception table:
        from    to  target  type
           1    11      12  any
          12    13      12  any
    MethodParameters:
        Name  Flags
      fd      
      fout    
      args    
      userId  

  public android.content.pm.RegisteredServicesCacheListener<V> getListener();
    descriptor: ()Landroid/content/pm/RegisteredServicesCacheListener;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.content.pm.RegisteredServicesCache this
         0: .line 260
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 261
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mListener:Landroid/content/pm/RegisteredServicesCacheListener;
            aload 1
            monitorexit
         2: areturn
         3: .line 260
      StackMap locals: android.content.pm.RegisteredServicesCache android.content.pm.RegisteredServicesCache
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/content/pm/RegisteredServicesCache<TV;>;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    Signature: ()Landroid/content/pm/RegisteredServicesCacheListener<TV;>;

  public void setListener(android.content.pm.RegisteredServicesCacheListener<V>, android.os.Handler);
    descriptor: (Landroid/content/pm/RegisteredServicesCacheListener;Landroid/os/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // android.content.pm.RegisteredServicesCacheListener listener
        start local 2 // android.os.Handler handler
         0: .line 266
            aload 2 /* handler */
            ifnonnull 2
         1: .line 267
            new android.os.Handler
            dup
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getMainLooper:()Landroid/os/Looper;
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
            astore 2 /* handler */
         2: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         3: .line 270
            aload 0 /* this */
            aload 2 /* handler */
            putfield android.content.pm.RegisteredServicesCache.mHandler:Landroid/os/Handler;
         4: .line 271
            aload 0 /* this */
            aload 1 /* listener */
            putfield android.content.pm.RegisteredServicesCache.mListener:Landroid/content/pm/RegisteredServicesCacheListener;
         5: .line 269
            aload 3
            monitorexit
         6: goto 9
      StackMap locals: android.content.pm.RegisteredServicesCache android.content.pm.RegisteredServicesCacheListener android.os.Handler android.content.pm.RegisteredServicesCache
      StackMap stack: java.lang.Throwable
         7: aload 3
            monitorexit
         8: athrow
         9: .line 273
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.os.Handler handler
        end local 1 // android.content.pm.RegisteredServicesCacheListener listener
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0   10     1  listener  Landroid/content/pm/RegisteredServicesCacheListener<TV;>;
            0   10     2   handler  Landroid/os/Handler;
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any
    Signature: (Landroid/content/pm/RegisteredServicesCacheListener<TV;>;Landroid/os/Handler;)V
    MethodParameters:
          Name  Flags
      listener  
      handler   

  private void notifyListener(V, int, );
    descriptor: (Ljava/lang/Object;IZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // java.lang.Object type
        start local 2 // int userId
        start local 3 // boolean removed
         0: .line 281
            aload 0 /* this */
            dup
            astore 6
            monitorenter
         1: .line 282
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mListener:Landroid/content/pm/RegisteredServicesCacheListener;
            astore 4 /* listener */
        start local 4 // android.content.pm.RegisteredServicesCacheListener listener
         2: .line 283
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mHandler:Landroid/os/Handler;
            astore 5 /* handler */
        start local 5 // android.os.Handler handler
         3: .line 281
            aload 6
            monitorexit
         4: goto 7
        end local 5 // android.os.Handler handler
        end local 4 // android.content.pm.RegisteredServicesCacheListener listener
      StackMap locals: android.content.pm.RegisteredServicesCache java.lang.Object int int top top android.content.pm.RegisteredServicesCache
      StackMap stack: java.lang.Throwable
         5: aload 6
            monitorexit
         6: athrow
        start local 4 // android.content.pm.RegisteredServicesCacheListener listener
        start local 5 // android.os.Handler handler
         7: .line 285
      StackMap locals: android.content.pm.RegisteredServicesCache java.lang.Object int int android.content.pm.RegisteredServicesCacheListener android.os.Handler
      StackMap stack:
            aload 4 /* listener */
            ifnonnull 9
         8: .line 286
            return
         9: .line 289
      StackMap locals:
      StackMap stack:
            aload 4 /* listener */
            astore 6 /* listener2 */
        start local 6 // android.content.pm.RegisteredServicesCacheListener listener2
        10: .line 290
            aload 5 /* handler */
            new android.content.pm.RegisteredServicesCache$4
            dup
            aload 0 /* this */
            aload 6 /* listener2 */
            aload 1 /* type */
            iload 2 /* userId */
            iload 3 /* removed */
            invokespecial android.content.pm.RegisteredServicesCache$4.<init>:(Landroid/content/pm/RegisteredServicesCache;Landroid/content/pm/RegisteredServicesCacheListener;Ljava/lang/Object;IZ)V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
        11: .line 295
            return
        end local 6 // android.content.pm.RegisteredServicesCacheListener listener2
        end local 5 // android.os.Handler handler
        end local 4 // android.content.pm.RegisteredServicesCacheListener listener
        end local 3 // boolean removed
        end local 2 // int userId
        end local 1 // java.lang.Object type
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0   12     1       type  TV;
            0   12     2     userId  I
            0   12     3    removed  Z
            2    5     4   listener  Landroid/content/pm/RegisteredServicesCacheListener<TV;>;
            7   12     4   listener  Landroid/content/pm/RegisteredServicesCacheListener<TV;>;
            3    5     5    handler  Landroid/os/Handler;
            7   12     5    handler  Landroid/os/Handler;
           10   12     6  listener2  Landroid/content/pm/RegisteredServicesCacheListener<TV;>;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    Signature: (TV;IZ)V
    MethodParameters:
         Name  Flags
      type     final
      userId   final
      removed  final

  public android.content.pm.RegisteredServicesCache$ServiceInfo<V> getServiceInfo(V, int);
    descriptor: (Ljava/lang/Object;I)Landroid/content/pm/RegisteredServicesCache$ServiceInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // java.lang.Object type
        start local 2 // int userId
         0: .line 327
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 329
            aload 0 /* this */
            iload 2 /* userId */
            invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(I)Landroid/content/pm/RegisteredServicesCache$UserServices;
            astore 4 /* user */
        start local 4 // android.content.pm.RegisteredServicesCache$UserServices user
         2: .line 330
            aload 4 /* user */
            getfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
            ifnonnull 4
         3: .line 331
            aload 0 /* this */
            aconst_null
            iload 2 /* userId */
            invokevirtual android.content.pm.RegisteredServicesCache.generateServicesMap:([II)V
         4: .line 333
      StackMap locals: java.lang.Object android.content.pm.RegisteredServicesCache$UserServices
      StackMap stack:
            aload 4 /* user */
            getfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
            aload 1 /* type */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.content.pm.RegisteredServicesCache$ServiceInfo
            aload 3
            monitorexit
         5: areturn
        end local 4 // android.content.pm.RegisteredServicesCache$UserServices user
         6: .line 327
      StackMap locals: android.content.pm.RegisteredServicesCache java.lang.Object int java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         7: athrow
        end local 2 // int userId
        end local 1 // java.lang.Object type
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0    8     1    type  TV;
            0    8     2  userId  I
            2    6     4    user  Landroid/content/pm/RegisteredServicesCache$UserServices<TV;>;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    Signature: (TV;I)Landroid/content/pm/RegisteredServicesCache$ServiceInfo<TV;>;
    MethodParameters:
        Name  Flags
      type    
      userId  

  public java.util.Collection<android.content.pm.RegisteredServicesCache$ServiceInfo<V>> getAllServices(int);
    descriptor: (I)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // int userId
         0: .line 342
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 344
            aload 0 /* this */
            iload 1 /* userId */
            invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(I)Landroid/content/pm/RegisteredServicesCache$UserServices;
            astore 3 /* user */
        start local 3 // android.content.pm.RegisteredServicesCache$UserServices user
         2: .line 345
            aload 3 /* user */
            getfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
            ifnonnull 4
         3: .line 346
            aload 0 /* this */
            aconst_null
            iload 1 /* userId */
            invokevirtual android.content.pm.RegisteredServicesCache.generateServicesMap:([II)V
         4: .line 349
      StackMap locals: java.lang.Object android.content.pm.RegisteredServicesCache$UserServices
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 3 /* user */
            getfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
         5: .line 348
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
            aload 2
            monitorexit
         6: areturn
        end local 3 // android.content.pm.RegisteredServicesCache$UserServices user
         7: .line 342
      StackMap locals: android.content.pm.RegisteredServicesCache int java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         8: athrow
        end local 1 // int userId
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0    9     1  userId  I
            2    7     3    user  Landroid/content/pm/RegisteredServicesCache$UserServices<TV;>;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    Signature: (I)Ljava/util/Collection<Landroid/content/pm/RegisteredServicesCache$ServiceInfo<TV;>;>;
    MethodParameters:
        Name  Flags
      userId  

  public void updateServices(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // int userId
         0: .line 358
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 359
            aload 0 /* this */
            iload 1 /* userId */
            invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(I)Landroid/content/pm/RegisteredServicesCache$UserServices;
            astore 4 /* user */
        start local 4 // android.content.pm.RegisteredServicesCache$UserServices user
         2: .line 361
            aload 4 /* user */
            getfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
            ifnonnull 5
         3: .line 362
            aload 3
            monitorexit
         4: return
         5: .line 364
      StackMap locals: android.content.pm.RegisteredServicesCache int top java.lang.Object android.content.pm.RegisteredServicesCache$UserServices
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 4 /* user */
            getfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* allServices */
        end local 4 // android.content.pm.RegisteredServicesCache$UserServices user
        start local 2 // java.util.List allServices
         6: .line 358
            aload 3
            monitorexit
         7: goto 10
        end local 2 // java.util.List allServices
      StackMap locals: android.content.pm.RegisteredServicesCache int top java.lang.Object
      StackMap stack: java.lang.Throwable
         8: aload 3
            monitorexit
         9: athrow
        start local 2 // java.util.List allServices
        10: .line 366
      StackMap locals: android.content.pm.RegisteredServicesCache int java.util.List
      StackMap stack:
            aconst_null
            astore 3 /* updatedUids */
        start local 3 // android.util.IntArray updatedUids
        11: .line 367
            aload 2 /* allServices */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 23
      StackMap locals: android.content.pm.RegisteredServicesCache int java.util.List android.util.IntArray top java.util.Iterator
      StackMap stack:
        12: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.content.pm.RegisteredServicesCache$ServiceInfo
            astore 4 /* service */
        start local 4 // android.content.pm.RegisteredServicesCache$ServiceInfo service
        13: .line 368
            aload 4 /* service */
            getfield android.content.pm.RegisteredServicesCache$ServiceInfo.componentInfo:Landroid/content/pm/ComponentInfo;
            getfield android.content.pm.ComponentInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
            getfield android.content.pm.ApplicationInfo.versionCode:I
            i2l
            lstore 6 /* versionCode */
        start local 6 // long versionCode
        14: .line 369
            aload 4 /* service */
            getfield android.content.pm.RegisteredServicesCache$ServiceInfo.componentInfo:Landroid/content/pm/ComponentInfo;
            getfield android.content.pm.ComponentInfo.packageName:Ljava/lang/String;
            astore 8 /* pkg */
        start local 8 // java.lang.String pkg
        15: .line 370
            aconst_null
            astore 9 /* newAppInfo */
        start local 9 // android.content.pm.ApplicationInfo newAppInfo
        16: .line 372
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
            aload 8 /* pkg */
            iconst_0
            iload 1 /* userId */
            invokevirtual android.content.pm.PackageManager.getApplicationInfoAsUser:(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
            astore 9 /* newAppInfo */
        17: .line 373
            goto 19
      StackMap locals: android.content.pm.RegisteredServicesCache int java.util.List android.util.IntArray android.content.pm.RegisteredServicesCache$ServiceInfo java.util.Iterator long java.lang.String android.content.pm.ApplicationInfo
      StackMap stack: android.content.pm.PackageManager$NameNotFoundException
        18: pop
        19: .line 377
      StackMap locals:
      StackMap stack:
            aload 9 /* newAppInfo */
            ifnull 20
            aload 9 /* newAppInfo */
            getfield android.content.pm.ApplicationInfo.versionCode:I
            i2l
            lload 6 /* versionCode */
            lcmp
            ifeq 23
        20: .line 382
      StackMap locals:
      StackMap stack:
            aload 3 /* updatedUids */
            ifnonnull 22
        21: .line 383
            new android.util.IntArray
            dup
            invokespecial android.util.IntArray.<init>:()V
            astore 3 /* updatedUids */
        22: .line 385
      StackMap locals:
      StackMap stack:
            aload 3 /* updatedUids */
            aload 4 /* service */
            getfield android.content.pm.RegisteredServicesCache$ServiceInfo.uid:I
            invokevirtual android.util.IntArray.add:(I)V
        end local 9 // android.content.pm.ApplicationInfo newAppInfo
        end local 8 // java.lang.String pkg
        end local 6 // long versionCode
        end local 4 // android.content.pm.RegisteredServicesCache$ServiceInfo service
        23: .line 367
      StackMap locals: android.content.pm.RegisteredServicesCache int java.util.List android.util.IntArray top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        24: .line 388
            aload 3 /* updatedUids */
            ifnull 27
            aload 3 /* updatedUids */
            invokevirtual android.util.IntArray.size:()I
            ifle 27
        25: .line 389
            aload 3 /* updatedUids */
            invokevirtual android.util.IntArray.toArray:()[I
            astore 4 /* updatedUidsArray */
        start local 4 // int[] updatedUidsArray
        26: .line 390
            aload 0 /* this */
            aload 4 /* updatedUidsArray */
            iload 1 /* userId */
            invokevirtual android.content.pm.RegisteredServicesCache.generateServicesMap:([II)V
        end local 4 // int[] updatedUidsArray
        27: .line 392
      StackMap locals: android.content.pm.RegisteredServicesCache int java.util.List android.util.IntArray
      StackMap stack:
            return
        end local 3 // android.util.IntArray updatedUids
        end local 2 // java.util.List allServices
        end local 1 // int userId
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   28     0              this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0   28     1            userId  I
            6    8     2       allServices  Ljava/util/List<Landroid/content/pm/RegisteredServicesCache$ServiceInfo<TV;>;>;
           10   28     2       allServices  Ljava/util/List<Landroid/content/pm/RegisteredServicesCache$ServiceInfo<TV;>;>;
            2    6     4              user  Landroid/content/pm/RegisteredServicesCache$UserServices<TV;>;
           11   28     3       updatedUids  Landroid/util/IntArray;
           13   23     4           service  Landroid/content/pm/RegisteredServicesCache$ServiceInfo<TV;>;
           14   23     6       versionCode  J
           15   23     8               pkg  Ljava/lang/String;
           16   23     9        newAppInfo  Landroid/content/pm/ApplicationInfo;
           26   27     4  updatedUidsArray  [I
      Exception table:
        from    to  target  type
           1     4       8  any
           5     7       8  any
           8     9       8  any
          16    17      18  Class android.content.pm.PackageManager$NameNotFoundException
    MethodParameters:
        Name  Flags
      userId  

  public boolean getBindInstantServiceAllowed(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
         0: .line 399
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tManifest cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/pm/RegisteredServicesCache<TV;>;
    MethodParameters:
        Name  Flags
      userId  

  public void setBindInstantServiceAllowed(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.content.pm.RegisteredServicesCache this
         0: .line 413
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tManifest cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/pm/RegisteredServicesCache<TV;>;
    MethodParameters:
         Name  Flags
      userId   
      allowed  

  protected boolean inSystemImage(int);
    descriptor: (I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // int callerUid
         0: .line 424
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
            iload 1 /* callerUid */
            invokevirtual android.content.pm.PackageManager.getPackagesForUid:(I)[Ljava/lang/String;
            astore 2 /* packages */
        start local 2 // java.lang.String[] packages
         1: .line 425
            aload 2 /* packages */
            ifnull 12
         2: .line 426
            aload 2 /* packages */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 11
      StackMap locals: android.content.pm.RegisteredServicesCache int java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* name */
        start local 3 // java.lang.String name
         4: .line 429
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
            aload 3 /* name */
            iconst_0
            invokevirtual android.content.pm.PackageManager.getPackageInfo:(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
         5: .line 428
            astore 7 /* packageInfo */
        start local 7 // android.content.pm.PackageInfo packageInfo
         6: .line 430
            aload 7 /* packageInfo */
            getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
            getfield android.content.pm.ApplicationInfo.flags:I
            iconst_1
            iand
            ifeq 10
         7: .line 431
            iconst_1
            ireturn
        end local 7 // android.content.pm.PackageInfo packageInfo
         8: .line 433
      StackMap locals: android.content.pm.RegisteredServicesCache int java.lang.String[] java.lang.String int int java.lang.String[]
      StackMap stack: android.content.pm.PackageManager$NameNotFoundException
            pop
         9: .line 434
            iconst_0
            ireturn
        end local 3 // java.lang.String name
        10: .line 426
      StackMap locals: android.content.pm.RegisteredServicesCache int java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        11: iload 4
            iload 5
            if_icmplt 3
        12: .line 438
      StackMap locals: android.content.pm.RegisteredServicesCache int java.lang.String[]
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.String[] packages
        end local 1 // int callerUid
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0   13     1    callerUid  I
            1   13     2     packages  [Ljava/lang/String;
            4   10     3         name  Ljava/lang/String;
            6    8     7  packageInfo  Landroid/content/pm/PackageInfo;
      Exception table:
        from    to  target  type
           4     7       8  Class android.content.pm.PackageManager$NameNotFoundException
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.android.internal.annotations.VisibleForTesting()
    MethodParameters:
           Name  Flags
      callerUid  

  protected java.util.List<android.content.pm.ResolveInfo> queryIntentServices(int);
    descriptor: (I)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // int userId
         0: .line 443
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
            astore 2 /* pm */
        start local 2 // android.content.pm.PackageManager pm
         1: .line 444
            ldc 786560
            istore 3 /* flags */
        start local 3 // int flags
         2: .line 447
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         3: .line 448
            aload 0 /* this */
            iload 1 /* userId */
            invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(I)Landroid/content/pm/RegisteredServicesCache$UserServices;
            astore 5 /* user */
        start local 5 // android.content.pm.RegisteredServicesCache$UserServices user
         4: .line 449
            aload 5 /* user */
            getfield android.content.pm.RegisteredServicesCache$UserServices.mBindInstantServiceAllowed:Z
            ifeq 6
         5: .line 450
            iload 3 /* flags */
            ldc 8388608
            ior
            istore 3 /* flags */
        end local 5 // android.content.pm.RegisteredServicesCache$UserServices user
         6: .line 447
      StackMap locals: android.content.pm.PackageManager int java.lang.Object
      StackMap stack:
            aload 4
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 4
            monitorexit
         9: athrow
        10: .line 453
      StackMap locals:
      StackMap stack:
            aload 2 /* pm */
            new android.content.Intent
            dup
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mInterfaceName:Ljava/lang/String;
            invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
            iload 3 /* flags */
            iload 1 /* userId */
            invokevirtual android.content.pm.PackageManager.queryIntentServicesAsUser:(Landroid/content/Intent;II)Ljava/util/List;
            areturn
        end local 3 // int flags
        end local 2 // android.content.pm.PackageManager pm
        end local 1 // int userId
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0   11     1  userId  I
            1   11     2      pm  Landroid/content/pm/PackageManager;
            2   11     3   flags  I
            4    6     5    user  Landroid/content/pm/RegisteredServicesCache$UserServices<TV;>;
      Exception table:
        from    to  target  type
           3     7       8  any
           8     9       8  any
    Signature: (I)Ljava/util/List<Landroid/content/pm/ResolveInfo;>;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.android.internal.annotations.VisibleForTesting()
    MethodParameters:
        Name  Flags
      userId  

  private void generateServicesMap(int[], int);
    descriptor: ([II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.content.pm.RegisteredServicesCache this
         0: .line 473
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe method parseServiceInfo(ResolveInfo) from the type RegisteredServicesCache<V> refers to the missing type XmlPullParserException\n\tXmlPullParserException cannot be resolved to a type\n\tNo exception of type Object can be thrown; an exception type must be a subclass of Throwable\n\tThe method w(String, String, Throwable) in the type Log is not applicable for the arguments (String, String, Object)\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/pm/RegisteredServicesCache<TV;>;
    MethodParameters:
             Name  Flags
      changedUids  
      userId       

  protected void onServicesChangedLocked(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // int userId
         0: .line 589
            return
        end local 1 // int userId
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0    1     1  userId  I
    MethodParameters:
        Name  Flags
      userId  

  private boolean containsUid(int[], int);
    descriptor: ([II)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // int[] changedUids
        start local 2 // int uid
         0: .line 596
            aload 1 /* changedUids */
            ifnull 1
            aload 1 /* changedUids */
            iload 2 /* uid */
            invokestatic com.android.internal.util.ArrayUtils.contains:([II)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 2 // int uid
        end local 1 // int[] changedUids
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0    2     1  changedUids  [I
            0    2     2          uid  I
    MethodParameters:
             Name  Flags
      changedUids  
      uid          

  private boolean containsType(java.util.ArrayList<android.content.pm.RegisteredServicesCache$ServiceInfo<V>>, );
    descriptor: (Ljava/util/ArrayList;Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // java.util.ArrayList serviceInfos
        start local 2 // java.lang.Object type
         0: .line 600
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: aload 1 /* serviceInfos */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* N */
        start local 4 // int N
         2: goto 6
         3: .line 601
      StackMap locals: int int
      StackMap stack:
            aload 1 /* serviceInfos */
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.content.pm.RegisteredServicesCache$ServiceInfo
            getfield android.content.pm.RegisteredServicesCache$ServiceInfo.type:Ljava/lang/Object;
            aload 2 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 602
            iconst_1
            ireturn
         5: .line 600
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 4 /* N */
            if_icmplt 3
        end local 4 // int N
        end local 3 // int i
         7: .line 606
            iconst_0
            ireturn
        end local 2 // java.lang.Object type
        end local 1 // java.util.ArrayList serviceInfos
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0    8     1  serviceInfos  Ljava/util/ArrayList<Landroid/content/pm/RegisteredServicesCache$ServiceInfo<TV;>;>;
            0    8     2          type  TV;
            1    7     3             i  I
            2    7     4             N  I
    Signature: (Ljava/util/ArrayList<Landroid/content/pm/RegisteredServicesCache$ServiceInfo<TV;>;>;TV;)Z
    MethodParameters:
              Name  Flags
      serviceInfos  
      type          

  private boolean containsTypeAndUid(java.util.ArrayList<android.content.pm.RegisteredServicesCache$ServiceInfo<V>>, V, );
    descriptor: (Ljava/util/ArrayList;Ljava/lang/Object;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=4
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // java.util.ArrayList serviceInfos
        start local 2 // java.lang.Object type
        start local 3 // int uid
         0: .line 610
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: aload 1 /* serviceInfos */
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* N */
        start local 5 // int N
         2: goto 7
         3: .line 611
      StackMap locals: int int
      StackMap stack:
            aload 1 /* serviceInfos */
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.content.pm.RegisteredServicesCache$ServiceInfo
            astore 6 /* serviceInfo */
        start local 6 // android.content.pm.RegisteredServicesCache$ServiceInfo serviceInfo
         4: .line 612
            aload 6 /* serviceInfo */
            getfield android.content.pm.RegisteredServicesCache$ServiceInfo.type:Ljava/lang/Object;
            aload 2 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
            aload 6 /* serviceInfo */
            getfield android.content.pm.RegisteredServicesCache$ServiceInfo.uid:I
            iload 3 /* uid */
            if_icmpne 6
         5: .line 613
            iconst_1
            ireturn
        end local 6 // android.content.pm.RegisteredServicesCache$ServiceInfo serviceInfo
         6: .line 610
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 5 /* N */
            if_icmplt 3
        end local 5 // int N
        end local 4 // int i
         8: .line 617
            iconst_0
            ireturn
        end local 3 // int uid
        end local 2 // java.lang.Object type
        end local 1 // java.util.ArrayList serviceInfos
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0    9     1  serviceInfos  Ljava/util/ArrayList<Landroid/content/pm/RegisteredServicesCache$ServiceInfo<TV;>;>;
            0    9     2          type  TV;
            0    9     3           uid  I
            1    8     4             i  I
            2    8     5             N  I
            4    6     6   serviceInfo  Landroid/content/pm/RegisteredServicesCache$ServiceInfo<TV;>;
    Signature: (Ljava/util/ArrayList<Landroid/content/pm/RegisteredServicesCache$ServiceInfo<TV;>;>;TV;I)Z
    MethodParameters:
              Name  Flags
      serviceInfos  
      type          
      uid           

  protected android.content.pm.RegisteredServicesCache$ServiceInfo<V> parseServiceInfo(android.content.pm.ResolveInfo);
    descriptor: (Landroid/content/pm/ResolveInfo;)Landroid/content/pm/RegisteredServicesCache$ServiceInfo;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
         0: .line 622
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tXmlPullParserException cannot be resolved to a type\n\tXmlPullParserException cannot be resolved to a type\n\tThe method asAttributeSet(XmlPullParser) from the type Xml refers to the missing type XmlPullParser\n\tThe method next() is undefined for the type XmlResourceParser\n\tXmlPullParser cannot be resolved to a variable\n\tXmlPullParser cannot be resolved to a variable\n\tThe method getName() is undefined for the type XmlResourceParser\n\tXmlPullParserException cannot be resolved to a type\n\tXmlPullParserException cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/pm/RegisteredServicesCache<TV;>;
    Exceptions:
      throws XmlPullParserException, java.io.IOException
    Signature: (Landroid/content/pm/ResolveInfo;)Landroid/content/pm/RegisteredServicesCache$ServiceInfo<TV;>;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.android.internal.annotations.VisibleForTesting()
    MethodParameters:
         Name  Flags
      service  

  private void readPersistentServicesLocked(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
         0: .line 667
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tXmlPullParserException cannot be resolved to a type\n\tXmlPullParser cannot be resolved to a type\n\tThe method newPullParser() from the type Xml refers to the missing type XmlPullParser\n\tXmlPullParser cannot be resolved to a variable\n\tXmlPullParser cannot be resolved to a variable\n\tXmlPullParser cannot be resolved to a variable\n\tXmlPullParser cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/pm/RegisteredServicesCache<TV;>;
    Exceptions:
      throws XmlPullParserException, java.io.IOException
    MethodParameters:
      Name  Flags
      is    

  private void migrateIfNecessaryLocked();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.content.pm.RegisteredServicesCache this
         0: .line 719
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe method readPersistentServicesLocked(InputStream) from the type RegisteredServicesCache<V> refers to the missing type XmlPullParserException\n\tIoUtils cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/pm/RegisteredServicesCache<TV;>;

  private void writePersistentServicesLocked(android.content.pm.RegisteredServicesCache$UserServices<V>, );
    descriptor: (Landroid/content/pm/RegisteredServicesCache$UserServices;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.content.pm.RegisteredServicesCache this
         0: .line 758
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tXmlSerializer cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/pm/RegisteredServicesCache<TV;>;
    Signature: (Landroid/content/pm/RegisteredServicesCache$UserServices<TV;>;I)V
    MethodParameters:
        Name  Flags
      user    
      userId  

  protected void onUserRemoved(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // int userId
         0: .line 782
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 783
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mUserServices:Landroid/util/SparseArray;
            iload 1 /* userId */
            invokevirtual android.util.SparseArray.remove:(I)V
         2: .line 782
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: android.content.pm.RegisteredServicesCache int java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 785
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int userId
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0    7     1  userId  I
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    MethodParameters:
        Name  Flags
      userId  

  protected java.util.List<android.content.pm.UserInfo> getUsers();
    descriptor: ()Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.content.pm.RegisteredServicesCache this
         0: .line 789
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
            invokestatic android.os.UserManager.get:(Landroid/content/Context;)Landroid/os/UserManager;
            iconst_1
            invokevirtual android.os.UserManager.getUsers:(Z)Ljava/util/List;
            areturn
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/pm/RegisteredServicesCache<TV;>;
    Signature: ()Ljava/util/List<Landroid/content/pm/UserInfo;>;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.android.internal.annotations.VisibleForTesting()

  protected android.content.pm.UserInfo getUser(int);
    descriptor: (I)Landroid/content/pm/UserInfo;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // int userId
         0: .line 794
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
            invokestatic android.os.UserManager.get:(Landroid/content/Context;)Landroid/os/UserManager;
            iload 1 /* userId */
            invokevirtual android.os.UserManager.getUserInfo:(I)Landroid/content/pm/UserInfo;
            areturn
        end local 1 // int userId
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0    1     1  userId  I
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.android.internal.annotations.VisibleForTesting()
    MethodParameters:
        Name  Flags
      userId  

  private android.util.AtomicFile createFileForUser(int);
    descriptor: (I)Landroid/util/AtomicFile;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // int userId
         0: .line 798
            aload 0 /* this */
            iload 1 /* userId */
            invokevirtual android.content.pm.RegisteredServicesCache.getUserSystemDirectory:(I)Ljava/io/File;
            astore 2 /* userDir */
        start local 2 // java.io.File userDir
         1: .line 799
            new java.io.File
            dup
            aload 2 /* userDir */
            new java.lang.StringBuilder
            dup
            ldc "registered_services/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.content.pm.RegisteredServicesCache.mInterfaceName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".xml"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 3 /* userFile */
        start local 3 // java.io.File userFile
         2: .line 800
            new android.util.AtomicFile
            dup
            aload 3 /* userFile */
            invokespecial android.util.AtomicFile.<init>:(Ljava/io/File;)V
            areturn
        end local 3 // java.io.File userFile
        end local 2 // java.io.File userDir
        end local 1 // int userId
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0    3     1    userId  I
            1    3     2   userDir  Ljava/io/File;
            2    3     3  userFile  Ljava/io/File;
    MethodParameters:
        Name  Flags
      userId  

  protected java.io.File getUserSystemDirectory(int);
    descriptor: (I)Ljava/io/File;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // int userId
         0: .line 805
            iload 1 /* userId */
            invokestatic android.os.Environment.getUserSystemDirectory:(I)Ljava/io/File;
            areturn
        end local 1 // int userId
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0    1     1  userId  I
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.android.internal.annotations.VisibleForTesting()
    MethodParameters:
        Name  Flags
      userId  

  protected java.io.File getDataDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.content.pm.RegisteredServicesCache this
         0: .line 810
            invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
            areturn
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/pm/RegisteredServicesCache<TV;>;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.android.internal.annotations.VisibleForTesting()

  protected java.util.Map<V, java.lang.Integer> getPersistentServices(int);
    descriptor: (I)Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.content.pm.RegisteredServicesCache this
        start local 1 // int userId
         0: .line 815
            aload 0 /* this */
            iload 1 /* userId */
            invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(I)Landroid/content/pm/RegisteredServicesCache$UserServices;
            getfield android.content.pm.RegisteredServicesCache$UserServices.persistentServices:Ljava/util/Map;
            areturn
        end local 1 // int userId
        end local 0 // android.content.pm.RegisteredServicesCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/content/pm/RegisteredServicesCache<TV;>;
            0    1     1  userId  I
    Signature: (I)Ljava/util/Map<TV;Ljava/lang/Integer;>;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.android.internal.annotations.VisibleForTesting()
    MethodParameters:
        Name  Flags
      userId  

  public abstract V parseServiceAttributes(android.content.res.Resources, java.lang.String, android.util.AttributeSet);
    descriptor: (Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)TV;
    MethodParameters:
             Name  Flags
      res          
      packageName  
      attrs        
}
Signature: <V:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "RegisteredServicesCache.java"
NestMembers:
  android.content.pm.RegisteredServicesCache$1  android.content.pm.RegisteredServicesCache$2  android.content.pm.RegisteredServicesCache$3  android.content.pm.RegisteredServicesCache$4  android.content.pm.RegisteredServicesCache$ServiceInfo  android.content.pm.RegisteredServicesCache$UserServices
InnerClasses:
  public NameNotFoundException = android.content.pm.PackageManager$NameNotFoundException of android.content.pm.PackageManager
  android.content.pm.RegisteredServicesCache$1
  android.content.pm.RegisteredServicesCache$2
  android.content.pm.RegisteredServicesCache$3
  android.content.pm.RegisteredServicesCache$4
  public ServiceInfo = android.content.pm.RegisteredServicesCache$ServiceInfo of android.content.pm.RegisteredServicesCache
  private UserServices = android.content.pm.RegisteredServicesCache$UserServices of android.content.pm.RegisteredServicesCache