final class com.android.providers.settings.SettingsState
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.android.providers.settings.SettingsState
super_class: java.lang.Object
{
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final boolean DEBUG_PERSISTENCE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final java.lang.String LOG_TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "SettingsState"
static final java.lang.String SYSTEM_PACKAGE_NAME;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "android"
static final int SETTINGS_VERSION_NEW_ENCODING;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 121
private static final long WRITE_SETTINGS_DELAY_MILLIS;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 200
private static final long MAX_WRITE_SETTINGS_DELAY_MILLIS;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2000
public static final int MAX_BYTES_PER_APP_PACKAGE_UNLIMITED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
public static final int MAX_BYTES_PER_APP_PACKAGE_LIMITED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 20000
public static final int VERSION_UNDEFINED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final java.lang.String TAG_SETTINGS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "settings"
private static final java.lang.String TAG_SETTING;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "setting"
private static final java.lang.String ATTR_PACKAGE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "package"
private static final java.lang.String ATTR_DEFAULT_SYS_SET;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "defaultSysSet"
private static final java.lang.String ATTR_TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "tag"
private static final java.lang.String ATTR_TAG_BASE64;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "tagBase64"
private static final java.lang.String ATTR_VERSION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "version"
private static final java.lang.String ATTR_ID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "id"
private static final java.lang.String ATTR_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "name"
private static final java.lang.String ATTR_VALUE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "value"
private static final java.lang.String ATTR_DEFAULT_VALUE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "defaultValue"
private static final java.lang.String ATTR_VALUE_BASE64;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "valueBase64"
private static final java.lang.String ATTR_DEFAULT_VALUE_BASE64;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "defaultValueBase64"
private static final java.lang.String NULL_VALUE_OLD_STYLE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "null"
private static final int HISTORICAL_OPERATION_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private static final java.lang.String HISTORICAL_OPERATION_UPDATE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "update"
private static final java.lang.String HISTORICAL_OPERATION_DELETE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "delete"
private static final java.lang.String HISTORICAL_OPERATION_PERSIST;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "persist"
private static final java.lang.String HISTORICAL_OPERATION_INITIALIZE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "initialize"
private static final java.lang.String HISTORICAL_OPERATION_RESET;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "reset"
private static final java.lang.String SHELL_PACKAGE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.android.shell"
private static final java.lang.String ROOT_PACKAGE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "root"
private static final java.lang.String NULL_VALUE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "null"
private static final java.lang.Object sLock;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final android.util.SparseIntArray sSystemUids;
descriptor: Landroid/util/SparseIntArray;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "sLock")
private static android.content.pm.Signature sSystemSignature;
descriptor: Landroid/content/pm/Signature;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "sLock")
private final java.lang.Object mWriteLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object mLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.os.Handler mHandler;
descriptor: Landroid/os/Handler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private final android.util.ArrayMap<java.lang.String, com.android.providers.settings.SettingsState$Setting> mSettings;
descriptor: Landroid/util/ArrayMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Landroid/util/ArrayMap<Ljava/lang/String;Lcom/android/providers/settings/SettingsState$Setting;>;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private final android.util.ArrayMap<java.lang.String, java.lang.Integer> mPackageToMemoryUsage;
descriptor: Landroid/util/ArrayMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Landroid/util/ArrayMap<Ljava/lang/String;Ljava/lang/Integer;>;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private final int mMaxBytesPerAppPackage;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private final java.io.File mStatePersistFile;
descriptor: Ljava/io/File;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private final java.lang.String mStatePersistTag;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private final com.android.providers.settings.SettingsState$Setting mNullSetting;
descriptor: Lcom/android/providers/settings/SettingsState$Setting;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<com.android.providers.settings.SettingsState$HistoricalOperation> mHistoricalOperations;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/android/providers/settings/SettingsState$HistoricalOperation;>;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
public final int mKey;
descriptor: I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private int mVersion;
descriptor: I
flags: (0x0002) ACC_PRIVATE
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private long mLastNotWrittenMutationTimeMillis;
descriptor: J
flags: (0x0002) ACC_PRIVATE
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private boolean mDirty;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private boolean mWriteScheduled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private long mNextId;
descriptor: J
flags: (0x0002) ACC_PRIVATE
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
private int mNextHistoricalOpIdx;
descriptor: I
flags: (0x0002) ACC_PRIVATE
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "mLock")
public static final int SETTINGS_TYPE_GLOBAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int SETTINGS_TYPE_SYSTEM;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int SETTINGS_TYPE_SECURE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int SETTINGS_TYPE_SSAID;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int SETTINGS_TYPE_MASK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -268435456
public static final int SETTINGS_TYPE_SHIFT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 28
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic com.android.providers.settings.SettingsState.sLock:Ljava/lang/Object;
1: new android.util.SparseIntArray
dup
invokespecial android.util.SparseIntArray.<init>:()V
putstatic com.android.providers.settings.SettingsState.sSystemUids:Landroid/util/SparseIntArray;
2: return
LocalVariableTable:
Start End Slot Name Signature
public static int makeKey(int, int);
descriptor: (II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
bipush 28
ishl
iload 1
ior
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type I
0 1 1 userId I
MethodParameters:
Name Flags
type
userId
public static int getTypeFromKey(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 28
iushr
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key I
MethodParameters:
Name Flags
key
public static int getUserIdFromKey(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ldc 268435455
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key I
MethodParameters:
Name Flags
key
public static java.lang.String settingTypeToString(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
tableswitch { // 0 - 3
0: 1
1: 3
2: 2
3: 4
default: 5
}
1: StackMap locals:
StackMap stack:
ldc "SETTINGS_GLOBAL"
areturn
2: StackMap locals:
StackMap stack:
ldc "SETTINGS_SECURE"
areturn
3: StackMap locals:
StackMap stack:
ldc "SETTINGS_SYSTEM"
areturn
4: StackMap locals:
StackMap stack:
ldc "SETTINGS_SSAID"
areturn
5: StackMap locals:
StackMap stack:
ldc "UNKNOWN"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 type I
MethodParameters:
Name Flags
type
public static java.lang.String keyToString(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Key[user="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokestatic com.android.providers.settings.SettingsState.getUserIdFromKey:(I)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ";type="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: iload 0
invokestatic com.android.providers.settings.SettingsState.getTypeFromKey:(I)I
invokestatic com.android.providers.settings.SettingsState.settingTypeToString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 key I
MethodParameters:
Name Flags
key
public void <init>(android.content.Context, java.lang.Object, java.io.File, int, int, android.os.Looper);
descriptor: (Landroid/content/Context;Ljava/lang/Object;Ljava/io/File;IILandroid/os/Looper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield com.android.providers.settings.SettingsState.mWriteLock:Ljava/lang/Object;
2: aload 0
new android.util.ArrayMap
dup
invokespecial android.util.ArrayMap.<init>:()V
putfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
3: aload 0
new com.android.providers.settings.SettingsState$1
dup
aload 0
aload 0
aconst_null
aconst_null
iconst_0
aconst_null
aconst_null
invokespecial com.android.providers.settings.SettingsState$1.<init>:(Lcom/android/providers/settings/SettingsState;Lcom/android/providers/settings/SettingsState;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)V
putfield com.android.providers.settings.SettingsState.mNullSetting:Lcom/android/providers/settings/SettingsState$Setting;
4: aload 0
iconst_m1
putfield com.android.providers.settings.SettingsState.mVersion:I
5: aload 0
aload 1
putfield com.android.providers.settings.SettingsState.mContext:Landroid/content/Context;
6: aload 0
aload 2
putfield com.android.providers.settings.SettingsState.mLock:Ljava/lang/Object;
7: aload 0
aload 3
putfield com.android.providers.settings.SettingsState.mStatePersistFile:Ljava/io/File;
8: aload 0
new java.lang.StringBuilder
dup
ldc "settings-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokestatic com.android.providers.settings.SettingsState.getTypeFromKey:(I)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokestatic com.android.providers.settings.SettingsState.getUserIdFromKey:(I)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield com.android.providers.settings.SettingsState.mStatePersistTag:Ljava/lang/String;
9: aload 0
iload 4
putfield com.android.providers.settings.SettingsState.mKey:I
10: aload 0
new com.android.providers.settings.SettingsState$MyHandler
dup
aload 0
aload 6
invokespecial com.android.providers.settings.SettingsState$MyHandler.<init>:(Lcom/android/providers/settings/SettingsState;Landroid/os/Looper;)V
putfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
11: iload 5
sipush 20000
if_icmpne 15
12: aload 0
iload 5
putfield com.android.providers.settings.SettingsState.mMaxBytesPerAppPackage:I
13: aload 0
new android.util.ArrayMap
dup
invokespecial android.util.ArrayMap.<init>:()V
putfield com.android.providers.settings.SettingsState.mPackageToMemoryUsage:Landroid/util/ArrayMap;
14: goto 17
15: StackMap locals: com.android.providers.settings.SettingsState android.content.Context java.lang.Object java.io.File int int android.os.Looper
StackMap stack:
aload 0
iload 5
putfield com.android.providers.settings.SettingsState.mMaxBytesPerAppPackage:I
16: aload 0
aconst_null
putfield com.android.providers.settings.SettingsState.mPackageToMemoryUsage:Landroid/util/ArrayMap;
17: StackMap locals:
StackMap stack:
aload 0
getstatic android.os.Build.IS_DEBUGGABLE:Z
ifeq 19
18: new java.util.ArrayList
dup
bipush 20
invokespecial java.util.ArrayList.<init>:(I)V
goto 20
StackMap locals:
StackMap stack: com.android.providers.settings.SettingsState
19: aconst_null
20: StackMap locals: com.android.providers.settings.SettingsState android.content.Context java.lang.Object java.io.File int int android.os.Looper
StackMap stack: com.android.providers.settings.SettingsState java.util.ArrayList
putfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
21: aload 0
getfield com.android.providers.settings.SettingsState.mLock:Ljava/lang/Object;
dup
astore 7
monitorenter
22: aload 0
invokevirtual com.android.providers.settings.SettingsState.readStateSyncLocked:()V
23: aload 7
monitorexit
24: goto 27
StackMap locals: com.android.providers.settings.SettingsState android.content.Context java.lang.Object java.io.File int int android.os.Looper java.lang.Object
StackMap stack: java.lang.Throwable
25: aload 7
monitorexit
26: athrow
27: StackMap locals:
StackMap stack:
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 28 0 this Lcom/android/providers/settings/SettingsState;
0 28 1 context Landroid/content/Context;
0 28 2 lock Ljava/lang/Object;
0 28 3 file Ljava/io/File;
0 28 4 key I
0 28 5 maxBytesPerAppPackage I
0 28 6 looper Landroid/os/Looper;
Exception table:
from to target type
22 24 25 any
25 26 25 any
MethodParameters:
Name Flags
context
lock
file
key
maxBytesPerAppPackage
looper
public int getVersionLocked();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.providers.settings.SettingsState.mVersion:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/providers/settings/SettingsState;
public com.android.providers.settings.SettingsState$Setting getNullSetting();
descriptor: ()Lcom/android/providers/settings/SettingsState$Setting;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.providers.settings.SettingsState.mNullSetting:Lcom/android/providers/settings/SettingsState$Setting;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/providers/settings/SettingsState;
public void setVersionLocked(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.android.providers.settings.SettingsState.mVersion:I
if_icmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.android.providers.settings.SettingsState.mVersion:I
3: aload 0
invokevirtual com.android.providers.settings.SettingsState.scheduleWriteIfNeededLocked:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/providers/settings/SettingsState;
0 5 1 version I
MethodParameters:
Name Flags
version
public void onPackageRemovedLocked(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
invokevirtual android.util.ArrayMap.size:()I
istore 3
start local 3 2: iload 3
iconst_1
isub
istore 4
start local 4 3: goto 13
4: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
iload 4
invokevirtual android.util.ArrayMap.keyAt:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 5: getstatic android.provider.Settings$System.PUBLIC_SETTINGS:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 12
6: getstatic android.provider.Settings$System.PRIVATE_SETTINGS:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 8
7: goto 12
8: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
iload 4
invokevirtual android.util.ArrayMap.valueAt:(I)Ljava/lang/Object;
checkcast com.android.providers.settings.SettingsState$Setting
astore 6
start local 6 9: aload 1
aload 6
getfield com.android.providers.settings.SettingsState$Setting.packageName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
10: aload 0
getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
iload 4
invokevirtual android.util.ArrayMap.removeAt:(I)Ljava/lang/Object;
pop
11: iconst_1
istore 2
end local 6 end local 5 12: StackMap locals:
StackMap stack:
iinc 4 -1
StackMap locals:
StackMap stack:
13: iload 4
ifge 4
end local 4 14: iload 2
ifeq 16
15: aload 0
invokevirtual com.android.providers.settings.SettingsState.scheduleWriteIfNeededLocked:()V
16: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/android/providers/settings/SettingsState;
0 17 1 packageName Ljava/lang/String;
1 17 2 removedSomething Z
2 17 3 settingCount I
3 14 4 i I
5 12 5 name Ljava/lang/String;
9 12 6 setting Lcom/android/providers/settings/SettingsState$Setting;
MethodParameters:
Name Flags
packageName
public java.util.List<java.lang.String> getSettingNamesLocked();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
invokevirtual android.util.ArrayMap.size:()I
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: java.util.ArrayList int int
StackMap stack:
aload 0
getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
iload 3
invokevirtual android.util.ArrayMap.keyAt:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 5: aload 1
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 4 6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 2
if_icmplt 4
end local 3 8: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/providers/settings/SettingsState;
1 9 1 names Ljava/util/ArrayList<Ljava/lang/String;>;
2 9 2 settingsCount I
3 8 3 i I
5 6 4 name Ljava/lang/String;
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public com.android.providers.settings.SettingsState$Setting getSettingLocked(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/android/providers/settings/SettingsState$Setting;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 2
1: aload 0
getfield com.android.providers.settings.SettingsState.mNullSetting:Lcom/android/providers/settings/SettingsState$Setting;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
aload 1
invokevirtual android.util.ArrayMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.android.providers.settings.SettingsState$Setting
astore 2
start local 2 3: aload 2
ifnull 5
4: new com.android.providers.settings.SettingsState$Setting
dup
aload 0
aload 2
invokespecial com.android.providers.settings.SettingsState$Setting.<init>:(Lcom/android/providers/settings/SettingsState;Lcom/android/providers/settings/SettingsState$Setting;)V
areturn
5: StackMap locals: com.android.providers.settings.SettingsState$Setting
StackMap stack:
aload 0
getfield com.android.providers.settings.SettingsState.mNullSetting:Lcom/android/providers/settings/SettingsState$Setting;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/android/providers/settings/SettingsState;
0 6 1 name Ljava/lang/String;
3 6 2 setting Lcom/android/providers/settings/SettingsState$Setting;
MethodParameters:
Name Flags
name
public boolean updateSettingLocked(java.lang.String, java.lang.String, java.lang.String, boolean, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokevirtual com.android.providers.settings.SettingsState.hasSettingLocked:(Ljava/lang/String;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
iload 4
aload 5
invokevirtual com.android.providers.settings.SettingsState.insertSettingLocked:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Z
ireturn
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 3 0 this Lcom/android/providers/settings/SettingsState;
0 3 1 name Ljava/lang/String;
0 3 2 value Ljava/lang/String;
0 3 3 tag Ljava/lang/String;
0 3 4 makeValue Z
0 3 5 packageName Ljava/lang/String;
MethodParameters:
Name Flags
name
value
tag
makeValue
packageName
public void resetSettingDefaultValueLocked(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.android.providers.settings.SettingsState.getSettingLocked:(Ljava/lang/String;)Lcom/android/providers/settings/SettingsState$Setting;
astore 2
start local 2 1: aload 2
ifnull 13
aload 2
invokevirtual com.android.providers.settings.SettingsState$Setting.isNull:()Z
ifne 13
aload 2
invokevirtual com.android.providers.settings.SettingsState$Setting.getDefaultValue:()Ljava/lang/String;
ifnull 13
2: aload 2
invokevirtual com.android.providers.settings.SettingsState$Setting.getValue:()Ljava/lang/String;
astore 3
start local 3 3: aload 2
invokevirtual com.android.providers.settings.SettingsState$Setting.getDefaultValue:()Ljava/lang/String;
astore 4
start local 4 4: new com.android.providers.settings.SettingsState$Setting
dup
aload 0
aload 1
aload 2
invokevirtual com.android.providers.settings.SettingsState$Setting.getValue:()Ljava/lang/String;
aconst_null
5: aload 2
invokevirtual com.android.providers.settings.SettingsState$Setting.getPackageName:()Ljava/lang/String;
aload 2
invokevirtual com.android.providers.settings.SettingsState$Setting.getTag:()Ljava/lang/String;
iconst_0
6: aload 2
invokevirtual com.android.providers.settings.SettingsState$Setting.getId:()Ljava/lang/String;
7: invokespecial com.android.providers.settings.SettingsState$Setting.<init>:(Lcom/android/providers/settings/SettingsState;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)V
astore 5
start local 5 8: aload 0
getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
aload 1
aload 5
invokevirtual android.util.ArrayMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 0
aload 5
invokevirtual com.android.providers.settings.SettingsState$Setting.getPackageName:()Ljava/lang/String;
aload 3
10: aload 5
invokevirtual com.android.providers.settings.SettingsState$Setting.getValue:()Ljava/lang/String;
aload 4
aload 5
invokevirtual com.android.providers.settings.SettingsState$Setting.getDefaultValue:()Ljava/lang/String;
11: invokevirtual com.android.providers.settings.SettingsState.updateMemoryUsagePerPackageLocked:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
12: aload 0
invokevirtual com.android.providers.settings.SettingsState.scheduleWriteIfNeededLocked:()V
end local 5 end local 4 end local 3 13: StackMap locals: com.android.providers.settings.SettingsState$Setting
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/android/providers/settings/SettingsState;
0 14 1 name Ljava/lang/String;
1 14 2 oldSetting Lcom/android/providers/settings/SettingsState$Setting;
3 13 3 oldValue Ljava/lang/String;
4 13 4 oldDefaultValue Ljava/lang/String;
8 13 5 newSetting Lcom/android/providers/settings/SettingsState$Setting;
MethodParameters:
Name Flags
name
public boolean insertSettingLocked(java.lang.String, java.lang.String, java.lang.String, boolean, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=6
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tSETTING_CHANGED cannot be resolved or is not a field\n\tSETTING_CHANGED__REASON__UPDATED cannot be resolved or is not a field\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/providers/settings/SettingsState;
MethodParameters:
Name Flags
name
value
tag
makeDefault
packageName
public void persistSyncLocked();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
iconst_1
invokevirtual android.os.Handler.removeMessages:(I)V
1: aload 0
invokevirtual com.android.providers.settings.SettingsState.doWriteState:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/providers/settings/SettingsState;
public boolean deleteSettingLocked(java.lang.String);
descriptor: (Ljava/lang/String;)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 problems: \n\tSETTING_CHANGED cannot be resolved or is not a field\n\tSETTING_CHANGED__REASON__DELETED cannot be resolved or is not a field\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/providers/settings/SettingsState;
MethodParameters:
Name Flags
name
public boolean resetSettingLocked(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 1
aload 0
aload 1
invokevirtual com.android.providers.settings.SettingsState.hasSettingLocked:(Ljava/lang/String;)Z
ifne 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
aload 1
invokevirtual android.util.ArrayMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.android.providers.settings.SettingsState$Setting
astore 2
start local 2 3: new com.android.providers.settings.SettingsState$Setting
dup
aload 0
aload 2
invokespecial com.android.providers.settings.SettingsState$Setting.<init>:(Lcom/android/providers/settings/SettingsState;Lcom/android/providers/settings/SettingsState$Setting;)V
astore 3
start local 3 4: aload 2
invokevirtual com.android.providers.settings.SettingsState$Setting.getValue:()Ljava/lang/String;
astore 4
start local 4 5: aload 2
invokevirtual com.android.providers.settings.SettingsState$Setting.getDefaultValue:()Ljava/lang/String;
astore 5
start local 5 6: aload 2
invokevirtual com.android.providers.settings.SettingsState$Setting.reset:()Z
ifne 8
7: iconst_0
ireturn
8: StackMap locals: com.android.providers.settings.SettingsState java.lang.String com.android.providers.settings.SettingsState$Setting com.android.providers.settings.SettingsState$Setting java.lang.String java.lang.String
StackMap stack:
aload 2
invokevirtual com.android.providers.settings.SettingsState$Setting.getValue:()Ljava/lang/String;
astore 6
start local 6 9: aload 2
invokevirtual com.android.providers.settings.SettingsState$Setting.getDefaultValue:()Ljava/lang/String;
astore 7
start local 7 10: aload 0
aload 2
getfield com.android.providers.settings.SettingsState$Setting.packageName:Ljava/lang/String;
aload 4
11: aload 6
aload 5
aload 7
12: invokevirtual com.android.providers.settings.SettingsState.updateMemoryUsagePerPackageLocked:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
13: aload 0
ldc "reset"
aload 3
invokevirtual com.android.providers.settings.SettingsState.addHistoricalOperationLocked:(Ljava/lang/String;Lcom/android/providers/settings/SettingsState$Setting;)V
14: aload 0
invokevirtual com.android.providers.settings.SettingsState.scheduleWriteIfNeededLocked:()V
15: iconst_1
ireturn
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 16 0 this Lcom/android/providers/settings/SettingsState;
0 16 1 name Ljava/lang/String;
3 16 2 setting Lcom/android/providers/settings/SettingsState$Setting;
4 16 3 oldSetting Lcom/android/providers/settings/SettingsState$Setting;
5 16 4 oldValue Ljava/lang/String;
6 16 5 oldDefaultValue Ljava/lang/String;
9 16 6 newValue Ljava/lang/String;
10 16 7 newDefaultValue Ljava/lang/String;
MethodParameters:
Name Flags
name
public void destroyLocked(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
iconst_1
invokevirtual android.os.Handler.removeMessages:(I)V
1: aload 1
ifnull 9
2: aload 0
getfield com.android.providers.settings.SettingsState.mDirty:Z
ifeq 8
3: aload 0
getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
iconst_1
4: aload 1
5: invokevirtual android.os.Handler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
6: invokevirtual android.os.Message.sendToTarget:()V
7: return
8: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.lang.Runnable.run:()V
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/android/providers/settings/SettingsState;
0 10 1 callback Ljava/lang/Runnable;
MethodParameters:
Name Flags
callback
private void addHistoricalOperationLocked(java.lang.String, com.android.providers.settings.SettingsState$Setting);
descriptor: (Ljava/lang/String;Lcom/android/providers/settings/SettingsState$Setting;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
new com.android.providers.settings.SettingsState$HistoricalOperation
dup
aload 0
3: invokestatic android.os.SystemClock.elapsedRealtime:()J
aload 1
4: aload 2
ifnull 5
new com.android.providers.settings.SettingsState$Setting
dup
aload 0
aload 2
invokespecial com.android.providers.settings.SettingsState$Setting.<init>:(Lcom/android/providers/settings/SettingsState;Lcom/android/providers/settings/SettingsState$Setting;)V
goto 6
StackMap locals: com.android.providers.settings.SettingsState java.lang.String com.android.providers.settings.SettingsState$Setting
StackMap stack: new 2 new 2 com.android.providers.settings.SettingsState long java.lang.String
5: aconst_null
6: StackMap locals: com.android.providers.settings.SettingsState java.lang.String com.android.providers.settings.SettingsState$Setting
StackMap stack: new 2 new 2 com.android.providers.settings.SettingsState long java.lang.String com.android.providers.settings.SettingsState$Setting
invokespecial com.android.providers.settings.SettingsState$HistoricalOperation.<init>:(Lcom/android/providers/settings/SettingsState;JLjava/lang/String;Lcom/android/providers/settings/SettingsState$Setting;)V
astore 3
start local 3 7: aload 0
getfield com.android.providers.settings.SettingsState.mNextHistoricalOpIdx:I
aload 0
getfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 10
8: aload 0
getfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: goto 11
10: StackMap locals: com.android.providers.settings.SettingsState$HistoricalOperation
StackMap stack:
aload 0
getfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
aload 0
getfield com.android.providers.settings.SettingsState.mNextHistoricalOpIdx:I
aload 3
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
11: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.android.providers.settings.SettingsState.mNextHistoricalOpIdx:I
iconst_1
iadd
putfield com.android.providers.settings.SettingsState.mNextHistoricalOpIdx:I
12: aload 0
getfield com.android.providers.settings.SettingsState.mNextHistoricalOpIdx:I
bipush 20
if_icmplt 14
13: aload 0
iconst_0
putfield com.android.providers.settings.SettingsState.mNextHistoricalOpIdx:I
14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/android/providers/settings/SettingsState;
0 15 1 type Ljava/lang/String;
0 15 2 setting Lcom/android/providers/settings/SettingsState$Setting;
7 15 3 operation Lcom/android/providers/settings/SettingsState$HistoricalOperation;
MethodParameters:
Name Flags
type
setting
void dumpHistoricalOperations(android.util.proto.ProtoOutputStream, long);
descriptor: (Landroid/util/proto/ProtoOutputStream;J)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tSettingsOperationProto cannot be resolved to a variable\n\tSettingsOperationProto cannot be resolved to a variable\n\tSettingsOperationProto 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 Lcom/android/providers/settings/SettingsState;
MethodParameters:
Name Flags
proto
fieldId
public void dumpHistoricalOperations(java.io.PrintWriter);
descriptor: (Ljava/io/PrintWriter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.providers.settings.SettingsState.mLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
ifnonnull 4
2: aload 2
monitorexit
3: return
4: StackMap locals: java.lang.Object
StackMap stack:
aload 1
ldc "Historical operations"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
5: aload 0
getfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 3
start local 3 6: iconst_0
istore 4
start local 4 7: goto 20
8: StackMap locals: int int
StackMap stack:
aload 0
getfield com.android.providers.settings.SettingsState.mNextHistoricalOpIdx:I
iconst_1
isub
iload 4
isub
istore 5
start local 5 9: iload 5
ifge 11
10: iload 3
iload 5
iadd
istore 5
11: StackMap locals: int
StackMap stack:
aload 0
getfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.android.providers.settings.SettingsState$HistoricalOperation
astore 6
start local 6 12: aload 1
aload 6
getfield com.android.providers.settings.SettingsState$HistoricalOperation.mTimestamp:J
invokestatic android.util.TimeUtils.formatForLogging:(J)Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
13: aload 1
ldc " "
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
14: aload 1
aload 6
getfield com.android.providers.settings.SettingsState$HistoricalOperation.mOperation:Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
15: aload 6
getfield com.android.providers.settings.SettingsState$HistoricalOperation.mSetting:Lcom/android/providers/settings/SettingsState$Setting;
ifnull 18
16: aload 1
ldc " "
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
17: aload 1
aload 6
getfield com.android.providers.settings.SettingsState$HistoricalOperation.mSetting:Lcom/android/providers/settings/SettingsState$Setting;
invokevirtual com.android.providers.settings.SettingsState$Setting.getName:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
18: StackMap locals: com.android.providers.settings.SettingsState$HistoricalOperation
StackMap stack:
aload 1
invokevirtual java.io.PrintWriter.println:()V
end local 6 end local 5 19: iinc 4 1
StackMap locals:
StackMap stack:
20: iload 4
iload 3
if_icmplt 8
end local 4 21: aload 1
invokevirtual java.io.PrintWriter.println:()V
22: aload 1
invokevirtual java.io.PrintWriter.println:()V
end local 3 23: aload 2
monitorexit
24: goto 27
StackMap locals: com.android.providers.settings.SettingsState java.io.PrintWriter java.lang.Object
StackMap stack: java.lang.Throwable
25: aload 2
monitorexit
26: athrow
27: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/android/providers/settings/SettingsState;
0 28 1 pw Ljava/io/PrintWriter;
6 23 3 operationCount I
7 21 4 i I
9 19 5 index I
12 19 6 operation Lcom/android/providers/settings/SettingsState$HistoricalOperation;
Exception table:
from to target type
1 3 25 any
4 24 25 any
25 26 25 any
MethodParameters:
Name Flags
pw
private void updateMemoryUsagePerPackageLocked(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield com.android.providers.settings.SettingsState.mMaxBytesPerAppPackage:I
iconst_m1
if_icmpne 2
1: return
2: StackMap locals:
StackMap stack:
ldc "android"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
aload 2
ifnull 5
aload 2
invokevirtual java.lang.String.length:()I
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 6
start local 6 7: aload 3
ifnull 8
aload 3
invokevirtual java.lang.String.length:()I
goto 9
StackMap locals: int
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 7
start local 7 10: aload 4
ifnull 11
aload 4
invokevirtual java.lang.String.length:()I
goto 12
StackMap locals: int
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 8
start local 8 13: aload 5
ifnull 14
aload 5
invokevirtual java.lang.String.length:()I
goto 15
StackMap locals: int
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 9
start local 9 16: iload 7
iload 9
iadd
17: iload 6
18: isub
19: iload 8
20: isub
istore 10
start local 10 21: aload 0
getfield com.android.providers.settings.SettingsState.mPackageToMemoryUsage:Landroid/util/ArrayMap;
aload 1
invokevirtual android.util.ArrayMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 11
start local 11 22: aload 11
ifnull 24
23: aload 11
invokevirtual java.lang.Integer.intValue:()I
iload 10
iadd
goto 25
StackMap locals: int int java.lang.Integer
StackMap stack:
24: iload 10
StackMap locals:
StackMap stack: int
25: iconst_0
26: invokestatic java.lang.Math.max:(II)I
istore 12
start local 12 27: iload 12
aload 0
getfield com.android.providers.settings.SettingsState.mMaxBytesPerAppPackage:I
if_icmple 31
28: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "You are adding too many system settings. You should stop using system settings for app specific data package: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
29: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals: int
StackMap stack:
aload 0
getfield com.android.providers.settings.SettingsState.mPackageToMemoryUsage:Landroid/util/ArrayMap;
aload 1
iload 12
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.util.ArrayMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
32: return
end local 12 end local 11 end local 10 end local 9 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 33 0 this Lcom/android/providers/settings/SettingsState;
0 33 1 packageName Ljava/lang/String;
0 33 2 oldValue Ljava/lang/String;
0 33 3 newValue Ljava/lang/String;
0 33 4 oldDefaultValue Ljava/lang/String;
0 33 5 newDefaultValue Ljava/lang/String;
7 33 6 oldValueSize I
10 33 7 newValueSize I
13 33 8 oldDefaultValueSize I
16 33 9 newDefaultValueSize I
21 33 10 deltaSize I
22 33 11 currentSize Ljava/lang/Integer;
27 33 12 newSize I
MethodParameters:
Name Flags
packageName
oldValue
newValue
oldDefaultValue
newDefaultValue
private boolean hasSettingLocked(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
aload 1
invokevirtual android.util.ArrayMap.indexOfKey:(Ljava/lang/Object;)I
iflt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/providers/settings/SettingsState;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private void scheduleWriteIfNeededLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.providers.settings.SettingsState.mDirty:Z
ifne 3
1: aload 0
iconst_1
putfield com.android.providers.settings.SettingsState.mDirty:Z
2: aload 0
invokevirtual com.android.providers.settings.SettingsState.writeStateAsyncLocked:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/providers/settings/SettingsState;
private void writeStateAsyncLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=1
start local 0 0: invokestatic android.os.SystemClock.uptimeMillis:()J
lstore 1
start local 1 1: aload 0
getfield com.android.providers.settings.SettingsState.mWriteScheduled:Z
ifeq 20
2: aload 0
getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
iconst_1
invokevirtual android.os.Handler.removeMessages:(I)V
3: lload 1
4: aload 0
getfield com.android.providers.settings.SettingsState.mLastNotWrittenMutationTimeMillis:J
5: lsub
lstore 3
start local 3 6: lload 3
ldc 2000
lcmp
iflt 9
7: aload 0
getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
iconst_1
invokevirtual android.os.Handler.obtainMessage:(I)Landroid/os/Message;
invokevirtual android.os.Message.sendToTarget:()V
8: return
9: StackMap locals: long long
StackMap stack:
aload 0
getfield com.android.providers.settings.SettingsState.mLastNotWrittenMutationTimeMillis:J
10: ldc 2000
11: ladd
12: lload 1
13: lsub
14: lconst_0
15: invokestatic java.lang.Math.max:(JJ)J
lstore 5
start local 5 16: ldc 200
lload 5
invokestatic java.lang.Math.min:(JJ)J
lstore 7
start local 7 17: aload 0
getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
iconst_1
invokevirtual android.os.Handler.obtainMessage:(I)Landroid/os/Message;
astore 9
start local 9 18: aload 0
getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
aload 9
lload 7
invokevirtual android.os.Handler.sendMessageDelayed:(Landroid/os/Message;J)Z
pop
end local 9 end local 7 end local 5 end local 3 19: goto 24
20: StackMap locals:
StackMap stack:
aload 0
lload 1
putfield com.android.providers.settings.SettingsState.mLastNotWrittenMutationTimeMillis:J
21: aload 0
getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
iconst_1
invokevirtual android.os.Handler.obtainMessage:(I)Landroid/os/Message;
astore 3
start local 3 22: aload 0
getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
aload 3
ldc 200
invokevirtual android.os.Handler.sendMessageDelayed:(Landroid/os/Message;J)Z
pop
23: aload 0
iconst_1
putfield com.android.providers.settings.SettingsState.mWriteScheduled:Z
end local 3 24: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/android/providers/settings/SettingsState;
1 25 1 currentTimeMillis J
6 19 3 timeSinceLastNotWrittenMutationMillis J
16 19 5 maxDelayMillis J
17 19 7 writeDelayMillis J
18 19 9 message Landroid/os/Message;
22 24 3 message Landroid/os/Message;
private void doWriteState();
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\tXmlSerializer cannot be resolved to a type\n\tThe method newSerializer() from the type Xml refers to the missing type XmlSerializer\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 Lcom/android/providers/settings/SettingsState;
static void writeSingleSetting(int, XmlSerializer, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean);
descriptor: (ILXmlSerializer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=9, args_size=9
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
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
version
serializer
id
name
value
defaultValue
packageName
tag
defaultSysSet
static void setValueAttribute(java.lang.String, java.lang.String, int, XmlSerializer, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;ILXmlSerializer;Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=5
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
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
attr
attrBase64
version
serializer
value
java.lang.String getValueAttribute(XmlPullParser, java.lang.String, java.lang.String);
descriptor: (LXmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tXmlPullParser 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 Lcom/android/providers/settings/SettingsState;
MethodParameters:
Name Flags
parser
attr
base64Attr
private void readStateSyncLocked();
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\tXmlPullParser cannot be resolved to a type\n\tThe method newPullParser() from the type Xml refers to the missing type XmlPullParser\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 constructor IllegalStateException(String, Object) is undefined\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 Lcom/android/providers/settings/SettingsState;
public static boolean stateFileExists(java.io.File);
descriptor: (Ljava/io/File;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new android.util.AtomicFile
dup
aload 0
invokespecial android.util.AtomicFile.<init>:(Ljava/io/File;)V
astore 1
start local 1 1: aload 1
invokevirtual android.util.AtomicFile.exists:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 file Ljava/io/File;
1 2 1 stateFile Landroid/util/AtomicFile;
MethodParameters:
Name Flags
file
void parseStateLocked(XmlPullParser);
descriptor: (LXmlPullParser;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tXmlPullParser cannot be resolved to a type\n\tXmlPullParserException cannot be resolved to a type\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 Lcom/android/providers/settings/SettingsState;
Exceptions:
throws java.io.IOException, XmlPullParserException
MethodParameters:
Name Flags
parser
void parseSettingsLocked(XmlPullParser);
descriptor: (LXmlPullParser;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tXmlPullParser cannot be resolved to a type\n\tXmlPullParserException cannot be resolved to a type\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 Lcom/android/providers/settings/SettingsState;
Exceptions:
throws java.io.IOException, XmlPullParserException
MethodParameters:
Name Flags
parser
public static boolean isBinary(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: goto 13
4: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
istore 2
start local 2 5: iload 2
bipush 32
if_icmplt 6
iload 2
ldc 55295
if_icmple 8
StackMap locals: int
StackMap stack:
6: iload 2
ldc 57344
if_icmplt 7
iload 2
ldc 65533
if_icmple 8
StackMap locals:
StackMap stack:
7: iconst_0
goto 9
StackMap locals:
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: istore 3
start local 3 10: iload 3
ifne 12
11: iconst_1
ireturn
end local 3 end local 2 12: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
13: iload 1
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 4
end local 1 14: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 s Ljava/lang/String;
3 14 1 i I
5 12 2 c C
10 12 3 allowedInXml Z
MethodParameters:
Name Flags
s
private static java.lang.String base64Encode(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.android.providers.settings.SettingsState.toBytes:(Ljava/lang/String;)[B
iconst_2
invokestatic android.util.Base64.encodeToString:([BI)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private static java.lang.String base64Decode(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic android.util.Base64.decode:(Ljava/lang/String;I)[B
invokestatic com.android.providers.settings.SettingsState.fromBytes:([B)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private static byte[] toBytes(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
iconst_2
imul
newarray 8
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 8
4: StackMap locals: byte[] int int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 5: aload 1
iload 2
iinc 2 1
iload 4
bipush 8
ishr
i2b
bastore
6: aload 1
iload 2
iinc 2 1
iload 4
i2b
bastore
end local 4 7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 4
end local 3 9: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 s Ljava/lang/String;
1 10 1 result [B
2 10 2 resultIndex I
3 9 3 i I
5 7 4 ch C
MethodParameters:
Name Flags
s
private static java.lang.String fromBytes(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
aload 0
arraylength
iconst_2
idiv
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 1
start local 1 1: aload 0
arraylength
iconst_1
isub
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: java.lang.StringBuffer int int
StackMap stack:
aload 0
iload 3
baload
sipush 255
iand
bipush 8
ishl
aload 0
iload 3
iconst_1
iadd
baload
sipush 255
iand
ior
i2c
istore 4
start local 4 5: aload 1
iload 4
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 4 6: iinc 3 2
StackMap locals:
StackMap stack:
7: iload 3
iload 2
if_icmplt 4
end local 3 8: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 bytes [B
1 9 1 sb Ljava/lang/StringBuffer;
2 9 2 last I
3 8 3 i I
5 6 4 ch C
MethodParameters:
Name Flags
bytes
public static boolean isSystemPackage(android.content.Context, java.lang.String);
descriptor: (Landroid/content/Context;Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic android.os.Binder.getCallingUid:()I
invokestatic com.android.providers.settings.SettingsState.isSystemPackage:(Landroid/content/Context;Ljava/lang/String;I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Landroid/content/Context;
0 1 1 packageName Ljava/lang/String;
MethodParameters:
Name Flags
context
packageName
public static boolean isSystemPackage(android.content.Context, java.lang.String, int);
descriptor: (Landroid/content/Context;Ljava/lang/String;I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=12, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.android.providers.settings.SettingsState.sLock:Ljava/lang/Object;
dup
astore 3
monitorenter
1: ldc "android"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
2: aload 3
monitorexit
3: iconst_1
ireturn
4: StackMap locals: java.lang.Object
StackMap stack:
ldc "com.android.shell"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
5: ldc "root"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: StackMap locals:
StackMap stack:
aload 3
monitorexit
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
iload 2
invokestatic android.os.UserHandle.getAppId:(I)I
istore 4
start local 4 9: iload 4
sipush 10000
if_icmpge 13
10: getstatic com.android.providers.settings.SettingsState.sSystemUids:Landroid/util/SparseIntArray;
iload 4
iload 4
invokevirtual android.util.SparseIntArray.put:(II)V
11: aload 3
monitorexit
12: iconst_1
ireturn
13: StackMap locals: int
StackMap stack:
iload 2
invokestatic android.os.UserHandle.getUserId:(I)I
istore 5
start local 5 14: invokestatic android.os.Binder.clearCallingIdentity:()J
lstore 6
start local 6 15: aload 0
invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
aload 1
iconst_0
16: iload 5
17: invokevirtual android.content.pm.PackageManager.getPackageUidAsUser:(Ljava/lang/String;II)I
istore 8
start local 8 18: goto 22
end local 8 StackMap locals: android.content.Context java.lang.String int java.lang.Object int int long
StackMap stack: android.content.pm.PackageManager$NameNotFoundException
19: pop
20: lload 6
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
aload 3
monitorexit
21: iconst_0
ireturn
start local 8 22: StackMap locals: int
StackMap stack:
iload 8
invokestatic android.os.UserHandle.getAppId:(I)I
sipush 10000
if_icmpge 26
23: getstatic com.android.providers.settings.SettingsState.sSystemUids:Landroid/util/SparseIntArray;
iload 8
iload 8
invokevirtual android.util.SparseIntArray.put:(II)V
24: lload 6
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
aload 3
monitorexit
25: iconst_1
ireturn
26: StackMap locals:
StackMap stack:
getstatic com.android.providers.settings.SettingsState.sSystemUids:Landroid/util/SparseIntArray;
iload 8
invokevirtual android.util.SparseIntArray.indexOfKey:(I)I
iflt 29
27: lload 6
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
aload 3
monitorexit
28: iconst_1
ireturn
29: StackMap locals:
StackMap stack:
ldc Landroid/content/pm/PackageManagerInternal;
30: invokestatic com.android.server.LocalServices.getService:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast android.content.pm.PackageManagerInternal
astore 9
start local 9 31: aload 1
aload 9
invokevirtual android.content.pm.PackageManagerInternal.getSetupWizardPackageName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 35
32: getstatic com.android.providers.settings.SettingsState.sSystemUids:Landroid/util/SparseIntArray;
iload 8
iload 8
invokevirtual android.util.SparseIntArray.put:(II)V
33: lload 6
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
aload 3
monitorexit
34: iconst_1
ireturn
35: StackMap locals: android.content.pm.PackageManagerInternal
StackMap stack:
aload 0
invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
36: aload 1
bipush 64
iload 5
37: invokevirtual android.content.pm.PackageManager.getPackageInfoAsUser:(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
astore 10
start local 10 38: aload 10
getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
getfield android.content.pm.ApplicationInfo.flags:I
39: bipush 8
40: iand
ifeq 50
41: aload 10
getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
getfield android.content.pm.ApplicationInfo.flags:I
42: iconst_1
43: iand
ifeq 50
44: getstatic com.android.providers.settings.SettingsState.sSystemUids:Landroid/util/SparseIntArray;
iload 8
iload 8
invokevirtual android.util.SparseIntArray.put:(II)V
45: lload 6
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
aload 3
monitorexit
46: iconst_1
ireturn
end local 10 47: StackMap locals:
StackMap stack: android.content.pm.PackageManager$NameNotFoundException
pop
48: lload 6
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
aload 3
monitorexit
49: iconst_0
ireturn
start local 10 50: StackMap locals: android.content.pm.PackageInfo
StackMap stack:
getstatic com.android.providers.settings.SettingsState.sSystemSignature:Landroid/content/pm/Signature;
ifnonnull 61
51: aload 0
invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
52: ldc "android"
bipush 64
53: iconst_0
54: invokevirtual android.content.pm.PackageManager.getPackageInfoAsUser:(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
55: getfield android.content.pm.PackageInfo.signatures:[Landroid/content/pm/Signature;
iconst_0
56: aaload
putstatic com.android.providers.settings.SettingsState.sSystemSignature:Landroid/content/pm/Signature;
57: goto 61
StackMap locals:
StackMap stack: android.content.pm.PackageManager$NameNotFoundException
58: pop
59: lload 6
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
aload 3
monitorexit
60: iconst_0
ireturn
61: StackMap locals:
StackMap stack:
getstatic com.android.providers.settings.SettingsState.sSystemSignature:Landroid/content/pm/Signature;
aload 10
getfield android.content.pm.PackageInfo.signatures:[Landroid/content/pm/Signature;
iconst_0
aaload
invokevirtual android.content.pm.Signature.equals:(Ljava/lang/Object;)Z
ifeq 68
62: getstatic com.android.providers.settings.SettingsState.sSystemUids:Landroid/util/SparseIntArray;
iload 8
iload 8
invokevirtual android.util.SparseIntArray.put:(II)V
63: lload 6
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
aload 3
monitorexit
64: iconst_1
ireturn
end local 10 end local 9 end local 8 65: StackMap locals: android.content.Context java.lang.String int java.lang.Object int int long
StackMap stack: java.lang.Throwable
astore 11
66: lload 6
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
67: aload 11
athrow
68: StackMap locals:
StackMap stack:
lload 6
invokestatic android.os.Binder.restoreCallingIdentity:(J)V
69: aload 3
monitorexit
70: iconst_0
ireturn
end local 6 end local 5 end local 4 71: StackMap locals: android.content.Context java.lang.String int java.lang.Object
StackMap stack: java.lang.Throwable
aload 3
monitorexit
72: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 73 0 context Landroid/content/Context;
0 73 1 packageName Ljava/lang/String;
0 73 2 callingUid I
9 71 4 callingAppId I
14 71 5 callingUserId I
15 71 6 identity J
18 19 8 uid I
22 65 8 uid I
31 65 9 packageManagerInternal Landroid/content/pm/PackageManagerInternal;
38 47 10 packageInfo Landroid/content/pm/PackageInfo;
50 65 10 packageInfo Landroid/content/pm/PackageInfo;
Exception table:
from to target type
15 18 19 Class android.content.pm.PackageManager$NameNotFoundException
35 45 47 Class android.content.pm.PackageManager$NameNotFoundException
51 57 58 Class android.content.pm.PackageManager$NameNotFoundException
15 20 65 any
22 24 65 any
26 27 65 any
29 33 65 any
35 45 65 any
47 48 65 any
50 59 65 any
61 63 65 any
1 3 71 any
4 7 71 any
8 12 71 any
13 21 71 any
22 25 71 any
26 28 71 any
29 34 71 any
35 46 71 any
47 49 71 any
50 60 71 any
61 64 71 any
65 70 71 any
71 72 71 any
MethodParameters:
Name Flags
context
packageName
callingUid
}
SourceFile: "SettingsState.java"
NestMembers:
com.android.providers.settings.SettingsState$1 com.android.providers.settings.SettingsState$HistoricalOperation com.android.providers.settings.SettingsState$MyHandler com.android.providers.settings.SettingsState$Setting
InnerClasses:
public NameNotFoundException = android.content.pm.PackageManager$NameNotFoundException of android.content.pm.PackageManager
public final System = android.provider.Settings$System of android.provider.Settings
com.android.providers.settings.SettingsState$1
private HistoricalOperation = com.android.providers.settings.SettingsState$HistoricalOperation of com.android.providers.settings.SettingsState
private final MyHandler = com.android.providers.settings.SettingsState$MyHandler of com.android.providers.settings.SettingsState
Setting = com.android.providers.settings.SettingsState$Setting of com.android.providers.settings.SettingsState