public class com.android.providers.settings.SettingsHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.android.providers.settings.SettingsHelper
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "SettingsHelper"

  private static final java.lang.String SILENT_RINGTONE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "_silent"

  private android.content.Context mContext;
    descriptor: Landroid/content/Context;
    flags: (0x0002) ACC_PRIVATE

  private android.media.AudioManager mAudioManager;
    descriptor: Landroid/media/AudioManager;
    flags: (0x0002) ACC_PRIVATE

  private android.telephony.TelephonyManager mTelephonyManager;
    descriptor: Landroid/telephony/TelephonyManager;
    flags: (0x0002) ACC_PRIVATE

  private static final android.util.ArraySet<java.lang.String> sBroadcastOnRestore;
    descriptor: Landroid/util/ArraySet;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Landroid/util/ArraySet<Ljava/lang/String;>;

  private static com.android.providers.settings.SettingsHelper$SettingsLookup sSystemLookup;
    descriptor: Lcom/android/providers/settings/SettingsHelper$SettingsLookup;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static com.android.providers.settings.SettingsHelper$SettingsLookup sSecureLookup;
    descriptor: Lcom/android/providers/settings/SettingsHelper$SettingsLookup;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static com.android.providers.settings.SettingsHelper$SettingsLookup sGlobalLookup;
    descriptor: Lcom/android/providers/settings/SettingsHelper$SettingsLookup;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 79
            new android.util.ArraySet
            dup
            iconst_4
            invokespecial android.util.ArraySet.<init>:(I)V
            putstatic com.android.providers.settings.SettingsHelper.sBroadcastOnRestore:Landroid/util/ArraySet;
         1: .line 80
            getstatic com.android.providers.settings.SettingsHelper.sBroadcastOnRestore:Landroid/util/ArraySet;
            ldc "enabled_notification_listeners"
            invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 81
            getstatic com.android.providers.settings.SettingsHelper.sBroadcastOnRestore:Landroid/util/ArraySet;
            ldc "enabled_vr_listeners"
            invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 82
            getstatic com.android.providers.settings.SettingsHelper.sBroadcastOnRestore:Landroid/util/ArraySet;
            ldc "enabled_accessibility_services"
            invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
            pop
         4: .line 83
            getstatic com.android.providers.settings.SettingsHelper.sBroadcastOnRestore:Landroid/util/ArraySet;
            ldc "bluetooth_on"
            invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
            pop
         5: .line 90
            new com.android.providers.settings.SettingsHelper$1
            dup
            invokespecial com.android.providers.settings.SettingsHelper$1.<init>:()V
            putstatic com.android.providers.settings.SettingsHelper.sSystemLookup:Lcom/android/providers/settings/SettingsHelper$SettingsLookup;
         6: .line 96
            new com.android.providers.settings.SettingsHelper$2
            dup
            invokespecial com.android.providers.settings.SettingsHelper$2.<init>:()V
            putstatic com.android.providers.settings.SettingsHelper.sSecureLookup:Lcom/android/providers/settings/SettingsHelper$SettingsLookup;
         7: .line 102
            new com.android.providers.settings.SettingsHelper$3
            dup
            invokespecial com.android.providers.settings.SettingsHelper$3.<init>:()V
            putstatic com.android.providers.settings.SettingsHelper.sGlobalLookup:Lcom/android/providers/settings/SettingsHelper$SettingsLookup;
         8: .line 106
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.android.providers.settings.SettingsHelper this
        start local 1 // android.content.Context context
         0: .line 108
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 109
            aload 0 /* this */
            aload 1 /* context */
            putfield com.android.providers.settings.SettingsHelper.mContext:Landroid/content/Context;
         2: .line 110
            aload 0 /* this */
            aload 1 /* context */
         3: .line 111
            ldc "audio"
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast android.media.AudioManager
         4: .line 110
            putfield com.android.providers.settings.SettingsHelper.mAudioManager:Landroid/media/AudioManager;
         5: .line 112
            aload 0 /* this */
            aload 1 /* context */
         6: .line 113
            ldc "phone"
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast android.telephony.TelephonyManager
         7: .line 112
            putfield com.android.providers.settings.SettingsHelper.mTelephonyManager:Landroid/telephony/TelephonyManager;
         8: .line 114
            return
        end local 1 // android.content.Context context
        end local 0 // com.android.providers.settings.SettingsHelper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lcom/android/providers/settings/SettingsHelper;
            0    9     1  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  

  public void restoreValue(android.content.Context, android.content.ContentResolver, android.content.ContentValues, android.net.Uri, java.lang.String, java.lang.String, int);
    descriptor: (Landroid/content/Context;Landroid/content/ContentResolver;Landroid/content/ContentValues;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=13, args_size=8
        start local 0 // com.android.providers.settings.SettingsHelper this
        start local 1 // android.content.Context context
        start local 2 // android.content.ContentResolver cr
        start local 3 // android.content.ContentValues contentValues
        start local 4 // android.net.Uri destination
        start local 5 // java.lang.String name
        start local 6 // java.lang.String value
        start local 7 // int restoredFromSdkInt
         0: .line 128
            aconst_null
            astore 8 /* oldValue */
        start local 8 // java.lang.String oldValue
         1: .line 129
            iconst_0
            istore 9 /* sendBroadcast */
        start local 9 // boolean sendBroadcast
         2: .line 132
            aload 4 /* destination */
            getstatic android.provider.Settings$Secure.CONTENT_URI:Landroid/net/Uri;
            invokevirtual android.net.Uri.equals:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 133
            getstatic com.android.providers.settings.SettingsHelper.sSecureLookup:Lcom/android/providers/settings/SettingsHelper$SettingsLookup;
            astore 10 /* table */
        start local 10 // com.android.providers.settings.SettingsHelper$SettingsLookup table
         4: .line 134
            goto 9
        end local 10 // com.android.providers.settings.SettingsHelper$SettingsLookup table
      StackMap locals: java.lang.String int
      StackMap stack:
         5: aload 4 /* destination */
            getstatic android.provider.Settings$System.CONTENT_URI:Landroid/net/Uri;
            invokevirtual android.net.Uri.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 135
            getstatic com.android.providers.settings.SettingsHelper.sSystemLookup:Lcom/android/providers/settings/SettingsHelper$SettingsLookup;
            astore 10 /* table */
        start local 10 // com.android.providers.settings.SettingsHelper$SettingsLookup table
         7: .line 136
            goto 9
        end local 10 // com.android.providers.settings.SettingsHelper$SettingsLookup table
         8: .line 137
      StackMap locals:
      StackMap stack:
            getstatic com.android.providers.settings.SettingsHelper.sGlobalLookup:Lcom/android/providers/settings/SettingsHelper$SettingsLookup;
            astore 10 /* table */
        start local 10 // com.android.providers.settings.SettingsHelper$SettingsLookup table
         9: .line 140
      StackMap locals: com.android.providers.settings.SettingsHelper$SettingsLookup
      StackMap stack:
            getstatic com.android.providers.settings.SettingsHelper.sBroadcastOnRestore:Landroid/util/ArraySet;
            aload 5 /* name */
            invokevirtual android.util.ArraySet.contains:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 142
            aload 10 /* table */
            aload 2 /* cr */
            aload 5 /* name */
            iconst_0
            invokeinterface com.android.providers.settings.SettingsHelper$SettingsLookup.lookup:(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
            astore 8 /* oldValue */
        11: .line 143
            iconst_1
            istore 9 /* sendBroadcast */
        12: .line 147
      StackMap locals:
      StackMap stack:
            ldc "sound_effects_enabled"
            aload 5 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        13: .line 148
            aload 0 /* this */
            aload 6 /* value */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            iconst_1
            if_icmpne 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack: com.android.providers.settings.SettingsHelper
        14: iconst_0
      StackMap locals: com.android.providers.settings.SettingsHelper android.content.Context android.content.ContentResolver android.content.ContentValues android.net.Uri java.lang.String java.lang.String int java.lang.String int com.android.providers.settings.SettingsHelper$SettingsLookup
      StackMap stack: com.android.providers.settings.SettingsHelper int
        15: invokevirtual com.android.providers.settings.SettingsHelper.setSoundEffects:(Z)V
        16: .line 150
            goto 58
      StackMap locals:
      StackMap stack:
        17: ldc "location_providers_allowed"
            aload 5 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        18: .line 151
            aload 0 /* this */
            aload 6 /* value */
            invokevirtual com.android.providers.settings.SettingsHelper.setGpsLocation:(Ljava/lang/String;)V
        19: .line 175
            iload 9 /* sendBroadcast */
            ifeq 28
        20: .line 176
            new android.content.Intent
            dup
            ldc "android.os.action.SETTING_RESTORED"
            invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
        21: .line 177
            ldc "android"
            invokevirtual android.content.Intent.setPackage:(Ljava/lang/String;)Landroid/content/Intent;
            ldc 1073741824
            invokevirtual android.content.Intent.addFlags:(I)Landroid/content/Intent;
        22: .line 178
            ldc "setting_name"
            aload 5 /* name */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        23: .line 179
            ldc "new_value"
            aload 6 /* value */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        24: .line 180
            ldc "previous_value"
            aload 8 /* oldValue */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        25: .line 181
            ldc "restored_from_sdk_int"
            iload 7 /* restoredFromSdkInt */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;I)Landroid/content/Intent;
        26: .line 176
            astore 12 /* intent */
        start local 12 // android.content.Intent intent
        27: .line 182
            aload 1 /* context */
            aload 12 /* intent */
            getstatic android.os.UserHandle.SYSTEM:Landroid/os/UserHandle;
            aconst_null
            invokevirtual android.content.Context.sendBroadcastAsUser:(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V
        end local 12 // android.content.Intent intent
        28: .line 152
      StackMap locals:
      StackMap stack:
            return
        29: .line 153
      StackMap locals:
      StackMap stack:
            ldc "backup_auto_restore"
            aload 5 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 34
        30: .line 154
            aload 0 /* this */
            aload 6 /* value */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            iconst_1
            if_icmpne 31
            iconst_1
            goto 32
      StackMap locals:
      StackMap stack: com.android.providers.settings.SettingsHelper
        31: iconst_0
      StackMap locals: com.android.providers.settings.SettingsHelper android.content.Context android.content.ContentResolver android.content.ContentValues android.net.Uri java.lang.String java.lang.String int java.lang.String int com.android.providers.settings.SettingsHelper$SettingsLookup
      StackMap stack: com.android.providers.settings.SettingsHelper int
        32: invokevirtual com.android.providers.settings.SettingsHelper.setAutoRestore:(Z)V
        33: .line 155
            goto 58
      StackMap locals:
      StackMap stack:
        34: aload 0 /* this */
            aload 5 /* name */
            invokevirtual com.android.providers.settings.SettingsHelper.isAlreadyConfiguredCriticalAccessibilitySetting:(Ljava/lang/String;)Z
            ifeq 45
        35: .line 175
            iload 9 /* sendBroadcast */
            ifeq 44
        36: .line 176
            new android.content.Intent
            dup
            ldc "android.os.action.SETTING_RESTORED"
            invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
        37: .line 177
            ldc "android"
            invokevirtual android.content.Intent.setPackage:(Ljava/lang/String;)Landroid/content/Intent;
            ldc 1073741824
            invokevirtual android.content.Intent.addFlags:(I)Landroid/content/Intent;
        38: .line 178
            ldc "setting_name"
            aload 5 /* name */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        39: .line 179
            ldc "new_value"
            aload 6 /* value */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        40: .line 180
            ldc "previous_value"
            aload 8 /* oldValue */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        41: .line 181
            ldc "restored_from_sdk_int"
            iload 7 /* restoredFromSdkInt */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;I)Landroid/content/Intent;
        42: .line 176
            astore 12 /* intent */
        start local 12 // android.content.Intent intent
        43: .line 182
            aload 1 /* context */
            aload 12 /* intent */
            getstatic android.os.UserHandle.SYSTEM:Landroid/os/UserHandle;
            aconst_null
            invokevirtual android.content.Context.sendBroadcastAsUser:(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V
        end local 12 // android.content.Intent intent
        44: .line 156
      StackMap locals:
      StackMap stack:
            return
        45: .line 157
      StackMap locals:
      StackMap stack:
            ldc "ringtone"
            aload 5 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 47
        46: .line 158
            ldc "notification_sound"
            aload 5 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 58
        47: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* name */
            aload 6 /* value */
            invokevirtual com.android.providers.settings.SettingsHelper.setRingtone:(Ljava/lang/String;Ljava/lang/String;)V
        48: .line 175
            iload 9 /* sendBroadcast */
            ifeq 57
        49: .line 176
            new android.content.Intent
            dup
            ldc "android.os.action.SETTING_RESTORED"
            invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
        50: .line 177
            ldc "android"
            invokevirtual android.content.Intent.setPackage:(Ljava/lang/String;)Landroid/content/Intent;
            ldc 1073741824
            invokevirtual android.content.Intent.addFlags:(I)Landroid/content/Intent;
        51: .line 178
            ldc "setting_name"
            aload 5 /* name */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        52: .line 179
            ldc "new_value"
            aload 6 /* value */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        53: .line 180
            ldc "previous_value"
            aload 8 /* oldValue */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        54: .line 181
            ldc "restored_from_sdk_int"
            iload 7 /* restoredFromSdkInt */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;I)Landroid/content/Intent;
        55: .line 176
            astore 12 /* intent */
        start local 12 // android.content.Intent intent
        56: .line 182
            aload 1 /* context */
            aload 12 /* intent */
            getstatic android.os.UserHandle.SYSTEM:Landroid/os/UserHandle;
            aconst_null
            invokevirtual android.content.Context.sendBroadcastAsUser:(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V
        end local 12 // android.content.Intent intent
        57: .line 160
      StackMap locals:
      StackMap stack:
            return
        58: .line 164
      StackMap locals:
      StackMap stack:
            aload 3 /* contentValues */
            invokevirtual android.content.ContentValues.clear:()V
        59: .line 165
            aload 3 /* contentValues */
            ldc "name"
            aload 5 /* name */
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/String;)V
        60: .line 166
            aload 3 /* contentValues */
            ldc "value"
            aload 6 /* value */
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/String;)V
        61: .line 167
            aload 2 /* cr */
            aload 4 /* destination */
            aload 3 /* contentValues */
            invokevirtual android.content.ContentResolver.insert:(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
            pop
        62: .line 168
            goto 86
      StackMap locals:
      StackMap stack: java.lang.Exception
        63: pop
        64: .line 170
            iconst_0
            istore 9 /* sendBroadcast */
        65: .line 175
            iload 9 /* sendBroadcast */
            ifeq 95
        66: .line 176
            new android.content.Intent
            dup
            ldc "android.os.action.SETTING_RESTORED"
            invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
        67: .line 177
            ldc "android"
            invokevirtual android.content.Intent.setPackage:(Ljava/lang/String;)Landroid/content/Intent;
            ldc 1073741824
            invokevirtual android.content.Intent.addFlags:(I)Landroid/content/Intent;
        68: .line 178
            ldc "setting_name"
            aload 5 /* name */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        69: .line 179
            ldc "new_value"
            aload 6 /* value */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        70: .line 180
            ldc "previous_value"
            aload 8 /* oldValue */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        71: .line 181
            ldc "restored_from_sdk_int"
            iload 7 /* restoredFromSdkInt */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;I)Landroid/content/Intent;
        72: .line 176
            astore 12 /* intent */
        start local 12 // android.content.Intent intent
        73: .line 182
            aload 1 /* context */
            aload 12 /* intent */
            getstatic android.os.UserHandle.SYSTEM:Landroid/os/UserHandle;
            aconst_null
            invokevirtual android.content.Context.sendBroadcastAsUser:(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V
        end local 12 // android.content.Intent intent
        74: goto 95
        75: .line 171
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        76: .line 175
            iload 9 /* sendBroadcast */
            ifeq 85
        77: .line 176
            new android.content.Intent
            dup
            ldc "android.os.action.SETTING_RESTORED"
            invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
        78: .line 177
            ldc "android"
            invokevirtual android.content.Intent.setPackage:(Ljava/lang/String;)Landroid/content/Intent;
            ldc 1073741824
            invokevirtual android.content.Intent.addFlags:(I)Landroid/content/Intent;
        79: .line 178
            ldc "setting_name"
            aload 5 /* name */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        80: .line 179
            ldc "new_value"
            aload 6 /* value */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        81: .line 180
            ldc "previous_value"
            aload 8 /* oldValue */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        82: .line 181
            ldc "restored_from_sdk_int"
            iload 7 /* restoredFromSdkInt */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;I)Landroid/content/Intent;
        83: .line 176
            astore 12 /* intent */
        start local 12 // android.content.Intent intent
        84: .line 182
            aload 1 /* context */
            aload 12 /* intent */
            getstatic android.os.UserHandle.SYSTEM:Landroid/os/UserHandle;
            aconst_null
            invokevirtual android.content.Context.sendBroadcastAsUser:(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V
        end local 12 // android.content.Intent intent
        85: .line 184
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 11
            athrow
        86: .line 175
      StackMap locals:
      StackMap stack:
            iload 9 /* sendBroadcast */
            ifeq 95
        87: .line 176
            new android.content.Intent
            dup
            ldc "android.os.action.SETTING_RESTORED"
            invokespecial android.content.Intent.<init>:(Ljava/lang/String;)V
        88: .line 177
            ldc "android"
            invokevirtual android.content.Intent.setPackage:(Ljava/lang/String;)Landroid/content/Intent;
            ldc 1073741824
            invokevirtual android.content.Intent.addFlags:(I)Landroid/content/Intent;
        89: .line 178
            ldc "setting_name"
            aload 5 /* name */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        90: .line 179
            ldc "new_value"
            aload 6 /* value */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        91: .line 180
            ldc "previous_value"
            aload 8 /* oldValue */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
        92: .line 181
            ldc "restored_from_sdk_int"
            iload 7 /* restoredFromSdkInt */
            invokevirtual android.content.Intent.putExtra:(Ljava/lang/String;I)Landroid/content/Intent;
        93: .line 176
            astore 12 /* intent */
        start local 12 // android.content.Intent intent
        94: .line 182
            aload 1 /* context */
            aload 12 /* intent */
            getstatic android.os.UserHandle.SYSTEM:Landroid/os/UserHandle;
            aconst_null
            invokevirtual android.content.Context.sendBroadcastAsUser:(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V
        end local 12 // android.content.Intent intent
        95: .line 185
      StackMap locals:
      StackMap stack:
            return
        end local 10 // com.android.providers.settings.SettingsHelper$SettingsLookup table
        end local 9 // boolean sendBroadcast
        end local 8 // java.lang.String oldValue
        end local 7 // int restoredFromSdkInt
        end local 6 // java.lang.String value
        end local 5 // java.lang.String name
        end local 4 // android.net.Uri destination
        end local 3 // android.content.ContentValues contentValues
        end local 2 // android.content.ContentResolver cr
        end local 1 // android.content.Context context
        end local 0 // com.android.providers.settings.SettingsHelper this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   96     0                this  Lcom/android/providers/settings/SettingsHelper;
            0   96     1             context  Landroid/content/Context;
            0   96     2                  cr  Landroid/content/ContentResolver;
            0   96     3       contentValues  Landroid/content/ContentValues;
            0   96     4         destination  Landroid/net/Uri;
            0   96     5                name  Ljava/lang/String;
            0   96     6               value  Ljava/lang/String;
            0   96     7  restoredFromSdkInt  I
            1   96     8            oldValue  Ljava/lang/String;
            2   96     9       sendBroadcast  Z
            4    5    10               table  Lcom/android/providers/settings/SettingsHelper$SettingsLookup;
            7    8    10               table  Lcom/android/providers/settings/SettingsHelper$SettingsLookup;
            9   96    10               table  Lcom/android/providers/settings/SettingsHelper$SettingsLookup;
           27   28    12              intent  Landroid/content/Intent;
           43   44    12              intent  Landroid/content/Intent;
           56   57    12              intent  Landroid/content/Intent;
           73   74    12              intent  Landroid/content/Intent;
           84   85    12              intent  Landroid/content/Intent;
           94   95    12              intent  Landroid/content/Intent;
      Exception table:
        from    to  target  type
          12    19      63  Class java.lang.Exception
          29    35      63  Class java.lang.Exception
          45    48      63  Class java.lang.Exception
          58    62      63  Class java.lang.Exception
          12    19      75  any
          29    35      75  any
          45    48      75  any
          58    65      75  any
    MethodParameters:
                    Name  Flags
      context             
      cr                  
      contentValues       
      destination         
      name                
      value               
      restoredFromSdkInt  

  public java.lang.String onBackupValue(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.android.providers.settings.SettingsHelper this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
         0: .line 189
            ldc "ringtone"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 190
            ldc "notification_sound"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         2: .line 191
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ifnonnull 8
         3: .line 192
            ldc "ringtone"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         4: .line 194
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mTelephonyManager:Landroid/telephony/TelephonyManager;
            ifnull 6
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mTelephonyManager:Landroid/telephony/TelephonyManager;
            invokevirtual android.telephony.TelephonyManager.isVoiceCapable:()Z
            ifeq 6
         5: .line 196
            ldc "_silent"
            areturn
         6: .line 199
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         7: .line 203
      StackMap locals:
      StackMap stack:
            ldc "_silent"
            areturn
         8: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual com.android.providers.settings.SettingsHelper.getCanonicalRingtoneValue:(Ljava/lang/String;)Ljava/lang/String;
            areturn
         9: .line 210
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // com.android.providers.settings.SettingsHelper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/android/providers/settings/SettingsHelper;
            0   10     1   name  Ljava/lang/String;
            0   10     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      name   
      value  

  private void setRingtone(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.android.providers.settings.SettingsHelper this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
         0: .line 221
            aload 2 /* value */
            ifnonnull 1
            return
         1: .line 222
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* ringtoneUri */
        start local 3 // android.net.Uri ringtoneUri
         2: .line 223
            ldc "_silent"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 224
            aconst_null
            astore 3 /* ringtoneUri */
         4: .line 225
            goto 9
         5: .line 226
      StackMap locals: android.net.Uri
      StackMap stack:
            aload 2 /* value */
            invokestatic android.net.Uri.parse:(Ljava/lang/String;)Landroid/net/Uri;
            astore 4 /* canonicalUri */
        start local 4 // android.net.Uri canonicalUri
         6: .line 227
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
            aload 4 /* canonicalUri */
            invokevirtual android.content.ContentResolver.uncanonicalize:(Landroid/net/Uri;)Landroid/net/Uri;
            astore 3 /* ringtoneUri */
         7: .line 228
            aload 3 /* ringtoneUri */
            ifnonnull 9
         8: .line 230
            return
        end local 4 // android.net.Uri canonicalUri
         9: .line 233
      StackMap locals:
      StackMap stack:
            ldc "ringtone"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 234
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_2
        12: .line 233
      StackMap locals:
      StackMap stack: int
            istore 4 /* ringtoneType */
        start local 4 // int ringtoneType
        13: .line 235
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mContext:Landroid/content/Context;
            iload 4 /* ringtoneType */
            aload 3 /* ringtoneUri */
            invokestatic android.media.RingtoneManager.setActualDefaultRingtoneUri:(Landroid/content/Context;ILandroid/net/Uri;)V
        14: .line 236
            return
        end local 4 // int ringtoneType
        end local 3 // android.net.Uri ringtoneUri
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // com.android.providers.settings.SettingsHelper this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lcom/android/providers/settings/SettingsHelper;
            0   15     1          name  Ljava/lang/String;
            0   15     2         value  Ljava/lang/String;
            2   15     3   ringtoneUri  Landroid/net/Uri;
            6    9     4  canonicalUri  Landroid/net/Uri;
           13   15     4  ringtoneType  I
    MethodParameters:
       Name  Flags
      name   
      value  

  private java.lang.String getCanonicalRingtoneValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.android.providers.settings.SettingsHelper this
        start local 1 // java.lang.String value
         0: .line 239
            aload 1 /* value */
            invokestatic android.net.Uri.parse:(Ljava/lang/String;)Landroid/net/Uri;
            astore 2 /* ringtoneUri */
        start local 2 // android.net.Uri ringtoneUri
         1: .line 240
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
            aload 2 /* ringtoneUri */
            invokevirtual android.content.ContentResolver.canonicalize:(Landroid/net/Uri;)Landroid/net/Uri;
            astore 3 /* canonicalUri */
        start local 3 // android.net.Uri canonicalUri
         2: .line 241
            aload 3 /* canonicalUri */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: android.net.Uri android.net.Uri
      StackMap stack:
         3: aload 3 /* canonicalUri */
            invokevirtual android.net.Uri.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: areturn
        end local 3 // android.net.Uri canonicalUri
        end local 2 // android.net.Uri ringtoneUri
        end local 1 // java.lang.String value
        end local 0 // com.android.providers.settings.SettingsHelper this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lcom/android/providers/settings/SettingsHelper;
            0    5     1         value  Ljava/lang/String;
            1    5     2   ringtoneUri  Landroid/net/Uri;
            2    5     3  canonicalUri  Landroid/net/Uri;
    MethodParameters:
       Name  Flags
      value  

  private boolean isAlreadyConfiguredCriticalAccessibilitySetting(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.android.providers.settings.SettingsHelper this
        start local 1 // java.lang.String name
         0: .line 251
            aload 1 /* name */
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 12
          -1403807640: 1
           -775335187: 2
           -686921934: 3
           -492650150: 4
           -101669152: 5
            483353904: 6
            793846821: 7
           1186889717: 8
           1769194832: 9
           1825588431: 10
           1854675799: 11
           2145945916: 12
              default: 23
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 2
            ldc "speak_password"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 23
      StackMap locals:
      StackMap stack:
         2: aload 2
            ldc "enabled_accessibility_services"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 23
      StackMap locals:
      StackMap stack:
         3: aload 2
            ldc "accessibility_display_daltonizer_enabled"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 23
      StackMap locals:
      StackMap stack:
         4: aload 2
            ldc "font_scale"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 23
      StackMap locals:
      StackMap stack:
         5: aload 2
            ldc "accessibility_display_magnification_scale"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 23
      StackMap locals:
      StackMap stack:
         6: aload 2
            ldc "accessibility_display_daltonizer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 23
      StackMap locals:
      StackMap stack:
         7: aload 2
            ldc "touch_exploration_enabled"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 23
      StackMap locals:
      StackMap stack:
         8: aload 2
            ldc "ui_night_mode"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 23
      StackMap locals:
      StackMap stack:
         9: aload 2
            ldc "accessibility_enabled"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 23
      StackMap locals:
      StackMap stack:
        10: aload 2
            ldc "touch_exploration_granted_accessibility_services"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 23
      StackMap locals:
      StackMap stack:
        11: aload 2
            ldc "accessibility_display_magnification_enabled"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 23
      StackMap locals:
      StackMap stack:
        12: aload 2
            ldc "accessibility_display_magnification_navbar_enabled"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 23
        13: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
            aload 1 /* name */
            iconst_0
            invokestatic android.provider.Settings$Secure.getInt:(Landroid/content/ContentResolver;Ljava/lang/String;I)I
            ifeq 14
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        14: iconst_0
            ireturn
        15: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
            aload 1 /* name */
        16: .line 264
            invokestatic android.provider.Settings$Secure.getString:(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
        17: .line 265
            ifeq 19
        18: .line 264
            iconst_0
            goto 20
      StackMap locals:
      StackMap stack:
        19: iconst_1
      StackMap locals:
      StackMap stack: int
        20: ireturn
        21: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getContentResolver:()Landroid/content/ContentResolver;
            aload 1 /* name */
            fconst_1
            invokestatic android.provider.Settings$System.getFloat:(Landroid/content/ContentResolver;Ljava/lang/String;F)F
            fconst_1
            fcmpl
            ifeq 22
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        22: iconst_0
            ireturn
        23: .line 269
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String name
        end local 0 // com.android.providers.settings.SettingsHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Lcom/android/providers/settings/SettingsHelper;
            0   24     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private void setAutoRestore(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.android.providers.settings.SettingsHelper this
        start local 1 // boolean enabled
         0: .line 276
            ldc "backup"
            invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
         1: .line 275
            invokestatic android.app.backup.IBackupManager$Stub.asInterface:(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager;
            astore 2 /* bm */
        start local 2 // android.app.backup.IBackupManager bm
         2: .line 277
            aload 2 /* bm */
            ifnull 6
         3: .line 278
            aload 2 /* bm */
            iload 1 /* enabled */
            invokeinterface android.app.backup.IBackupManager.setAutoRestore:(Z)V
        end local 2 // android.app.backup.IBackupManager bm
         4: .line 280
            goto 6
      StackMap locals:
      StackMap stack: android.os.RemoteException
         5: pop
         6: .line 281
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean enabled
        end local 0 // com.android.providers.settings.SettingsHelper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/android/providers/settings/SettingsHelper;
            0    7     1  enabled  Z
            2    4     2       bm  Landroid/app/backup/IBackupManager;
      Exception table:
        from    to  target  type
           0     4       5  Class android.os.RemoteException
    MethodParameters:
         Name  Flags
      enabled  

  private void setGpsLocation(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.android.providers.settings.SettingsHelper this
        start local 1 // java.lang.String value
         0: .line 284
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mContext:Landroid/content/Context;
            ldc "user"
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast android.os.UserManager
            astore 2 /* um */
        start local 2 // android.os.UserManager um
         1: .line 285
            aload 2 /* um */
            ldc "no_share_location"
            invokevirtual android.os.UserManager.hasUserRestriction:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 286
            return
         3: .line 290
      StackMap locals: android.os.UserManager
      StackMap stack:
            ldc "gps"
            aload 1 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         4: .line 291
            aload 1 /* value */
            ldc "gps,"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
         5: .line 292
            aload 1 /* value */
            ldc ",gps"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 8
         6: .line 293
            aload 1 /* value */
            ldc ",gps,"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 8
         7: .line 289
            iconst_0
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: istore 3 /* enabled */
        start local 3 // boolean enabled
        10: .line 294
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mContext:Landroid/content/Context;
            ldc "location"
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast android.location.LocationManager
            astore 4 /* lm */
        start local 4 // android.location.LocationManager lm
        11: .line 295
            aload 4 /* lm */
            ldc "gps"
            iload 3 /* enabled */
            invokestatic android.os.Process.myUserHandle:()Landroid/os/UserHandle;
            invokevirtual android.location.LocationManager.setProviderEnabledForUser:(Ljava/lang/String;ZLandroid/os/UserHandle;)Z
            pop
        12: .line 296
            return
        end local 4 // android.location.LocationManager lm
        end local 3 // boolean enabled
        end local 2 // android.os.UserManager um
        end local 1 // java.lang.String value
        end local 0 // com.android.providers.settings.SettingsHelper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/android/providers/settings/SettingsHelper;
            0   13     1    value  Ljava/lang/String;
            1   13     2       um  Landroid/os/UserManager;
           10   13     3  enabled  Z
           11   13     4       lm  Landroid/location/LocationManager;
    MethodParameters:
       Name  Flags
      value  

  private void setSoundEffects(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.android.providers.settings.SettingsHelper this
        start local 1 // boolean enable
         0: .line 299
            iload 1 /* enable */
            ifeq 3
         1: .line 300
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mAudioManager:Landroid/media/AudioManager;
            invokevirtual android.media.AudioManager.loadSoundEffects:()V
         2: .line 301
            goto 4
         3: .line 302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mAudioManager:Landroid/media/AudioManager;
            invokevirtual android.media.AudioManager.unloadSoundEffects:()V
         4: .line 304
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean enable
        end local 0 // com.android.providers.settings.SettingsHelper this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/android/providers/settings/SettingsHelper;
            0    5     1  enable  Z
    MethodParameters:
        Name  Flags
      enable  

  byte[] getLocaleData();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.android.providers.settings.SettingsHelper this
         0: .line 307
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
            invokevirtual android.content.res.Resources.getConfiguration:()Landroid/content/res/Configuration;
            astore 1 /* conf */
        start local 1 // android.content.res.Configuration conf
         1: .line 308
            aload 1 /* conf */
            invokevirtual android.content.res.Configuration.getLocales:()Landroid/os/LocaleList;
            invokevirtual android.os.LocaleList.toLanguageTags:()Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            areturn
        end local 1 // android.content.res.Configuration conf
        end local 0 // com.android.providers.settings.SettingsHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/android/providers/settings/SettingsHelper;
            1    2     1  conf  Landroid/content/res/Configuration;

  private static java.util.Locale toFullLocale(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/util/Locale;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 313
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tULocale cannot be resolved\n\tULocale cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
        Name  Flags
      locale  

  public static android.os.LocaleList resolveLocales(android.os.LocaleList, android.os.LocaleList, java.lang.String[]);
    descriptor: (Landroid/os/LocaleList;Landroid/os/LocaleList;[Ljava/lang/String;)Landroid/os/LocaleList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // android.os.LocaleList restore
        start local 1 // android.os.LocaleList current
        start local 2 // java.lang.String[] supportedLocales
         0: .line 345
            new java.util.HashMap
            dup
            aload 2 /* supportedLocales */
            arraylength
            invokespecial java.util.HashMap.<init>:(I)V
            astore 3 /* allLocales */
        start local 3 // java.util.HashMap allLocales
         1: .line 346
            aload 2 /* supportedLocales */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 6
      StackMap locals: android.os.LocaleList android.os.LocaleList java.lang.String[] java.util.HashMap top int int java.lang.String[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* supportedLocaleStr */
        start local 4 // java.lang.String supportedLocaleStr
         3: .line 347
            aload 4 /* supportedLocaleStr */
            invokestatic java.util.Locale.forLanguageTag:(Ljava/lang/String;)Ljava/util/Locale;
            astore 8 /* locale */
        start local 8 // java.util.Locale locale
         4: .line 348
            aload 3 /* allLocales */
            aload 8 /* locale */
            invokestatic com.android.providers.settings.SettingsHelper.toFullLocale:(Ljava/util/Locale;)Ljava/util/Locale;
            aload 8 /* locale */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.util.Locale locale
        end local 4 // java.lang.String supportedLocaleStr
         5: .line 346
            iinc 5 1
      StackMap locals:
      StackMap stack:
         6: iload 5
            iload 6
            if_icmplt 2
         7: .line 351
            new java.util.ArrayList
            dup
            aload 1 /* current */
            invokevirtual android.os.LocaleList.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* filtered */
        start local 4 // java.util.ArrayList filtered
         8: .line 352
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 14
        10: .line 353
      StackMap locals: android.os.LocaleList android.os.LocaleList java.lang.String[] java.util.HashMap java.util.ArrayList int
      StackMap stack:
            aload 1 /* current */
            iload 5 /* i */
            invokevirtual android.os.LocaleList.get:(I)Ljava/util/Locale;
            astore 6 /* locale */
        start local 6 // java.util.Locale locale
        11: .line 354
            aload 3 /* allLocales */
            aload 6 /* locale */
            invokestatic com.android.providers.settings.SettingsHelper.toFullLocale:(Ljava/util/Locale;)Ljava/util/Locale;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 355
            aload 4 /* filtered */
            aload 6 /* locale */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.util.Locale locale
        13: .line 352
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            aload 1 /* current */
            invokevirtual android.os.LocaleList.size:()I
            if_icmplt 10
        end local 5 // int i
        15: .line 358
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        16: goto 21
        17: .line 359
      StackMap locals:
      StackMap stack:
            aload 3 /* allLocales */
            aload 0 /* restore */
            iload 5 /* i */
            invokevirtual android.os.LocaleList.get:(I)Ljava/util/Locale;
            invokestatic com.android.providers.settings.SettingsHelper.toFullLocale:(Ljava/util/Locale;)Ljava/util/Locale;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Locale
            astore 6 /* locale */
        start local 6 // java.util.Locale locale
        18: .line 360
            aload 6 /* locale */
            ifnull 20
        19: .line 361
            aload 4 /* filtered */
            aload 6 /* locale */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.util.Locale locale
        20: .line 358
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            aload 0 /* restore */
            invokevirtual android.os.LocaleList.size:()I
            if_icmplt 17
        end local 5 // int i
        22: .line 365
            aload 4 /* filtered */
            invokevirtual java.util.ArrayList.size:()I
            aload 1 /* current */
            invokevirtual android.os.LocaleList.size:()I
            if_icmpne 24
        23: .line 366
            aload 1 /* current */
            areturn
        24: .line 369
      StackMap locals:
      StackMap stack:
            new android.os.LocaleList
            dup
            aload 4 /* filtered */
            aload 4 /* filtered */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.util.Locale
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.util.Locale[]
            invokespecial android.os.LocaleList.<init>:([Ljava/util/Locale;)V
            areturn
        end local 4 // java.util.ArrayList filtered
        end local 3 // java.util.HashMap allLocales
        end local 2 // java.lang.String[] supportedLocales
        end local 1 // android.os.LocaleList current
        end local 0 // android.os.LocaleList restore
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   25     0             restore  Landroid/os/LocaleList;
            0   25     1             current  Landroid/os/LocaleList;
            0   25     2    supportedLocales  [Ljava/lang/String;
            1   25     3          allLocales  Ljava/util/HashMap<Ljava/util/Locale;Ljava/util/Locale;>;
            3    5     4  supportedLocaleStr  Ljava/lang/String;
            4    5     8              locale  Ljava/util/Locale;
            8   25     4            filtered  Ljava/util/ArrayList<Ljava/util/Locale;>;
            9   15     5                   i  I
           11   13     6              locale  Ljava/util/Locale;
           16   22     5                   i  I
           18   20     6              locale  Ljava/util/Locale;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.android.internal.annotations.VisibleForTesting()
    MethodParameters:
                  Name  Flags
      restore           
      current           
      supportedLocales  

  void setLocaleData(byte[], int);
    descriptor: ([BI)V
    flags: (0x0000) 
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // com.android.providers.settings.SettingsHelper this
        start local 1 // byte[] data
        start local 2 // int size
         0: .line 381
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mContext:Landroid/content/Context;
            invokevirtual android.content.Context.getResources:()Landroid/content/res/Resources;
            invokevirtual android.content.res.Resources.getConfiguration:()Landroid/content/res/Configuration;
            astore 3 /* conf */
        start local 3 // android.content.res.Configuration conf
         1: .line 384
            new java.lang.String
            dup
            aload 1 /* data */
            iconst_0
            iload 2 /* size */
            invokespecial java.lang.String.<init>:([BII)V
            bipush 95
            bipush 45
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 4 /* localeCodes */
        start local 4 // java.lang.String localeCodes
         2: .line 385
            aload 4 /* localeCodes */
            invokestatic android.os.LocaleList.forLanguageTags:(Ljava/lang/String;)Landroid/os/LocaleList;
            astore 5 /* localeList */
        start local 5 // android.os.LocaleList localeList
         3: .line 386
            aload 5 /* localeList */
            invokevirtual android.os.LocaleList.isEmpty:()Z
            ifeq 5
         4: .line 387
            return
         5: .line 390
      StackMap locals: android.content.res.Configuration java.lang.String android.os.LocaleList
      StackMap stack:
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mContext:Landroid/content/Context;
            invokestatic com.android.internal.app.LocalePicker.getSupportedLocales:(Landroid/content/Context;)[Ljava/lang/String;
            astore 6 /* supportedLocales */
        start local 6 // java.lang.String[] supportedLocales
         6: .line 391
            aload 3 /* conf */
            invokevirtual android.content.res.Configuration.getLocales:()Landroid/os/LocaleList;
            astore 7 /* currentLocales */
        start local 7 // android.os.LocaleList currentLocales
         7: .line 393
            aload 5 /* localeList */
            aload 7 /* currentLocales */
            aload 6 /* supportedLocales */
            invokestatic com.android.providers.settings.SettingsHelper.resolveLocales:(Landroid/os/LocaleList;Landroid/os/LocaleList;[Ljava/lang/String;)Landroid/os/LocaleList;
            astore 8 /* merged */
        start local 8 // android.os.LocaleList merged
         8: .line 394
            aload 8 /* merged */
            aload 7 /* currentLocales */
            invokevirtual android.os.LocaleList.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 395
            return
        10: .line 399
      StackMap locals: java.lang.String[] android.os.LocaleList android.os.LocaleList
      StackMap stack:
            invokestatic android.app.ActivityManager.getService:()Landroid/app/IActivityManager;
            astore 9 /* am */
        start local 9 // android.app.IActivityManager am
        11: .line 400
            aload 9 /* am */
            invokeinterface android.app.IActivityManager.getConfiguration:()Landroid/content/res/Configuration;
            astore 10 /* config */
        start local 10 // android.content.res.Configuration config
        12: .line 401
            aload 10 /* config */
            aload 8 /* merged */
            invokevirtual android.content.res.Configuration.setLocales:(Landroid/os/LocaleList;)V
        13: .line 403
            aload 10 /* config */
            iconst_1
            putfield android.content.res.Configuration.userSetLocale:Z
        14: .line 405
            aload 9 /* am */
            aload 10 /* config */
            invokeinterface android.app.IActivityManager.updatePersistentConfiguration:(Landroid/content/res/Configuration;)V
        end local 10 // android.content.res.Configuration config
        end local 9 // android.app.IActivityManager am
        15: .line 406
            goto 17
      StackMap locals:
      StackMap stack: android.os.RemoteException
        16: pop
        17: .line 409
      StackMap locals:
      StackMap stack:
            return
        end local 8 // android.os.LocaleList merged
        end local 7 // android.os.LocaleList currentLocales
        end local 6 // java.lang.String[] supportedLocales
        end local 5 // android.os.LocaleList localeList
        end local 4 // java.lang.String localeCodes
        end local 3 // android.content.res.Configuration conf
        end local 2 // int size
        end local 1 // byte[] data
        end local 0 // com.android.providers.settings.SettingsHelper this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lcom/android/providers/settings/SettingsHelper;
            0   18     1              data  [B
            0   18     2              size  I
            1   18     3              conf  Landroid/content/res/Configuration;
            2   18     4       localeCodes  Ljava/lang/String;
            3   18     5        localeList  Landroid/os/LocaleList;
            6   18     6  supportedLocales  [Ljava/lang/String;
            7   18     7    currentLocales  Landroid/os/LocaleList;
            8   18     8            merged  Landroid/os/LocaleList;
           11   15     9                am  Landroid/app/IActivityManager;
           12   15    10            config  Landroid/content/res/Configuration;
      Exception table:
        from    to  target  type
          10    15      16  Class android.os.RemoteException
    MethodParameters:
      Name  Flags
      data  
      size  

  void applyAudioSettings();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.android.providers.settings.SettingsHelper this
         0: .line 416
            new android.media.AudioManager
            dup
            aload 0 /* this */
            getfield com.android.providers.settings.SettingsHelper.mContext:Landroid/content/Context;
            invokespecial android.media.AudioManager.<init>:(Landroid/content/Context;)V
            astore 1 /* am */
        start local 1 // android.media.AudioManager am
         1: .line 417
            aload 1 /* am */
            invokevirtual android.media.AudioManager.reloadAudioSettings:()V
         2: .line 418
            return
        end local 1 // android.media.AudioManager am
        end local 0 // com.android.providers.settings.SettingsHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/android/providers/settings/SettingsHelper;
            1    3     1    am  Landroid/media/AudioManager;
}
SourceFile: "SettingsHelper.java"
NestMembers:
  com.android.providers.settings.SettingsHelper$1  com.android.providers.settings.SettingsHelper$2  com.android.providers.settings.SettingsHelper$3  com.android.providers.settings.SettingsHelper$SettingsLookup
InnerClasses:
  public abstract Stub = android.app.backup.IBackupManager$Stub of android.app.backup.IBackupManager
  public final Secure = android.provider.Settings$Secure of android.provider.Settings
  public final System = android.provider.Settings$System of android.provider.Settings
  com.android.providers.settings.SettingsHelper$1
  com.android.providers.settings.SettingsHelper$2
  com.android.providers.settings.SettingsHelper$3
  private abstract SettingsLookup = com.android.providers.settings.SettingsHelper$SettingsLookup of com.android.providers.settings.SettingsHelper