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 start local 1 0: aload 0
iload 1
iconst_1
invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(IZ)Landroid/content/pm/RegisteredServicesCache$UserServices;
areturn
end local 1 end local 0 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 0: 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 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 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
2: aload 0
new android.util.SparseArray
dup
iconst_2
invokespecial android.util.SparseArray.<init>:(I)V
putfield android.content.pm.RegisteredServicesCache.mUserServices:Landroid/util/SparseArray;
3: aload 0
new android.content.pm.RegisteredServicesCache$1
dup
aload 0
invokespecial android.content.pm.RegisteredServicesCache$1.<init>:(Landroid/content/pm/RegisteredServicesCache;)V
putfield android.content.pm.RegisteredServicesCache.mPackageReceiver:Landroid/content/BroadcastReceiver;
4: aload 0
new android.content.pm.RegisteredServicesCache$2
dup
aload 0
invokespecial android.content.pm.RegisteredServicesCache$2.<init>:(Landroid/content/pm/RegisteredServicesCache;)V
putfield android.content.pm.RegisteredServicesCache.mExternalReceiver:Landroid/content/BroadcastReceiver;
5: aload 0
new android.content.pm.RegisteredServicesCache$3
dup
aload 0
invokespecial android.content.pm.RegisteredServicesCache$3.<init>:(Landroid/content/pm/RegisteredServicesCache;)V
putfield android.content.pm.RegisteredServicesCache.mUserRemovedReceiver:Landroid/content/BroadcastReceiver;
6: aload 0
aload 1
putfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
7: aload 0
aload 2
putfield android.content.pm.RegisteredServicesCache.mInterfaceName:Ljava/lang/String;
8: aload 0
aload 3
putfield android.content.pm.RegisteredServicesCache.mMetaDataName:Ljava/lang/String;
9: aload 0
aload 4
putfield android.content.pm.RegisteredServicesCache.mAttributesName:Ljava/lang/String;
10: aload 0
aload 5
putfield android.content.pm.RegisteredServicesCache.mSerializerAndParser:Landroid/content/pm/XmlSerializerAndParser;
11: aload 0
invokevirtual android.content.pm.RegisteredServicesCache.migrateIfNecessaryLocked:()V
12: new android.content.IntentFilter
dup
invokespecial android.content.IntentFilter.<init>:()V
astore 6
start local 6 13: aload 6
ldc "android.intent.action.PACKAGE_ADDED"
invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
14: aload 6
ldc "android.intent.action.PACKAGE_CHANGED"
invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
15: aload 6
ldc "android.intent.action.PACKAGE_REMOVED"
invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
16: aload 6
ldc "package"
invokevirtual android.content.IntentFilter.addDataScheme:(Ljava/lang/String;)V
17: aload 0
getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
aload 0
getfield android.content.pm.RegisteredServicesCache.mPackageReceiver:Landroid/content/BroadcastReceiver;
getstatic android.os.UserHandle.ALL:Landroid/os/UserHandle;
aload 6
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: new android.content.IntentFilter
dup
invokespecial android.content.IntentFilter.<init>:()V
astore 7
start local 7 19: aload 7
ldc "android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE"
invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
20: aload 7
ldc "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE"
invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
21: aload 0
getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
aload 0
getfield android.content.pm.RegisteredServicesCache.mExternalReceiver:Landroid/content/BroadcastReceiver;
aload 7
invokevirtual android.content.Context.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
pop
22: new android.content.IntentFilter
dup
invokespecial android.content.IntentFilter.<init>:()V
astore 8
start local 8 23: aload 7
ldc "android.intent.action.USER_REMOVED"
invokevirtual android.content.IntentFilter.addAction:(Ljava/lang/String;)V
24: aload 0
getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
aload 0
getfield android.content.pm.RegisteredServicesCache.mUserRemovedReceiver:Landroid/content/BroadcastReceiver;
aload 8
invokevirtual android.content.Context.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
pop
25: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 1
invokevirtual android.content.Intent.getAction:()Ljava/lang/String;
astore 3
start local 3 1: ldc "android.intent.action.PACKAGE_REMOVED"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
2: ldc "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
3: iconst_0
goto 5
StackMap locals: java.lang.String
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: istore 4
start local 4 6: aload 1
ldc "android.intent.extra.REPLACING"
iconst_0
invokevirtual android.content.Intent.getBooleanExtra:(Ljava/lang/String;Z)Z
istore 5
start local 5 7: iload 4
ifeq 8
iload 5
ifne 17
8: StackMap locals: int int
StackMap stack:
aconst_null
astore 6
start local 6 9: ldc "android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
10: ldc "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: StackMap locals: int[]
StackMap stack:
aload 1
ldc "android.intent.extra.changed_uid_list"
invokevirtual android.content.Intent.getIntArrayExtra:(Ljava/lang/String;)[I
astore 6
12: goto 16
13: StackMap locals:
StackMap stack:
aload 1
ldc "android.intent.extra.UID"
iconst_m1
invokevirtual android.content.Intent.getIntExtra:(Ljava/lang/String;I)I
istore 7
start local 7 14: iload 7
ifle 16
15: iconst_1
newarray 10
dup
iconst_0
iload 7
iastore
astore 6
end local 7 16: StackMap locals:
StackMap stack:
aload 0
aload 6
iload 2
invokevirtual android.content.pm.RegisteredServicesCache.generateServicesMap:([II)V
end local 6 17: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
iload 1
invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(I)Landroid/content/pm/RegisteredServicesCache$UserServices;
astore 3
start local 3 2: aload 3
aconst_null
putfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
3: aload 0
iload 1
invokevirtual android.content.pm.RegisteredServicesCache.onServicesChangedLocked:(I)V
end local 3 4: 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: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
dup
astore 5
monitorenter
1: aload 0
iload 4
invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(I)Landroid/content/pm/RegisteredServicesCache$UserServices;
astore 6
start local 6 2: aload 6
getfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
ifnull 9
3: aload 2
new java.lang.StringBuilder
dup
ldc "RegisteredServicesCache: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
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: aload 6
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
start local 7 6: aload 2
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
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 7: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: goto 10
9: 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
ldc "RegisteredServicesCache: services not loaded"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 6 10: StackMap locals:
StackMap stack:
aload 5
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 5
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
dup
astore 1
monitorenter
1: aload 0
getfield android.content.pm.RegisteredServicesCache.mListener:Landroid/content/pm/RegisteredServicesCacheListener;
aload 1
monitorexit
2: areturn
3: StackMap locals: android.content.pm.RegisteredServicesCache android.content.pm.RegisteredServicesCache
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 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 start local 1 start local 2 0: aload 2
ifnonnull 2
1: new android.os.Handler
dup
aload 0
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
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 3
monitorenter
3: aload 0
aload 2
putfield android.content.pm.RegisteredServicesCache.mHandler:Landroid/os/Handler;
4: aload 0
aload 1
putfield android.content.pm.RegisteredServicesCache.mListener:Landroid/content/pm/RegisteredServicesCacheListener;
5: 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: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
dup
astore 6
monitorenter
1: aload 0
getfield android.content.pm.RegisteredServicesCache.mListener:Landroid/content/pm/RegisteredServicesCacheListener;
astore 4
start local 4 2: aload 0
getfield android.content.pm.RegisteredServicesCache.mHandler:Landroid/os/Handler;
astore 5
start local 5 3: aload 6
monitorexit
4: goto 7
end local 5 end local 4 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 start local 5 7: StackMap locals: android.content.pm.RegisteredServicesCache java.lang.Object int int android.content.pm.RegisteredServicesCacheListener android.os.Handler
StackMap stack:
aload 4
ifnonnull 9
8: return
9: StackMap locals:
StackMap stack:
aload 4
astore 6
start local 6 10: aload 5
new android.content.pm.RegisteredServicesCache$4
dup
aload 0
aload 6
aload 1
iload 2
iload 3
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: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
iload 2
invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(I)Landroid/content/pm/RegisteredServicesCache$UserServices;
astore 4
start local 4 2: aload 4
getfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
ifnonnull 4
3: aload 0
aconst_null
iload 2
invokevirtual android.content.pm.RegisteredServicesCache.generateServicesMap:([II)V
4: StackMap locals: java.lang.Object android.content.pm.RegisteredServicesCache$UserServices
StackMap stack:
aload 4
getfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
aload 1
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 6: 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 end local 1 end local 0 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 start local 1 0: aload 0
getfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
iload 1
invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(I)Landroid/content/pm/RegisteredServicesCache$UserServices;
astore 3
start local 3 2: aload 3
getfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
ifnonnull 4
3: aload 0
aconst_null
iload 1
invokevirtual android.content.pm.RegisteredServicesCache.generateServicesMap:([II)V
4: StackMap locals: java.lang.Object android.content.pm.RegisteredServicesCache$UserServices
StackMap stack:
new java.util.ArrayList
dup
aload 3
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: invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
aload 2
monitorexit
6: areturn
end local 3 7: StackMap locals: android.content.pm.RegisteredServicesCache int java.lang.Object
StackMap stack: java.lang.Throwable
aload 2
monitorexit
8: athrow
end local 1 end local 0 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 start local 1 0: aload 0
getfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
iload 1
invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(I)Landroid/content/pm/RegisteredServicesCache$UserServices;
astore 4
start local 4 2: aload 4
getfield android.content.pm.RegisteredServicesCache$UserServices.services:Ljava/util/Map;
ifnonnull 5
3: aload 3
monitorexit
4: return
5: 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
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
end local 4 start local 2 6: aload 3
monitorexit
7: goto 10
end local 2 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 10: StackMap locals: android.content.pm.RegisteredServicesCache int java.util.List
StackMap stack:
aconst_null
astore 3
start local 3 11: aload 2
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
start local 4 13: aload 4
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
start local 6 14: aload 4
getfield android.content.pm.RegisteredServicesCache$ServiceInfo.componentInfo:Landroid/content/pm/ComponentInfo;
getfield android.content.pm.ComponentInfo.packageName:Ljava/lang/String;
astore 8
start local 8 15: aconst_null
astore 9
start local 9 16: aload 0
getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
aload 8
iconst_0
iload 1
invokevirtual android.content.pm.PackageManager.getApplicationInfoAsUser:(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
astore 9
17: 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: StackMap locals:
StackMap stack:
aload 9
ifnull 20
aload 9
getfield android.content.pm.ApplicationInfo.versionCode:I
i2l
lload 6
lcmp
ifeq 23
20: StackMap locals:
StackMap stack:
aload 3
ifnonnull 22
21: new android.util.IntArray
dup
invokespecial android.util.IntArray.<init>:()V
astore 3
22: StackMap locals:
StackMap stack:
aload 3
aload 4
getfield android.content.pm.RegisteredServicesCache$ServiceInfo.uid:I
invokevirtual android.util.IntArray.add:(I)V
end local 9 end local 8 end local 6 end local 4 23: 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: aload 3
ifnull 27
aload 3
invokevirtual android.util.IntArray.size:()I
ifle 27
25: aload 3
invokevirtual android.util.IntArray.toArray:()[I
astore 4
start local 4 26: aload 0
aload 4
iload 1
invokevirtual android.content.pm.RegisteredServicesCache.generateServicesMap:([II)V
end local 4 27: StackMap locals: android.content.pm.RegisteredServicesCache int java.util.List android.util.IntArray
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 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 0: 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 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 0: 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 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 start local 1 0: aload 0
getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
iload 1
invokevirtual android.content.pm.PackageManager.getPackagesForUid:(I)[Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 12
2: aload 2
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
start local 3 4: aload 0
getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
aload 3
iconst_0
invokevirtual android.content.pm.PackageManager.getPackageInfo:(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
5: astore 7
start local 7 6: aload 7
getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
getfield android.content.pm.ApplicationInfo.flags:I
iconst_1
iand
ifeq 10
7: iconst_1
ireturn
end local 7 8: 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: iconst_0
ireturn
end local 3 10: 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: StackMap locals: android.content.pm.RegisteredServicesCache int java.lang.String[]
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
astore 2
start local 2 1: ldc 786560
istore 3
start local 3 2: aload 0
getfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
dup
astore 4
monitorenter
3: aload 0
iload 1
invokevirtual android.content.pm.RegisteredServicesCache.findOrCreateUserLocked:(I)Landroid/content/pm/RegisteredServicesCache$UserServices;
astore 5
start local 5 4: aload 5
getfield android.content.pm.RegisteredServicesCache$UserServices.mBindInstantServiceAllowed:Z
ifeq 6
5: iload 3
ldc 8388608
ior
istore 3
end local 5 6: 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: StackMap locals:
StackMap stack:
aload 2
new android.content.Intent
dup
aload 0
getfield android.content.pm.RegisteredServicesCache.mInterfaceName:Ljava/lang/String;
invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
iload 3
iload 1
invokevirtual android.content.pm.PackageManager.queryIntentServicesAsUser:(Landroid/content/Intent;II)Ljava/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 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 0: 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 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 start local 1 0: return
end local 1 end local 0 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 start local 1 start local 2 0: aload 1
ifnull 1
aload 1
iload 2
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 end local 1 end local 0 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 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 1
invokevirtual java.util.ArrayList.size:()I
istore 4
start local 4 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 1
iload 3
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
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 3
end local 4 end local 3 7: iconst_0
ireturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 1
invokevirtual java.util.ArrayList.size:()I
istore 5
start local 5 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 1
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.content.pm.RegisteredServicesCache$ServiceInfo
astore 6
start local 6 4: aload 6
getfield android.content.pm.RegisteredServicesCache$ServiceInfo.type:Ljava/lang/Object;
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
aload 6
getfield android.content.pm.RegisteredServicesCache$ServiceInfo.uid:I
iload 3
if_icmpne 6
5: iconst_1
ireturn
end local 6 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 3
end local 5 end local 4 8: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 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 0: 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 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 0: 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 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 0: 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 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 0: 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 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 start local 1 0: aload 0
getfield android.content.pm.RegisteredServicesCache.mServicesLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield android.content.pm.RegisteredServicesCache.mUserServices:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.remove:(I)V
2: 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: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 0: aload 0
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 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 start local 1 0: aload 0
getfield android.content.pm.RegisteredServicesCache.mContext:Landroid/content/Context;
invokestatic android.os.UserManager.get:(Landroid/content/Context;)Landroid/os/UserManager;
iload 1
invokevirtual android.os.UserManager.getUserInfo:(I)Landroid/content/pm/UserInfo;
areturn
end local 1 end local 0 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 start local 1 0: aload 0
iload 1
invokevirtual android.content.pm.RegisteredServicesCache.getUserSystemDirectory:(I)Ljava/io/File;
astore 2
start local 2 1: new java.io.File
dup
aload 2
new java.lang.StringBuilder
dup
ldc "registered_services/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
start local 3 2: new android.util.AtomicFile
dup
aload 3
invokespecial android.util.AtomicFile.<init>:(Ljava/io/File;)V
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: iload 1
invokestatic android.os.Environment.getUserSystemDirectory:(I)Ljava/io/File;
areturn
end local 1 end local 0 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 0: invokestatic android.os.Environment.getDataDirectory:()Ljava/io/File;
areturn
end local 0 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 start local 1 0: aload 0
iload 1
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 end local 0 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