public final class android.os.ServiceManager
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.os.ServiceManager
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: "ServiceManager"
private static final java.lang.Object sLock;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static android.os.IServiceManager sServiceManager;
descriptor: Landroid/os/IServiceManager;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.HashMap<java.lang.String, android.os.IBinder> sCache;
descriptor: Ljava/util/HashMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/HashMap<Ljava/lang/String;Landroid/os/IBinder;>;
private static final int SLOW_LOG_INTERVAL_MS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5000
private static final int STATS_LOG_INTERVAL_MS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5000
private static final long GET_SERVICE_SLOW_THRESHOLD_US_CORE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long GET_SERVICE_SLOW_THRESHOLD_US_NON_CORE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int GET_SERVICE_LOG_EVERY_CALLS_CORE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int GET_SERVICE_LOG_EVERY_CALLS_NON_CORE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static int sGetServiceAccumulatedUs;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "sLock")
private static int sGetServiceAccumulatedCallCount;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "sLock")
private static long sLastStatsLogUptime;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "sLock")
private static long sLastSlowLogUptime;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "sLock")
private static long sLastSlowLogActualTime;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "sLock")
public static final com.android.internal.util.StatLogger sStatLogger;
descriptor: Lcom/android/internal/util/StatLogger;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic android.os.ServiceManager.sLock:Ljava/lang/Object;
1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic android.os.ServiceManager.sCache:Ljava/util/HashMap;
2: ldc "debug.servicemanager.slow_call_core_ms"
bipush 10
invokestatic android.os.SystemProperties.getInt:(Ljava/lang/String;I)I
sipush 1000
imul
i2l
3: putstatic android.os.ServiceManager.GET_SERVICE_SLOW_THRESHOLD_US_CORE:J
4: ldc "debug.servicemanager.slow_call_ms"
bipush 50
invokestatic android.os.SystemProperties.getInt:(Ljava/lang/String;I)I
sipush 1000
imul
i2l
5: putstatic android.os.ServiceManager.GET_SERVICE_SLOW_THRESHOLD_US_NON_CORE:J
6: ldc "debug.servicemanager.log_calls_core"
bipush 100
invokestatic android.os.SystemProperties.getInt:(Ljava/lang/String;I)I
7: putstatic android.os.ServiceManager.GET_SERVICE_LOG_EVERY_CALLS_CORE:I
8: ldc "debug.servicemanager.log_calls"
sipush 200
invokestatic android.os.SystemProperties.getInt:(Ljava/lang/String;I)I
9: putstatic android.os.ServiceManager.GET_SERVICE_LOG_EVERY_CALLS_NON_CORE:I
10: new com.android.internal.util.StatLogger
dup
iconst_1
anewarray java.lang.String
dup
iconst_0
11: ldc "getService()"
aastore
12: invokespecial com.android.internal.util.StatLogger.<init>:([Ljava/lang/String;)V
putstatic android.os.ServiceManager.sStatLogger:Lcom/android/internal/util/StatLogger;
13: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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/os/ServiceManager;
private static android.os.IServiceManager getIServiceManager();
descriptor: ()Landroid/os/IServiceManager;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic android.os.ServiceManager.sServiceManager:Landroid/os/IServiceManager;
ifnull 2
1: getstatic android.os.ServiceManager.sServiceManager:Landroid/os/IServiceManager;
areturn
2: StackMap locals:
StackMap stack:
invokestatic com.android.internal.os.BinderInternal.getContextObject:()Landroid/os/IBinder;
invokestatic android.os.Binder.allowBlocking:(Landroid/os/IBinder;)Landroid/os/IBinder;
invokestatic android.os.ServiceManagerNative.asInterface:(Landroid/os/IBinder;)Landroid/os/IServiceManager;
3: putstatic android.os.ServiceManager.sServiceManager:Landroid/os/IServiceManager;
4: getstatic android.os.ServiceManager.sServiceManager:Landroid/os/IServiceManager;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static android.os.IBinder getService(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/os/IBinder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic android.os.ServiceManager.sCache:Ljava/util/HashMap;
aload 0
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.os.IBinder
astore 1
start local 1 1: aload 1
ifnull 4
2: aload 1
3: areturn
4: StackMap locals: android.os.IBinder
StackMap stack:
aload 0
invokestatic android.os.ServiceManager.rawGetService:(Ljava/lang/String;)Landroid/os/IBinder;
invokestatic android.os.Binder.allowBlocking:(Landroid/os/IBinder;)Landroid/os/IBinder;
5: areturn
end local 1 6: StackMap locals: java.lang.String
StackMap stack: android.os.RemoteException
astore 1
start local 1 7: ldc "ServiceManager"
ldc "error in getService"
aload 1
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 1 8: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 name Ljava/lang/String;
1 6 1 service Landroid/os/IBinder;
7 8 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 3 6 Class android.os.RemoteException
4 5 6 Class android.os.RemoteException
MethodParameters:
Name Flags
name
public static android.os.IBinder getServiceOrThrow(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/os/IBinder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: android.os.IBinder
StackMap stack:
new android.os.ServiceManager$ServiceNotFoundException
dup
aload 0
invokespecial android.os.ServiceManager$ServiceNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 name Ljava/lang/String;
1 4 1 binder Landroid/os/IBinder;
Exceptions:
throws android.os.ServiceManager$ServiceNotFoundException
MethodParameters:
Name Flags
name
public static void addService(java.lang.String, android.os.IBinder);
descriptor: (Ljava/lang/String;Landroid/os/IBinder;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
bipush 8
invokestatic android.os.ServiceManager.addService:(Ljava/lang/String;Landroid/os/IBinder;ZI)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
0 2 1 service Landroid/os/IBinder;
MethodParameters:
Name Flags
name
service
public static void addService(java.lang.String, android.os.IBinder, boolean);
descriptor: (Ljava/lang/String;Landroid/os/IBinder;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
bipush 8
invokestatic android.os.ServiceManager.addService:(Ljava/lang/String;Landroid/os/IBinder;ZI)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
0 2 1 service Landroid/os/IBinder;
0 2 2 allowIsolated Z
MethodParameters:
Name Flags
name
service
allowIsolated
public static void addService(java.lang.String, android.os.IBinder, boolean, int);
descriptor: (Ljava/lang/String;Landroid/os/IBinder;ZI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic android.os.ServiceManager.getIServiceManager:()Landroid/os/IServiceManager;
aload 0
aload 1
iload 2
iload 3
invokeinterface android.os.IServiceManager.addService:(Ljava/lang/String;Landroid/os/IBinder;ZI)V
1: goto 4
StackMap locals:
StackMap stack: android.os.RemoteException
2: astore 4
start local 4 3: ldc "ServiceManager"
ldc "error in addService"
aload 4
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 4 4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 name Ljava/lang/String;
0 5 1 service Landroid/os/IBinder;
0 5 2 allowIsolated Z
0 5 3 dumpPriority I
3 4 4 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
MethodParameters:
Name Flags
name
service
allowIsolated
dumpPriority
public static android.os.IBinder checkService(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/os/IBinder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic android.os.ServiceManager.sCache:Ljava/util/HashMap;
aload 0
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.os.IBinder
astore 1
start local 1 1: aload 1
ifnull 4
2: aload 1
3: areturn
4: StackMap locals: android.os.IBinder
StackMap stack:
invokestatic android.os.ServiceManager.getIServiceManager:()Landroid/os/IServiceManager;
aload 0
invokeinterface android.os.IServiceManager.checkService:(Ljava/lang/String;)Landroid/os/IBinder;
invokestatic android.os.Binder.allowBlocking:(Landroid/os/IBinder;)Landroid/os/IBinder;
5: areturn
end local 1 6: StackMap locals: java.lang.String
StackMap stack: android.os.RemoteException
astore 1
start local 1 7: ldc "ServiceManager"
ldc "error in checkService"
aload 1
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
8: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 name Ljava/lang/String;
1 6 1 service Landroid/os/IBinder;
7 9 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 3 6 Class android.os.RemoteException
4 5 6 Class android.os.RemoteException
MethodParameters:
Name Flags
name
public static java.lang.String[] listServices();
descriptor: ()[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: invokestatic android.os.ServiceManager.getIServiceManager:()Landroid/os/IServiceManager;
bipush 15
invokeinterface android.os.IServiceManager.listServices:(I)[Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
astore 0
start local 0 3: ldc "ServiceManager"
ldc "error in listServices"
aload 0
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
4: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
3 5 0 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
public static void initServiceCache(java.util.Map<java.lang.String, android.os.IBinder>);
descriptor: (Ljava/util/Map;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic android.os.ServiceManager.sCache:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "setServiceCache may only be called once"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic android.os.ServiceManager.sCache:Ljava/util/HashMap;
aload 0
invokevirtual java.util.HashMap.putAll:(Ljava/util/Map;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cache Ljava/util/Map<Ljava/lang/String;Landroid/os/IBinder;>;
Signature: (Ljava/util/Map<Ljava/lang/String;Landroid/os/IBinder;>;)V
MethodParameters:
Name Flags
cache
private static android.os.IBinder rawGetService(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/os/IBinder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tEventLogTags cannot be resolved\n\tEventLogTags cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws android.os.RemoteException
MethodParameters:
Name Flags
name
}
SourceFile: "ServiceManager.java"
NestMembers:
android.os.ServiceManager$ServiceNotFoundException android.os.ServiceManager$Stats
InnerClasses:
public ServiceNotFoundException = android.os.ServiceManager$ServiceNotFoundException of android.os.ServiceManager
abstract Stats = android.os.ServiceManager$Stats of android.os.ServiceManager