abstract class android.app.SystemServiceRegistry$StaticServiceFetcher<T> implements android.app.SystemServiceRegistry$ServiceFetcher<T>
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: android.app.SystemServiceRegistry$StaticServiceFetcher
super_class: java.lang.Object
{
private T mCachedInstance;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Signature: TT;
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/app/SystemServiceRegistry$StaticServiceFetcher<TT;>;
public final T getService(android.app.ContextImpl);
descriptor: (Landroid/app/ContextImpl;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield android.app.SystemServiceRegistry$StaticServiceFetcher.mCachedInstance:Ljava/lang/Object;
ifnonnull 6
2: aload 0
aload 0
invokevirtual android.app.SystemServiceRegistry$StaticServiceFetcher.createService:()Ljava/lang/Object;
putfield android.app.SystemServiceRegistry$StaticServiceFetcher.mCachedInstance:Ljava/lang/Object;
3: goto 6
StackMap locals: android.app.SystemServiceRegistry$StaticServiceFetcher android.app.ContextImpl android.app.SystemServiceRegistry$StaticServiceFetcher
StackMap stack: android.os.ServiceManager$ServiceNotFoundException
4: astore 3
start local 3 5: aload 3
invokestatic android.app.SystemServiceRegistry.onServiceNotFound:(Landroid/os/ServiceManager$ServiceNotFoundException;)V
end local 3 6: StackMap locals:
StackMap stack:
aload 0
getfield android.app.SystemServiceRegistry$StaticServiceFetcher.mCachedInstance:Ljava/lang/Object;
aload 2
monitorexit
7: areturn
8: StackMap locals:
StackMap stack: java.lang.Throwable
aload 2
monitorexit
9: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/app/SystemServiceRegistry$StaticServiceFetcher<TT;>;
0 10 1 ctx Landroid/app/ContextImpl;
5 6 3 e Landroid/os/ServiceManager$ServiceNotFoundException;
Exception table:
from to target type
2 3 4 Class android.os.ServiceManager$ServiceNotFoundException
1 7 8 any
8 9 8 any
Signature: (Landroid/app/ContextImpl;)TT;
MethodParameters:
Name Flags
ctx
public abstract T createService();
descriptor: ()Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws android.os.ServiceManager$ServiceNotFoundException
Signature: ()TT;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Landroid/app/SystemServiceRegistry$ServiceFetcher<TT;>;
SourceFile: "SystemServiceRegistry.java"
NestHost: android.app.SystemServiceRegistry
InnerClasses:
abstract ServiceFetcher = android.app.SystemServiceRegistry$ServiceFetcher of android.app.SystemServiceRegistry
abstract StaticServiceFetcher = android.app.SystemServiceRegistry$StaticServiceFetcher of android.app.SystemServiceRegistry
public ServiceNotFoundException = android.os.ServiceManager$ServiceNotFoundException of android.os.ServiceManager