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: .line 141
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic com.android.providers.settings.SettingsState.sLock:Ljava/lang/Object;
         1: .line 144
            new android.util.SparseIntArray
            dup
            invokespecial android.util.SparseIntArray.<init>:()V
            putstatic com.android.providers.settings.SettingsState.sSystemUids:Landroid/util/SparseIntArray;
         2: .line 210
            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 // int type
        start local 1 // int userId
         0: .line 213
            iload 0 /* type */
            bipush 28
            ishl
            iload 1 /* userId */
            ior
            ireturn
        end local 1 // int userId
        end local 0 // int type
      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 // int key
         0: .line 217
            iload 0 /* key */
            bipush 28
            iushr
            ireturn
        end local 0 // int key
      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 // int key
         0: .line 221
            iload 0 /* key */
            ldc 268435455
            iand
            ireturn
        end local 0 // int key
      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 // int type
         0: .line 225
            iload 0 /* type */
            tableswitch { // 0 - 3
                    0: 1
                    1: 3
                    2: 2
                    3: 4
              default: 5
          }
         1: .line 227
      StackMap locals:
      StackMap stack:
            ldc "SETTINGS_GLOBAL"
            areturn
         2: .line 230
      StackMap locals:
      StackMap stack:
            ldc "SETTINGS_SECURE"
            areturn
         3: .line 233
      StackMap locals:
      StackMap stack:
            ldc "SETTINGS_SYSTEM"
            areturn
         4: .line 236
      StackMap locals:
      StackMap stack:
            ldc "SETTINGS_SSAID"
            areturn
         5: .line 239
      StackMap locals:
      StackMap stack:
            ldc "UNKNOWN"
            areturn
        end local 0 // int type
      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 // int key
         0: .line 245
            new java.lang.StringBuilder
            dup
            ldc "Key[user="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* key */
            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: .line 246
            iload 0 /* key */
            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: .line 245
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // int key
      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 // com.android.providers.settings.SettingsState this
        start local 1 // android.content.Context context
        start local 2 // java.lang.Object lock
        start local 3 // java.io.File file
        start local 4 // int key
        start local 5 // int maxBytesPerAppPackage
        start local 6 // android.os.Looper looper
         0: .line 249
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 149
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield com.android.providers.settings.SettingsState.mWriteLock:Ljava/lang/Object;
         2: .line 159
            aload 0 /* this */
            new android.util.ArrayMap
            dup
            invokespecial android.util.ArrayMap.<init>:()V
            putfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
         3: .line 173
            aload 0 /* this */
            new com.android.providers.settings.SettingsState$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            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: .line 187
            aload 0 /* this */
            iconst_m1
            putfield com.android.providers.settings.SettingsState.mVersion:I
         5: .line 254
            aload 0 /* this */
            aload 1 /* context */
            putfield com.android.providers.settings.SettingsState.mContext:Landroid/content/Context;
         6: .line 255
            aload 0 /* this */
            aload 2 /* lock */
            putfield com.android.providers.settings.SettingsState.mLock:Ljava/lang/Object;
         7: .line 256
            aload 0 /* this */
            aload 3 /* file */
            putfield com.android.providers.settings.SettingsState.mStatePersistFile:Ljava/io/File;
         8: .line 257
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "settings-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* key */
            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 /* key */
            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: .line 258
            aload 0 /* this */
            iload 4 /* key */
            putfield com.android.providers.settings.SettingsState.mKey:I
        10: .line 259
            aload 0 /* this */
            new com.android.providers.settings.SettingsState$MyHandler
            dup
            aload 0 /* this */
            aload 6 /* looper */
            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: .line 260
            iload 5 /* maxBytesPerAppPackage */
            sipush 20000
            if_icmpne 15
        12: .line 261
            aload 0 /* this */
            iload 5 /* maxBytesPerAppPackage */
            putfield com.android.providers.settings.SettingsState.mMaxBytesPerAppPackage:I
        13: .line 262
            aload 0 /* this */
            new android.util.ArrayMap
            dup
            invokespecial android.util.ArrayMap.<init>:()V
            putfield com.android.providers.settings.SettingsState.mPackageToMemoryUsage:Landroid/util/ArrayMap;
        14: .line 263
            goto 17
        15: .line 264
      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 /* this */
            iload 5 /* maxBytesPerAppPackage */
            putfield com.android.providers.settings.SettingsState.mMaxBytesPerAppPackage:I
        16: .line 265
            aload 0 /* this */
            aconst_null
            putfield com.android.providers.settings.SettingsState.mPackageToMemoryUsage:Landroid/util/ArrayMap;
        17: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic android.os.Build.IS_DEBUGGABLE:Z
            ifeq 19
        18: .line 269
            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: .line 268
      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: .line 271
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mLock:Ljava/lang/Object;
            dup
            astore 7
            monitorenter
        22: .line 272
            aload 0 /* this */
            invokevirtual com.android.providers.settings.SettingsState.readStateSyncLocked:()V
        23: .line 271
            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: .line 274
      StackMap locals:
      StackMap stack:
            return
        end local 6 // android.os.Looper looper
        end local 5 // int maxBytesPerAppPackage
        end local 4 // int key
        end local 3 // java.io.File file
        end local 2 // java.lang.Object lock
        end local 1 // android.content.Context context
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
         0: .line 278
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mVersion:I
            ireturn
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
         0: .line 282
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mNullSetting:Lcom/android/providers/settings/SettingsState$Setting;
            areturn
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
        start local 1 // int version
         0: .line 287
            iload 1 /* version */
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mVersion:I
            if_icmpne 2
         1: .line 288
            return
         2: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* version */
            putfield com.android.providers.settings.SettingsState.mVersion:I
         3: .line 292
            aload 0 /* this */
            invokevirtual com.android.providers.settings.SettingsState.scheduleWriteIfNeededLocked:()V
         4: .line 293
            return
        end local 1 // int version
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
        start local 1 // java.lang.String packageName
         0: .line 297
            iconst_0
            istore 2 /* removedSomething */
        start local 2 // boolean removedSomething
         1: .line 299
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
            invokevirtual android.util.ArrayMap.size:()I
            istore 3 /* settingCount */
        start local 3 // int settingCount
         2: .line 300
            iload 3 /* settingCount */
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         3: goto 13
         4: .line 301
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
            iload 4 /* i */
            invokevirtual android.util.ArrayMap.keyAt:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* name */
        start local 5 // java.lang.String name
         5: .line 303
            getstatic android.provider.Settings$System.PUBLIC_SETTINGS:Ljava/util/Set;
            aload 5 /* name */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 12
         6: .line 304
            getstatic android.provider.Settings$System.PRIVATE_SETTINGS:Ljava/util/Set;
            aload 5 /* name */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 305
            goto 12
         8: .line 307
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
            iload 4 /* i */
            invokevirtual android.util.ArrayMap.valueAt:(I)Ljava/lang/Object;
            checkcast com.android.providers.settings.SettingsState$Setting
            astore 6 /* setting */
        start local 6 // com.android.providers.settings.SettingsState$Setting setting
         9: .line 308
            aload 1 /* packageName */
            aload 6 /* setting */
            getfield com.android.providers.settings.SettingsState$Setting.packageName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 309
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
            iload 4 /* i */
            invokevirtual android.util.ArrayMap.removeAt:(I)Ljava/lang/Object;
            pop
        11: .line 310
            iconst_1
            istore 2 /* removedSomething */
        end local 6 // com.android.providers.settings.SettingsState$Setting setting
        end local 5 // java.lang.String name
        12: .line 300
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            ifge 4
        end local 4 // int i
        14: .line 314
            iload 2 /* removedSomething */
            ifeq 16
        15: .line 315
            aload 0 /* this */
            invokevirtual com.android.providers.settings.SettingsState.scheduleWriteIfNeededLocked:()V
        16: .line 317
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int settingCount
        end local 2 // boolean removedSomething
        end local 1 // java.lang.String packageName
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
         0: .line 321
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* names */
        start local 1 // java.util.ArrayList names
         1: .line 322
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
            invokevirtual android.util.ArrayMap.size:()I
            istore 2 /* settingsCount */
        start local 2 // int settingsCount
         2: .line 323
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 7
         4: .line 324
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
            iload 3 /* i */
            invokevirtual android.util.ArrayMap.keyAt:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* name */
        start local 4 // java.lang.String name
         5: .line 325
            aload 1 /* names */
            aload 4 /* name */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String name
         6: .line 323
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 2 /* settingsCount */
            if_icmplt 4
        end local 3 // int i
         8: .line 327
            aload 1 /* names */
            areturn
        end local 2 // int settingsCount
        end local 1 // java.util.ArrayList names
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
        start local 1 // java.lang.String name
         0: .line 332
            aload 1 /* name */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 2
         1: .line 333
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mNullSetting:Lcom/android/providers/settings/SettingsState$Setting;
            areturn
         2: .line 335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
            aload 1 /* name */
            invokevirtual android.util.ArrayMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.android.providers.settings.SettingsState$Setting
            astore 2 /* setting */
        start local 2 // com.android.providers.settings.SettingsState$Setting setting
         3: .line 336
            aload 2 /* setting */
            ifnull 5
         4: .line 337
            new com.android.providers.settings.SettingsState$Setting
            dup
            aload 0 /* this */
            aload 2 /* setting */
            invokespecial com.android.providers.settings.SettingsState$Setting.<init>:(Lcom/android/providers/settings/SettingsState;Lcom/android/providers/settings/SettingsState$Setting;)V
            areturn
         5: .line 339
      StackMap locals: com.android.providers.settings.SettingsState$Setting
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mNullSetting:Lcom/android/providers/settings/SettingsState$Setting;
            areturn
        end local 2 // com.android.providers.settings.SettingsState$Setting setting
        end local 1 // java.lang.String name
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
        start local 3 // java.lang.String tag
        start local 4 // boolean makeValue
        start local 5 // java.lang.String packageName
         0: .line 345
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.android.providers.settings.SettingsState.hasSettingLocked:(Ljava/lang/String;)Z
            ifne 2
         1: .line 346
            iconst_0
            ireturn
         2: .line 349
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            aload 3 /* tag */
            iload 4 /* makeValue */
            aload 5 /* packageName */
            invokevirtual com.android.providers.settings.SettingsState.insertSettingLocked:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Z
            ireturn
        end local 5 // java.lang.String packageName
        end local 4 // boolean makeValue
        end local 3 // java.lang.String tag
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
        start local 1 // java.lang.String name
         0: .line 354
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.android.providers.settings.SettingsState.getSettingLocked:(Ljava/lang/String;)Lcom/android/providers/settings/SettingsState$Setting;
            astore 2 /* oldSetting */
        start local 2 // com.android.providers.settings.SettingsState$Setting oldSetting
         1: .line 355
            aload 2 /* oldSetting */
            ifnull 13
            aload 2 /* oldSetting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.isNull:()Z
            ifne 13
            aload 2 /* oldSetting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.getDefaultValue:()Ljava/lang/String;
            ifnull 13
         2: .line 356
            aload 2 /* oldSetting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.getValue:()Ljava/lang/String;
            astore 3 /* oldValue */
        start local 3 // java.lang.String oldValue
         3: .line 357
            aload 2 /* oldSetting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.getDefaultValue:()Ljava/lang/String;
            astore 4 /* oldDefaultValue */
        start local 4 // java.lang.String oldDefaultValue
         4: .line 358
            new com.android.providers.settings.SettingsState$Setting
            dup
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* oldSetting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.getValue:()Ljava/lang/String;
            aconst_null
         5: .line 359
            aload 2 /* oldSetting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.getPackageName:()Ljava/lang/String;
            aload 2 /* oldSetting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.getTag:()Ljava/lang/String;
            iconst_0
         6: .line 360
            aload 2 /* oldSetting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.getId:()Ljava/lang/String;
         7: .line 358
            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 /* newSetting */
        start local 5 // com.android.providers.settings.SettingsState$Setting newSetting
         8: .line 361
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
            aload 1 /* name */
            aload 5 /* newSetting */
            invokevirtual android.util.ArrayMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 362
            aload 0 /* this */
            aload 5 /* newSetting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.getPackageName:()Ljava/lang/String;
            aload 3 /* oldValue */
        10: .line 363
            aload 5 /* newSetting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.getValue:()Ljava/lang/String;
            aload 4 /* oldDefaultValue */
            aload 5 /* newSetting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.getDefaultValue:()Ljava/lang/String;
        11: .line 362
            invokevirtual com.android.providers.settings.SettingsState.updateMemoryUsagePerPackageLocked:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        12: .line 364
            aload 0 /* this */
            invokevirtual com.android.providers.settings.SettingsState.scheduleWriteIfNeededLocked:()V
        end local 5 // com.android.providers.settings.SettingsState$Setting newSetting
        end local 4 // java.lang.String oldDefaultValue
        end local 3 // java.lang.String oldValue
        13: .line 366
      StackMap locals: com.android.providers.settings.SettingsState$Setting
      StackMap stack:
            return
        end local 2 // com.android.providers.settings.SettingsState$Setting oldSetting
        end local 1 // java.lang.String name
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
         0: .line 390
            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 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
         0: .line 405
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
            iconst_1
            invokevirtual android.os.Handler.removeMessages:(I)V
         1: .line 406
            aload 0 /* this */
            invokevirtual com.android.providers.settings.SettingsState.doWriteState:()V
         2: .line 407
            return
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
         0: .line 417
            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 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
        start local 1 // java.lang.String name
         0: .line 433
            aload 1 /* name */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifne 1
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.android.providers.settings.SettingsState.hasSettingLocked:(Ljava/lang/String;)Z
            ifne 2
         1: .line 434
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
            aload 1 /* name */
            invokevirtual android.util.ArrayMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.android.providers.settings.SettingsState$Setting
            astore 2 /* setting */
        start local 2 // com.android.providers.settings.SettingsState$Setting setting
         3: .line 439
            new com.android.providers.settings.SettingsState$Setting
            dup
            aload 0 /* this */
            aload 2 /* setting */
            invokespecial com.android.providers.settings.SettingsState$Setting.<init>:(Lcom/android/providers/settings/SettingsState;Lcom/android/providers/settings/SettingsState$Setting;)V
            astore 3 /* oldSetting */
        start local 3 // com.android.providers.settings.SettingsState$Setting oldSetting
         4: .line 440
            aload 2 /* setting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.getValue:()Ljava/lang/String;
            astore 4 /* oldValue */
        start local 4 // java.lang.String oldValue
         5: .line 441
            aload 2 /* setting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.getDefaultValue:()Ljava/lang/String;
            astore 5 /* oldDefaultValue */
        start local 5 // java.lang.String oldDefaultValue
         6: .line 443
            aload 2 /* setting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.reset:()Z
            ifne 8
         7: .line 444
            iconst_0
            ireturn
         8: .line 447
      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 /* setting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.getValue:()Ljava/lang/String;
            astore 6 /* newValue */
        start local 6 // java.lang.String newValue
         9: .line 448
            aload 2 /* setting */
            invokevirtual com.android.providers.settings.SettingsState$Setting.getDefaultValue:()Ljava/lang/String;
            astore 7 /* newDefaultValue */
        start local 7 // java.lang.String newDefaultValue
        10: .line 450
            aload 0 /* this */
            aload 2 /* setting */
            getfield com.android.providers.settings.SettingsState$Setting.packageName:Ljava/lang/String;
            aload 4 /* oldValue */
        11: .line 451
            aload 6 /* newValue */
            aload 5 /* oldDefaultValue */
            aload 7 /* newDefaultValue */
        12: .line 450
            invokevirtual com.android.providers.settings.SettingsState.updateMemoryUsagePerPackageLocked:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        13: .line 453
            aload 0 /* this */
            ldc "reset"
            aload 3 /* oldSetting */
            invokevirtual com.android.providers.settings.SettingsState.addHistoricalOperationLocked:(Ljava/lang/String;Lcom/android/providers/settings/SettingsState$Setting;)V
        14: .line 455
            aload 0 /* this */
            invokevirtual com.android.providers.settings.SettingsState.scheduleWriteIfNeededLocked:()V
        15: .line 457
            iconst_1
            ireturn
        end local 7 // java.lang.String newDefaultValue
        end local 6 // java.lang.String newValue
        end local 5 // java.lang.String oldDefaultValue
        end local 4 // java.lang.String oldValue
        end local 3 // com.android.providers.settings.SettingsState$Setting oldSetting
        end local 2 // com.android.providers.settings.SettingsState$Setting setting
        end local 1 // java.lang.String name
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
        start local 1 // java.lang.Runnable callback
         0: .line 462
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
            iconst_1
            invokevirtual android.os.Handler.removeMessages:(I)V
         1: .line 463
            aload 1 /* callback */
            ifnull 9
         2: .line 464
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mDirty:Z
            ifeq 8
         3: .line 466
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
            iconst_1
         4: .line 467
            aload 1 /* callback */
         5: .line 466
            invokevirtual android.os.Handler.obtainMessage:(ILjava/lang/Object;)Landroid/os/Message;
         6: .line 467
            invokevirtual android.os.Message.sendToTarget:()V
         7: .line 468
            return
         8: .line 470
      StackMap locals:
      StackMap stack:
            aload 1 /* callback */
            invokeinterface java.lang.Runnable.run:()V
         9: .line 472
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Runnable callback
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
        start local 1 // java.lang.String type
        start local 2 // com.android.providers.settings.SettingsState$Setting setting
         0: .line 475
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
            ifnonnull 2
         1: .line 476
            return
         2: .line 478
      StackMap locals:
      StackMap stack:
            new com.android.providers.settings.SettingsState$HistoricalOperation
            dup
            aload 0 /* this */
         3: .line 479
            invokestatic android.os.SystemClock.elapsedRealtime:()J
            aload 1 /* type */
         4: .line 480
            aload 2 /* setting */
            ifnull 5
            new com.android.providers.settings.SettingsState$Setting
            dup
            aload 0 /* this */
            aload 2 /* setting */
            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: .line 478
      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 /* operation */
        start local 3 // com.android.providers.settings.SettingsState$HistoricalOperation operation
         7: .line 481
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mNextHistoricalOpIdx:I
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 10
         8: .line 482
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
            aload 3 /* operation */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 483
            goto 11
        10: .line 484
      StackMap locals: com.android.providers.settings.SettingsState$HistoricalOperation
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mNextHistoricalOpIdx:I
            aload 3 /* operation */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 486
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.android.providers.settings.SettingsState.mNextHistoricalOpIdx:I
            iconst_1
            iadd
            putfield com.android.providers.settings.SettingsState.mNextHistoricalOpIdx:I
        12: .line 487
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mNextHistoricalOpIdx:I
            bipush 20
            if_icmplt 14
        13: .line 488
            aload 0 /* this */
            iconst_0
            putfield com.android.providers.settings.SettingsState.mNextHistoricalOpIdx:I
        14: .line 490
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.android.providers.settings.SettingsState$HistoricalOperation operation
        end local 2 // com.android.providers.settings.SettingsState$Setting setting
        end local 1 // java.lang.String type
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
         0: .line 513
            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 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
        start local 1 // java.io.PrintWriter pw
         0: .line 527
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 528
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
            ifnonnull 4
         2: .line 529
            aload 2
            monitorexit
         3: return
         4: .line 531
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* pw */
            ldc "Historical operations"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         5: .line 532
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 3 /* operationCount */
        start local 3 // int operationCount
         6: .line 533
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 20
         8: .line 534
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mNextHistoricalOpIdx:I
            iconst_1
            isub
            iload 4 /* i */
            isub
            istore 5 /* index */
        start local 5 // int index
         9: .line 535
            iload 5 /* index */
            ifge 11
        10: .line 536
            iload 3 /* operationCount */
            iload 5 /* index */
            iadd
            istore 5 /* index */
        11: .line 538
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHistoricalOperations:Ljava/util/List;
            iload 5 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.android.providers.settings.SettingsState$HistoricalOperation
            astore 6 /* operation */
        start local 6 // com.android.providers.settings.SettingsState$HistoricalOperation operation
        12: .line 539
            aload 1 /* pw */
            aload 6 /* operation */
            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: .line 540
            aload 1 /* pw */
            ldc " "
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        14: .line 541
            aload 1 /* pw */
            aload 6 /* operation */
            getfield com.android.providers.settings.SettingsState$HistoricalOperation.mOperation:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        15: .line 542
            aload 6 /* operation */
            getfield com.android.providers.settings.SettingsState$HistoricalOperation.mSetting:Lcom/android/providers/settings/SettingsState$Setting;
            ifnull 18
        16: .line 543
            aload 1 /* pw */
            ldc " "
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        17: .line 547
            aload 1 /* pw */
            aload 6 /* operation */
            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: .line 549
      StackMap locals: com.android.providers.settings.SettingsState$HistoricalOperation
      StackMap stack:
            aload 1 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
        end local 6 // com.android.providers.settings.SettingsState$HistoricalOperation operation
        end local 5 // int index
        19: .line 533
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* i */
            iload 3 /* operationCount */
            if_icmplt 8
        end local 4 // int i
        21: .line 551
            aload 1 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
        22: .line 552
            aload 1 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
        end local 3 // int operationCount
        23: .line 527
            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: .line 554
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.PrintWriter pw
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
        start local 1 // java.lang.String packageName
        start local 2 // java.lang.String oldValue
        start local 3 // java.lang.String newValue
        start local 4 // java.lang.String oldDefaultValue
        start local 5 // java.lang.String newDefaultValue
         0: .line 558
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mMaxBytesPerAppPackage:I
            iconst_m1
            if_icmpne 2
         1: .line 559
            return
         2: .line 562
      StackMap locals:
      StackMap stack:
            ldc "android"
            aload 1 /* packageName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 563
            return
         4: .line 566
      StackMap locals:
      StackMap stack:
            aload 2 /* oldValue */
            ifnull 5
            aload 2 /* oldValue */
            invokevirtual java.lang.String.length:()I
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 6 /* oldValueSize */
        start local 6 // int oldValueSize
         7: .line 567
            aload 3 /* newValue */
            ifnull 8
            aload 3 /* newValue */
            invokevirtual java.lang.String.length:()I
            goto 9
      StackMap locals: int
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 7 /* newValueSize */
        start local 7 // int newValueSize
        10: .line 568
            aload 4 /* oldDefaultValue */
            ifnull 11
            aload 4 /* oldDefaultValue */
            invokevirtual java.lang.String.length:()I
            goto 12
      StackMap locals: int
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 8 /* oldDefaultValueSize */
        start local 8 // int oldDefaultValueSize
        13: .line 569
            aload 5 /* newDefaultValue */
            ifnull 14
            aload 5 /* newDefaultValue */
            invokevirtual java.lang.String.length:()I
            goto 15
      StackMap locals: int
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 9 /* newDefaultValueSize */
        start local 9 // int newDefaultValueSize
        16: .line 570
            iload 7 /* newValueSize */
            iload 9 /* newDefaultValueSize */
            iadd
        17: .line 571
            iload 6 /* oldValueSize */
        18: .line 570
            isub
        19: .line 571
            iload 8 /* oldDefaultValueSize */
        20: .line 570
            isub
            istore 10 /* deltaSize */
        start local 10 // int deltaSize
        21: .line 573
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mPackageToMemoryUsage:Landroid/util/ArrayMap;
            aload 1 /* packageName */
            invokevirtual android.util.ArrayMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 11 /* currentSize */
        start local 11 // java.lang.Integer currentSize
        22: .line 574
            aload 11 /* currentSize */
            ifnull 24
        23: .line 575
            aload 11 /* currentSize */
            invokevirtual java.lang.Integer.intValue:()I
            iload 10 /* deltaSize */
            iadd
            goto 25
      StackMap locals: int int java.lang.Integer
      StackMap stack:
        24: iload 10 /* deltaSize */
      StackMap locals:
      StackMap stack: int
        25: iconst_0
        26: .line 574
            invokestatic java.lang.Math.max:(II)I
            istore 12 /* newSize */
        start local 12 // int newSize
        27: .line 577
            iload 12 /* newSize */
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mMaxBytesPerAppPackage:I
            if_icmple 31
        28: .line 578
            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: .line 580
            aload 1 /* packageName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 578
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 588
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mPackageToMemoryUsage:Landroid/util/ArrayMap;
            aload 1 /* packageName */
            iload 12 /* newSize */
            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: .line 589
            return
        end local 12 // int newSize
        end local 11 // java.lang.Integer currentSize
        end local 10 // int deltaSize
        end local 9 // int newDefaultValueSize
        end local 8 // int oldDefaultValueSize
        end local 7 // int newValueSize
        end local 6 // int oldValueSize
        end local 5 // java.lang.String newDefaultValue
        end local 4 // java.lang.String oldDefaultValue
        end local 3 // java.lang.String newValue
        end local 2 // java.lang.String oldValue
        end local 1 // java.lang.String packageName
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
        start local 1 // java.lang.String name
         0: .line 592
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mSettings:Landroid/util/ArrayMap;
            aload 1 /* name */
            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 // java.lang.String name
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
         0: .line 597
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mDirty:Z
            ifne 3
         1: .line 598
            aload 0 /* this */
            iconst_1
            putfield com.android.providers.settings.SettingsState.mDirty:Z
         2: .line 599
            aload 0 /* this */
            invokevirtual com.android.providers.settings.SettingsState.writeStateAsyncLocked:()V
         3: .line 601
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
         0: .line 604
            invokestatic android.os.SystemClock.uptimeMillis:()J
            lstore 1 /* currentTimeMillis */
        start local 1 // long currentTimeMillis
         1: .line 606
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mWriteScheduled:Z
            ifeq 20
         2: .line 607
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
            iconst_1
            invokevirtual android.os.Handler.removeMessages:(I)V
         3: .line 610
            lload 1 /* currentTimeMillis */
         4: .line 611
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mLastNotWrittenMutationTimeMillis:J
         5: .line 610
            lsub
            lstore 3 /* timeSinceLastNotWrittenMutationMillis */
        start local 3 // long timeSinceLastNotWrittenMutationMillis
         6: .line 612
            lload 3 /* timeSinceLastNotWrittenMutationMillis */
            ldc 2000
            lcmp
            iflt 9
         7: .line 613
            aload 0 /* this */
            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: .line 614
            return
         9: .line 618
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mLastNotWrittenMutationTimeMillis:J
        10: .line 619
            ldc 2000
        11: .line 618
            ladd
        12: .line 619
            lload 1 /* currentTimeMillis */
        13: .line 618
            lsub
        14: .line 619
            lconst_0
        15: .line 618
            invokestatic java.lang.Math.max:(JJ)J
            lstore 5 /* maxDelayMillis */
        start local 5 // long maxDelayMillis
        16: .line 620
            ldc 200
            lload 5 /* maxDelayMillis */
            invokestatic java.lang.Math.min:(JJ)J
            lstore 7 /* writeDelayMillis */
        start local 7 // long writeDelayMillis
        17: .line 622
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
            iconst_1
            invokevirtual android.os.Handler.obtainMessage:(I)Landroid/os/Message;
            astore 9 /* message */
        start local 9 // android.os.Message message
        18: .line 623
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
            aload 9 /* message */
            lload 7 /* writeDelayMillis */
            invokevirtual android.os.Handler.sendMessageDelayed:(Landroid/os/Message;J)Z
            pop
        end local 9 // android.os.Message message
        end local 7 // long writeDelayMillis
        end local 5 // long maxDelayMillis
        end local 3 // long timeSinceLastNotWrittenMutationMillis
        19: .line 624
            goto 24
        20: .line 625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* currentTimeMillis */
            putfield com.android.providers.settings.SettingsState.mLastNotWrittenMutationTimeMillis:J
        21: .line 626
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
            iconst_1
            invokevirtual android.os.Handler.obtainMessage:(I)Landroid/os/Message;
            astore 3 /* message */
        start local 3 // android.os.Message message
        22: .line 627
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsState.mHandler:Landroid/os/Handler;
            aload 3 /* message */
            ldc 200
            invokevirtual android.os.Handler.sendMessageDelayed:(Landroid/os/Message;J)Z
            pop
        23: .line 628
            aload 0 /* this */
            iconst_1
            putfield com.android.providers.settings.SettingsState.mWriteScheduled:Z
        end local 3 // android.os.Message message
        24: .line 630
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long currentTimeMillis
        end local 0 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
         0: .line 654
            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 // com.android.providers.settings.SettingsState this
      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: .line 707
            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: .line 732
            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 // com.android.providers.settings.SettingsState this
         0: .line 751
            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 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
         0: .line 784
            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 // com.android.providers.settings.SettingsState this
      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 // java.io.File file
         0: .line 802
            new android.util.AtomicFile
            dup
            aload 0 /* file */
            invokespecial android.util.AtomicFile.<init>:(Ljava/io/File;)V
            astore 1 /* stateFile */
        start local 1 // android.util.AtomicFile stateFile
         1: .line 803
            aload 1 /* stateFile */
            invokevirtual android.util.AtomicFile.exists:()Z
            ireturn
        end local 1 // android.util.AtomicFile stateFile
        end local 0 // java.io.File file
      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 // com.android.providers.settings.SettingsState this
         0: .line 806
            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 // com.android.providers.settings.SettingsState this
      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 // com.android.providers.settings.SettingsState this
         0: .line 823
            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 // com.android.providers.settings.SettingsState this
      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 // java.lang.String s
         0: .line 1052
            aload 0 /* s */
            ifnonnull 2
         1: .line 1053
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 1056
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 13
         4: .line 1057
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* c */
        start local 2 // char c
         5: .line 1058
            iload 2 /* c */
            bipush 32
            if_icmplt 6
            iload 2 /* c */
            ldc 55295
            if_icmple 8
      StackMap locals: int
      StackMap stack:
         6: iload 2 /* c */
            ldc 57344
            if_icmplt 7
            iload 2 /* c */
            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 /* allowedInXml */
        start local 3 // boolean allowedInXml
        10: .line 1059
            iload 3 /* allowedInXml */
            ifne 12
        11: .line 1060
            iconst_1
            ireturn
        end local 3 // boolean allowedInXml
        end local 2 // char c
        12: .line 1056
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 1 /* i */
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        end local 1 // int i
        14: .line 1063
            iconst_0
            ireturn
        end local 0 // java.lang.String s
      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 // java.lang.String s
         0: .line 1067
            aload 0 /* s */
            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 // java.lang.String s
      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 // java.lang.String s
         0: .line 1071
            aload 0 /* s */
            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 // java.lang.String s
      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 // java.lang.String s
         0: .line 1079
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_2
            imul
            newarray 8
            astore 1 /* result */
        start local 1 // byte[] result
         1: .line 1080
            iconst_0
            istore 2 /* resultIndex */
        start local 2 // int resultIndex
         2: .line 1081
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 1082
      StackMap locals: byte[] int int
      StackMap stack:
            aload 0 /* s */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* ch */
        start local 4 // char ch
         5: .line 1083
            aload 1 /* result */
            iload 2 /* resultIndex */
            iinc 2 /* resultIndex */ 1
            iload 4 /* ch */
            bipush 8
            ishr
            i2b
            bastore
         6: .line 1084
            aload 1 /* result */
            iload 2 /* resultIndex */
            iinc 2 /* resultIndex */ 1
            iload 4 /* ch */
            i2b
            bastore
        end local 4 // char ch
         7: .line 1081
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        end local 3 // int i
         9: .line 1086
            aload 1 /* result */
            areturn
        end local 2 // int resultIndex
        end local 1 // byte[] result
        end local 0 // java.lang.String s
      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 // byte[] bytes
         0: .line 1090
            new java.lang.StringBuffer
            dup
            aload 0 /* bytes */
            arraylength
            iconst_2
            idiv
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 1092
            aload 0 /* bytes */
            arraylength
            iconst_1
            isub
            istore 2 /* last */
        start local 2 // int last
         2: .line 1094
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 7
         4: .line 1095
      StackMap locals: java.lang.StringBuffer int int
      StackMap stack:
            aload 0 /* bytes */
            iload 3 /* i */
            baload
            sipush 255
            iand
            bipush 8
            ishl
            aload 0 /* bytes */
            iload 3 /* i */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            ior
            i2c
            istore 4 /* ch */
        start local 4 // char ch
         5: .line 1096
            aload 1 /* sb */
            iload 4 /* ch */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 4 // char ch
         6: .line 1094
            iinc 3 /* i */ 2
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 2 /* last */
            if_icmplt 4
        end local 3 // int i
         8: .line 1098
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // int last
        end local 1 // java.lang.StringBuffer sb
        end local 0 // byte[] bytes
      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 // android.content.Context context
        start local 1 // java.lang.String packageName
         0: .line 1102
            aload 0 /* context */
            aload 1 /* packageName */
            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 // java.lang.String packageName
        end local 0 // android.content.Context context
      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 // android.content.Context context
        start local 1 // java.lang.String packageName
        start local 2 // int callingUid
         0: .line 1106
            getstatic com.android.providers.settings.SettingsState.sLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 1107
            ldc "android"
            aload 1 /* packageName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 1108
            aload 3
            monitorexit
         3: iconst_1
            ireturn
         4: .line 1112
      StackMap locals: java.lang.Object
      StackMap stack:
            ldc "com.android.shell"
            aload 1 /* packageName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 1113
            ldc "root"
            aload 1 /* packageName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 1114
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
         7: iconst_0
            ireturn
         8: .line 1118
      StackMap locals:
      StackMap stack:
            iload 2 /* callingUid */
            invokestatic android.os.UserHandle.getAppId:(I)I
            istore 4 /* callingAppId */
        start local 4 // int callingAppId
         9: .line 1119
            iload 4 /* callingAppId */
            sipush 10000
            if_icmpge 13
        10: .line 1120
            getstatic com.android.providers.settings.SettingsState.sSystemUids:Landroid/util/SparseIntArray;
            iload 4 /* callingAppId */
            iload 4 /* callingAppId */
            invokevirtual android.util.SparseIntArray.put:(II)V
        11: .line 1121
            aload 3
            monitorexit
        12: iconst_1
            ireturn
        13: .line 1129
      StackMap locals: int
      StackMap stack:
            iload 2 /* callingUid */
            invokestatic android.os.UserHandle.getUserId:(I)I
            istore 5 /* callingUserId */
        start local 5 // int callingUserId
        14: .line 1131
            invokestatic android.os.Binder.clearCallingIdentity:()J
            lstore 6 /* identity */
        start local 6 // long identity
        15: .line 1135
            aload 0 /* context */
            invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
            aload 1 /* packageName */
            iconst_0
        16: .line 1136
            iload 5 /* callingUserId */
        17: .line 1135
            invokevirtual android.content.pm.PackageManager.getPackageUidAsUser:(Ljava/lang/String;II)I
            istore 8 /* uid */
        start local 8 // int uid
        18: .line 1137
            goto 22
        end local 8 // int uid
      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: .line 1192
            lload 6 /* identity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
            aload 3
            monitorexit
        21: .line 1138
            iconst_0
            ireturn
        start local 8 // int uid
        22: .line 1142
      StackMap locals: int
      StackMap stack:
            iload 8 /* uid */
            invokestatic android.os.UserHandle.getAppId:(I)I
            sipush 10000
            if_icmpge 26
        23: .line 1143
            getstatic com.android.providers.settings.SettingsState.sSystemUids:Landroid/util/SparseIntArray;
            iload 8 /* uid */
            iload 8 /* uid */
            invokevirtual android.util.SparseIntArray.put:(II)V
        24: .line 1192
            lload 6 /* identity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
            aload 3
            monitorexit
        25: .line 1144
            iconst_1
            ireturn
        26: .line 1148
      StackMap locals:
      StackMap stack:
            getstatic com.android.providers.settings.SettingsState.sSystemUids:Landroid/util/SparseIntArray;
            iload 8 /* uid */
            invokevirtual android.util.SparseIntArray.indexOfKey:(I)I
            iflt 29
        27: .line 1192
            lload 6 /* identity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
            aload 3
            monitorexit
        28: .line 1149
            iconst_1
            ireturn
        29: .line 1154
      StackMap locals:
      StackMap stack:
            ldc Landroid/content/pm/PackageManagerInternal;
        30: .line 1153
            invokestatic com.android.server.LocalServices.getService:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast android.content.pm.PackageManagerInternal
            astore 9 /* packageManagerInternal */
        start local 9 // android.content.pm.PackageManagerInternal packageManagerInternal
        31: .line 1155
            aload 1 /* packageName */
            aload 9 /* packageManagerInternal */
            invokevirtual android.content.pm.PackageManagerInternal.getSetupWizardPackageName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
        32: .line 1156
            getstatic com.android.providers.settings.SettingsState.sSystemUids:Landroid/util/SparseIntArray;
            iload 8 /* uid */
            iload 8 /* uid */
            invokevirtual android.util.SparseIntArray.put:(II)V
        33: .line 1192
            lload 6 /* identity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
            aload 3
            monitorexit
        34: .line 1157
            iconst_1
            ireturn
        35: .line 1163
      StackMap locals: android.content.pm.PackageManagerInternal
      StackMap stack:
            aload 0 /* context */
            invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
        36: .line 1164
            aload 1 /* packageName */
            bipush 64
            iload 5 /* callingUserId */
        37: .line 1163
            invokevirtual android.content.pm.PackageManager.getPackageInfoAsUser:(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
            astore 10 /* packageInfo */
        start local 10 // android.content.pm.PackageInfo packageInfo
        38: .line 1165
            aload 10 /* packageInfo */
            getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
            getfield android.content.pm.ApplicationInfo.flags:I
        39: .line 1166
            bipush 8
        40: .line 1165
            iand
            ifeq 50
        41: .line 1167
            aload 10 /* packageInfo */
            getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
            getfield android.content.pm.ApplicationInfo.flags:I
        42: .line 1168
            iconst_1
        43: .line 1167
            iand
            ifeq 50
        44: .line 1169
            getstatic com.android.providers.settings.SettingsState.sSystemUids:Landroid/util/SparseIntArray;
            iload 8 /* uid */
            iload 8 /* uid */
            invokevirtual android.util.SparseIntArray.put:(II)V
        45: .line 1192
            lload 6 /* identity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
            aload 3
            monitorexit
        46: .line 1170
            iconst_1
            ireturn
        end local 10 // android.content.pm.PackageInfo packageInfo
        47: .line 1172
      StackMap locals:
      StackMap stack: android.content.pm.PackageManager$NameNotFoundException
            pop
        48: .line 1192
            lload 6 /* identity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
            aload 3
            monitorexit
        49: .line 1173
            iconst_0
            ireturn
        start local 10 // android.content.pm.PackageInfo packageInfo
        50: .line 1177
      StackMap locals: android.content.pm.PackageInfo
      StackMap stack:
            getstatic com.android.providers.settings.SettingsState.sSystemSignature:Landroid/content/pm/Signature;
            ifnonnull 61
        51: .line 1179
            aload 0 /* context */
            invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
        52: .line 1180
            ldc "android"
            bipush 64
        53: .line 1181
            iconst_0
        54: .line 1179
            invokevirtual android.content.pm.PackageManager.getPackageInfoAsUser:(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
        55: .line 1181
            getfield android.content.pm.PackageInfo.signatures:[Landroid/content/pm/Signature;
            iconst_0
        56: .line 1179
            aaload
            putstatic com.android.providers.settings.SettingsState.sSystemSignature:Landroid/content/pm/Signature;
        57: .line 1182
            goto 61
      StackMap locals:
      StackMap stack: android.content.pm.PackageManager$NameNotFoundException
        58: pop
        59: .line 1192
            lload 6 /* identity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
            aload 3
            monitorexit
        60: .line 1184
            iconst_0
            ireturn
        61: .line 1187
      StackMap locals:
      StackMap stack:
            getstatic com.android.providers.settings.SettingsState.sSystemSignature:Landroid/content/pm/Signature;
            aload 10 /* packageInfo */
            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: .line 1188
            getstatic com.android.providers.settings.SettingsState.sSystemUids:Landroid/util/SparseIntArray;
            iload 8 /* uid */
            iload 8 /* uid */
            invokevirtual android.util.SparseIntArray.put:(II)V
        63: .line 1192
            lload 6 /* identity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
            aload 3
            monitorexit
        64: .line 1189
            iconst_1
            ireturn
        end local 10 // android.content.pm.PackageInfo packageInfo
        end local 9 // android.content.pm.PackageManagerInternal packageManagerInternal
        end local 8 // int uid
        65: .line 1191
      StackMap locals: android.content.Context java.lang.String int java.lang.Object int int long
      StackMap stack: java.lang.Throwable
            astore 11
        66: .line 1192
            lload 6 /* identity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
        67: .line 1193
            aload 11
            athrow
        68: .line 1192
      StackMap locals:
      StackMap stack:
            lload 6 /* identity */
            invokestatic android.os.Binder.restoreCallingIdentity:(J)V
        69: .line 1195
            aload 3
            monitorexit
        70: iconst_0
            ireturn
        end local 6 // long identity
        end local 5 // int callingUserId
        end local 4 // int callingAppId
        71: .line 1106
      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 // int callingUid
        end local 1 // java.lang.String packageName
        end local 0 // android.content.Context context
      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