public abstract class android.util.KeyValueSettingObserver
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.util.KeyValueSettingObserver
  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: "KeyValueSettingObserver"

  private final android.util.KeyValueListParser mParser;
    descriptor: Landroid/util/KeyValueListParser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.database.ContentObserver mObserver;
    descriptor: Landroid/database/ContentObserver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.content.ContentResolver mResolver;
    descriptor: Landroid/content/ContentResolver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.net.Uri mSettingUri;
    descriptor: Landroid/net/Uri;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(android.os.Handler, android.content.ContentResolver, android.net.Uri);
    descriptor: (Landroid/os/Handler;Landroid/content/ContentResolver;Landroid/net/Uri;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.util.KeyValueSettingObserver this
        start local 1 // android.os.Handler handler
        start local 2 // android.content.ContentResolver resolver
        start local 3 // android.net.Uri uri
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 42
            aload 0 /* this */
            new android.util.KeyValueListParser
            dup
            bipush 44
            invokespecial android.util.KeyValueListParser.<init>:(C)V
            putfield android.util.KeyValueSettingObserver.mParser:Landroid/util/KeyValueListParser;
         2: .line 50
            aload 0 /* this */
            new android.util.KeyValueSettingObserver$SettingObserver
            dup
            aload 0 /* this */
            aload 1 /* handler */
            invokespecial android.util.KeyValueSettingObserver$SettingObserver.<init>:(Landroid/util/KeyValueSettingObserver;Landroid/os/Handler;)V
            putfield android.util.KeyValueSettingObserver.mObserver:Landroid/database/ContentObserver;
         3: .line 51
            aload 0 /* this */
            aload 2 /* resolver */
            putfield android.util.KeyValueSettingObserver.mResolver:Landroid/content/ContentResolver;
         4: .line 52
            aload 0 /* this */
            aload 3 /* uri */
            putfield android.util.KeyValueSettingObserver.mSettingUri:Landroid/net/Uri;
         5: .line 53
            return
        end local 3 // android.net.Uri uri
        end local 2 // android.content.ContentResolver resolver
        end local 1 // android.os.Handler handler
        end local 0 // android.util.KeyValueSettingObserver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Landroid/util/KeyValueSettingObserver;
            0    6     1   handler  Landroid/os/Handler;
            0    6     2  resolver  Landroid/content/ContentResolver;
            0    6     3       uri  Landroid/net/Uri;
    MethodParameters:
          Name  Flags
      handler   
      resolver  
      uri       

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.util.KeyValueSettingObserver this
         0: .line 57
            aload 0 /* this */
            getfield android.util.KeyValueSettingObserver.mResolver:Landroid/content/ContentResolver;
            aload 0 /* this */
            getfield android.util.KeyValueSettingObserver.mSettingUri:Landroid/net/Uri;
            iconst_0
            aload 0 /* this */
            getfield android.util.KeyValueSettingObserver.mObserver:Landroid/database/ContentObserver;
            invokevirtual android.content.ContentResolver.registerContentObserver:(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
         1: .line 58
            aload 0 /* this */
            invokevirtual android.util.KeyValueSettingObserver.setParserValue:()V
         2: .line 59
            aload 0 /* this */
            aload 0 /* this */
            getfield android.util.KeyValueSettingObserver.mParser:Landroid/util/KeyValueListParser;
            invokevirtual android.util.KeyValueSettingObserver.update:(Landroid/util/KeyValueListParser;)V
         3: .line 60
            return
        end local 0 // android.util.KeyValueSettingObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/util/KeyValueSettingObserver;

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.util.KeyValueSettingObserver this
         0: .line 64
            aload 0 /* this */
            getfield android.util.KeyValueSettingObserver.mResolver:Landroid/content/ContentResolver;
            aload 0 /* this */
            getfield android.util.KeyValueSettingObserver.mObserver:Landroid/database/ContentObserver;
            invokevirtual android.content.ContentResolver.unregisterContentObserver:(Landroid/database/ContentObserver;)V
         1: .line 65
            return
        end local 0 // android.util.KeyValueSettingObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/util/KeyValueSettingObserver;

  public abstract java.lang.String getSettingValue(android.content.ContentResolver);
    descriptor: (Landroid/content/ContentResolver;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      resolver  

  private void setParserValue();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.util.KeyValueSettingObserver this
         0: .line 75
            aload 0 /* this */
            aload 0 /* this */
            getfield android.util.KeyValueSettingObserver.mResolver:Landroid/content/ContentResolver;
            invokevirtual android.util.KeyValueSettingObserver.getSettingValue:(Landroid/content/ContentResolver;)Ljava/lang/String;
            astore 1 /* setting */
        start local 1 // java.lang.String setting
         1: .line 77
            aload 0 /* this */
            getfield android.util.KeyValueSettingObserver.mParser:Landroid/util/KeyValueListParser;
            aload 1 /* setting */
            invokevirtual android.util.KeyValueListParser.setString:(Ljava/lang/String;)V
         2: .line 78
            goto 5
      StackMap locals: android.util.KeyValueSettingObserver java.lang.String
      StackMap stack: java.lang.IllegalArgumentException
         3: pop
         4: .line 79
            ldc "KeyValueSettingObserver"
            new java.lang.StringBuilder
            dup
            ldc "Malformed setting: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* setting */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         5: .line 81
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String setting
        end local 0 // android.util.KeyValueSettingObserver this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Landroid/util/KeyValueSettingObserver;
            1    6     1  setting  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.IllegalArgumentException

  public abstract void update(android.util.KeyValueListParser);
    descriptor: (Landroid/util/KeyValueListParser;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      parser  
}
SourceFile: "KeyValueSettingObserver.java"
NestMembers:
  android.util.KeyValueSettingObserver$SettingObserver
InnerClasses:
  private SettingObserver = android.util.KeyValueSettingObserver$SettingObserver of android.util.KeyValueSettingObserver