public class android.os.SystemProperties
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.os.SystemProperties
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: "SystemProperties"
private static final boolean TRACK_KEY_ACCESS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int PROP_NAME_MAX;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2147483647
public static final int PROP_VALUE_MAX;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 91
private static final java.util.ArrayList<java.lang.Runnable> sChangeCallbacks;
descriptor: Ljava/util/ArrayList;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/ArrayList<Ljava/lang/Runnable;>;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "sChangeCallbacks")
private static final java.util.HashMap<java.lang.String, android.util.MutableInt> sRoReads;
descriptor: Ljava/util/HashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/String;Landroid/util/MutableInt;>;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "sRoReads")
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putstatic android.os.SystemProperties.sChangeCallbacks:Ljava/util/ArrayList;
1: aconst_null
2: putstatic android.os.SystemProperties.sRoReads:Ljava/util/HashMap;
3: return
LocalVariableTable:
Start End Slot Name Signature
private static void onKeyAccess(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: return
1: StackMap locals:
StackMap stack:
aload 0
ifnull 17
aload 0
ldc "ro."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 17
2: getstatic android.os.SystemProperties.sRoReads:Ljava/util/HashMap;
dup
astore 1
monitorenter
3: getstatic android.os.SystemProperties.sRoReads:Ljava/util/HashMap;
aload 0
aconst_null
invokevirtual java.util.HashMap.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.util.MutableInt
astore 2
start local 2 4: aload 2
ifnonnull 7
5: new android.util.MutableInt
dup
iconst_0
invokespecial android.util.MutableInt.<init>:(I)V
astore 2
6: getstatic android.os.SystemProperties.sRoReads:Ljava/util/HashMap;
aload 0
aload 2
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: StackMap locals: java.util.HashMap android.util.MutableInt
StackMap stack:
aload 2
dup
getfield android.util.MutableInt.value:I
iconst_1
iadd
putfield android.util.MutableInt.value:I
8: aload 2
getfield android.util.MutableInt.value:I
iconst_3
if_icmple 13
9: ldc "SystemProperties"
new java.lang.StringBuilder
dup
ldc "Repeated read (count="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
getfield android.util.MutableInt.value:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
10: ldc ") of a read-only system property '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: new java.lang.Exception
dup
invokespecial java.lang.Exception.<init>:()V
12: invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 2 13: StackMap locals:
StackMap stack:
aload 1
monitorexit
14: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 1
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 key Ljava/lang/String;
4 13 2 numReads Landroid/util/MutableInt;
Exception table:
from to target type
3 14 15 any
15 16 15 any
MethodParameters:
Name Flags
key
private static native java.lang.String native_get(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
key
private static native java.lang.String native_get(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
key
def
private static native int native_get_int(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
key
def
private static native long native_get_long(java.lang.String, long);
descriptor: (Ljava/lang/String;J)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
key
def
private static native boolean native_get_boolean(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
key
def
private static native void native_set(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
key
def
private static native void native_add_change_callback();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private static native void native_report_sysprop_change();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
public static java.lang.String get(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic android.os.SystemProperties.native_get:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/String;
RuntimeVisibleAnnotations:
android.annotation.SystemApi()
MethodParameters:
Name Flags
key
public static java.lang.String get(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic android.os.SystemProperties.native_get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/String;
0 1 1 def Ljava/lang/String;
RuntimeVisibleAnnotations:
android.annotation.SystemApi()
MethodParameters:
Name Flags
key
def
public static int getInt(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic android.os.SystemProperties.native_get_int:(Ljava/lang/String;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/String;
0 1 1 def I
RuntimeVisibleAnnotations:
android.annotation.SystemApi()
MethodParameters:
Name Flags
key
def
public static long getLong(java.lang.String, long);
descriptor: (Ljava/lang/String;J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokestatic android.os.SystemProperties.native_get_long:(Ljava/lang/String;J)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/String;
0 1 1 def J
RuntimeVisibleAnnotations:
android.annotation.SystemApi()
MethodParameters:
Name Flags
key
def
public static boolean getBoolean(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic android.os.SystemProperties.native_get_boolean:(Ljava/lang/String;Z)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/String;
0 1 1 def Z
RuntimeVisibleAnnotations:
android.annotation.SystemApi()
MethodParameters:
Name Flags
key
def
public static void set(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 4
aload 1
ldc "ro."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 4
aload 1
invokevirtual java.lang.String.length:()I
bipush 91
if_icmple 4
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "value of system property '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc "' is longer than "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 91
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " characters: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic android.os.SystemProperties.native_set:(Ljava/lang/String;Ljava/lang/String;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 key Ljava/lang/String;
0 6 1 val Ljava/lang/String;
MethodParameters:
Name Flags
key
val
public static void addChangeCallback(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic android.os.SystemProperties.sChangeCallbacks:Ljava/util/ArrayList;
dup
astore 1
monitorenter
1: getstatic android.os.SystemProperties.sChangeCallbacks:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifne 3
2: invokestatic android.os.SystemProperties.native_add_change_callback:()V
3: StackMap locals: java.util.ArrayList
StackMap stack:
getstatic android.os.SystemProperties.sChangeCallbacks:Ljava/util/ArrayList;
aload 0
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
4: aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 callback Ljava/lang/Runnable;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
callback
private static void callChangeCallbacks();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=0
0: getstatic android.os.SystemProperties.sChangeCallbacks:Ljava/util/ArrayList;
dup
astore 0
monitorenter
1: getstatic android.os.SystemProperties.sChangeCallbacks:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifne 4
2: aload 0
monitorexit
3: return
4: StackMap locals: java.util.ArrayList
StackMap stack:
new java.util.ArrayList
dup
getstatic android.os.SystemProperties.sChangeCallbacks:Ljava/util/ArrayList;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 1
start local 1 5: iconst_0
istore 2
start local 2 6: goto 12
7: StackMap locals: java.util.ArrayList int
StackMap stack:
aload 1
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.Runnable
invokeinterface java.lang.Runnable.run:()V
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
start local 3 10: ldc "SystemProperties"
ldc "Exception in SystemProperties change callback"
aload 3
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 3 11: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
12: iload 2
aload 1
invokevirtual java.util.ArrayList.size:()I
if_icmplt 7
end local 2 end local 1 13: aload 0
monitorexit
14: goto 17
StackMap locals: java.util.ArrayList
StackMap stack: java.lang.Throwable
15: aload 0
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
5 13 1 callbacks Ljava/util/ArrayList<Ljava/lang/Runnable;>;
6 13 2 i I
10 11 3 t Ljava/lang/Throwable;
Exception table:
from to target type
7 8 9 Class java.lang.Throwable
1 3 15 any
4 14 15 any
15 16 15 any
public static void reportSyspropChanged();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: invokestatic android.os.SystemProperties.native_report_sysprop_change:()V
1: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/os/SystemProperties;
}
SourceFile: "SystemProperties.java"
RuntimeVisibleAnnotations:
android.annotation.SystemApi()