public class android.content.ContentQueryMap extends java.util.Observable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.content.ContentQueryMap
  super_class: java.util.Observable
{
  private volatile android.database.Cursor mCursor;
    descriptor: Landroid/database/Cursor;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private java.lang.String[] mColumnNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int mKeyColumn;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private android.os.Handler mHandlerForUpdateNotifications;
    descriptor: Landroid/os/Handler;
    flags: (0x0002) ACC_PRIVATE

  private boolean mKeepUpdated;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, android.content.ContentValues> mValues;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Landroid/content/ContentValues;>;

  private android.database.ContentObserver mContentObserver;
    descriptor: Landroid/database/ContentObserver;
    flags: (0x0002) ACC_PRIVATE

  private boolean mDirty;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(android.database.Cursor, java.lang.String, boolean, android.os.Handler);
    descriptor: (Landroid/database/Cursor;Ljava/lang/String;ZLandroid/os/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // android.content.ContentQueryMap this
        start local 1 // android.database.Cursor cursor
        start local 2 // java.lang.String columnNameOfKey
        start local 3 // boolean keepUpdated
        start local 4 // android.os.Handler handlerForUpdateNotifications
         0: .line 62
            aload 0 /* this */
            invokespecial java.util.Observable.<init>:()V
         1: .line 40
            aload 0 /* this */
            aconst_null
            putfield android.content.ContentQueryMap.mHandlerForUpdateNotifications:Landroid/os/Handler;
         2: .line 41
            aload 0 /* this */
            iconst_0
            putfield android.content.ContentQueryMap.mKeepUpdated:Z
         3: .line 43
            aload 0 /* this */
            aconst_null
            putfield android.content.ContentQueryMap.mValues:Ljava/util/Map;
         4: .line 48
            aload 0 /* this */
            iconst_0
            putfield android.content.ContentQueryMap.mDirty:Z
         5: .line 64
            aload 0 /* this */
            aload 1 /* cursor */
            putfield android.content.ContentQueryMap.mCursor:Landroid/database/Cursor;
         6: .line 65
            aload 0 /* this */
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mCursor:Landroid/database/Cursor;
            invokeinterface android.database.Cursor.getColumnNames:()[Ljava/lang/String;
            putfield android.content.ContentQueryMap.mColumnNames:[Ljava/lang/String;
         7: .line 66
            aload 0 /* this */
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mCursor:Landroid/database/Cursor;
            aload 2 /* columnNameOfKey */
            invokeinterface android.database.Cursor.getColumnIndexOrThrow:(Ljava/lang/String;)I
            putfield android.content.ContentQueryMap.mKeyColumn:I
         8: .line 67
            aload 0 /* this */
            aload 4 /* handlerForUpdateNotifications */
            putfield android.content.ContentQueryMap.mHandlerForUpdateNotifications:Landroid/os/Handler;
         9: .line 68
            aload 0 /* this */
            iload 3 /* keepUpdated */
            invokevirtual android.content.ContentQueryMap.setKeepUpdated:(Z)V
        10: .line 73
            iload 3 /* keepUpdated */
            ifne 12
        11: .line 74
            aload 0 /* this */
            aload 1 /* cursor */
            invokevirtual android.content.ContentQueryMap.readCursorIntoCache:(Landroid/database/Cursor;)V
        12: .line 76
      StackMap locals: android.content.ContentQueryMap android.database.Cursor java.lang.String int android.os.Handler
      StackMap stack:
            return
        end local 4 // android.os.Handler handlerForUpdateNotifications
        end local 3 // boolean keepUpdated
        end local 2 // java.lang.String columnNameOfKey
        end local 1 // android.database.Cursor cursor
        end local 0 // android.content.ContentQueryMap this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   13     0                           this  Landroid/content/ContentQueryMap;
            0   13     1                         cursor  Landroid/database/Cursor;
            0   13     2                columnNameOfKey  Ljava/lang/String;
            0   13     3                    keepUpdated  Z
            0   13     4  handlerForUpdateNotifications  Landroid/os/Handler;
    MethodParameters:
                               Name  Flags
      cursor                         
      columnNameOfKey                
      keepUpdated                    
      handlerForUpdateNotifications  

  public void setKeepUpdated(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.content.ContentQueryMap this
        start local 1 // boolean keepUpdated
         0: .line 87
            iload 1 /* keepUpdated */
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mKeepUpdated:Z
            if_icmpne 1
            return
         1: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* keepUpdated */
            putfield android.content.ContentQueryMap.mKeepUpdated:Z
         2: .line 90
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mKeepUpdated:Z
            ifne 6
         3: .line 91
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mCursor:Landroid/database/Cursor;
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mContentObserver:Landroid/database/ContentObserver;
            invokeinterface android.database.Cursor.unregisterContentObserver:(Landroid/database/ContentObserver;)V
         4: .line 92
            aload 0 /* this */
            aconst_null
            putfield android.content.ContentQueryMap.mContentObserver:Landroid/database/ContentObserver;
         5: .line 93
            goto 12
         6: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mHandlerForUpdateNotifications:Landroid/os/Handler;
            ifnonnull 8
         7: .line 95
            aload 0 /* this */
            new android.os.Handler
            dup
            invokespecial android.os.Handler.<init>:()V
            putfield android.content.ContentQueryMap.mHandlerForUpdateNotifications:Landroid/os/Handler;
         8: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mContentObserver:Landroid/database/ContentObserver;
            ifnonnull 10
         9: .line 98
            aload 0 /* this */
            new android.content.ContentQueryMap$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mHandlerForUpdateNotifications:Landroid/os/Handler;
            invokespecial android.content.ContentQueryMap$1.<init>:(Landroid/content/ContentQueryMap;Landroid/os/Handler;)V
            putfield android.content.ContentQueryMap.mContentObserver:Landroid/database/ContentObserver;
        10: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mCursor:Landroid/database/Cursor;
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mContentObserver:Landroid/database/ContentObserver;
            invokeinterface android.database.Cursor.registerContentObserver:(Landroid/database/ContentObserver;)V
        11: .line 115
            aload 0 /* this */
            iconst_1
            putfield android.content.ContentQueryMap.mDirty:Z
        12: .line 117
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean keepUpdated
        end local 0 // android.content.ContentQueryMap this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Landroid/content/ContentQueryMap;
            0   13     1  keepUpdated  Z
    MethodParameters:
             Name  Flags
      keepUpdated  

  public synchronized android.content.ContentValues getValues(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/content/ContentValues;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.content.ContentQueryMap this
        start local 1 // java.lang.String rowName
         0: .line 125
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mDirty:Z
            ifeq 1
            aload 0 /* this */
            invokevirtual android.content.ContentQueryMap.requery:()V
         1: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mValues:Ljava/util/Map;
            aload 1 /* rowName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.content.ContentValues
            areturn
        end local 1 // java.lang.String rowName
        end local 0 // android.content.ContentQueryMap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/content/ContentQueryMap;
            0    2     1  rowName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      rowName  

  public void requery();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.content.ContentQueryMap this
         0: .line 131
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mCursor:Landroid/database/Cursor;
            astore 1 /* cursor */
        start local 1 // android.database.Cursor cursor
         1: .line 132
            aload 1 /* cursor */
            ifnonnull 3
         2: .line 136
            return
         3: .line 138
      StackMap locals: android.database.Cursor
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield android.content.ContentQueryMap.mDirty:Z
         4: .line 139
            aload 1 /* cursor */
            invokeinterface android.database.Cursor.requery:()Z
            ifne 6
         5: .line 141
            return
         6: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cursor */
            invokevirtual android.content.ContentQueryMap.readCursorIntoCache:(Landroid/database/Cursor;)V
         7: .line 144
            aload 0 /* this */
            invokevirtual android.content.ContentQueryMap.setChanged:()V
         8: .line 145
            aload 0 /* this */
            invokevirtual android.content.ContentQueryMap.notifyObservers:()V
         9: .line 146
            return
        end local 1 // android.database.Cursor cursor
        end local 0 // android.content.ContentQueryMap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Landroid/content/ContentQueryMap;
            1   10     1  cursor  Landroid/database/Cursor;

  private synchronized void readCursorIntoCache(android.database.Cursor);
    descriptor: (Landroid/database/Cursor;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // android.content.ContentQueryMap this
        start local 1 // android.database.Cursor cursor
         0: .line 150
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mValues:Ljava/util/Map;
            ifnull 1
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mValues:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* capacity */
        start local 2 // int capacity
         3: .line 151
            aload 0 /* this */
            new java.util.HashMap
            dup
            iload 2 /* capacity */
            invokespecial java.util.HashMap.<init>:(I)V
            putfield android.content.ContentQueryMap.mValues:Ljava/util/Map;
         4: .line 152
            goto 13
         5: .line 153
      StackMap locals: int
      StackMap stack:
            new android.content.ContentValues
            dup
            invokespecial android.content.ContentValues.<init>:()V
            astore 3 /* values */
        start local 3 // android.content.ContentValues values
         6: .line 154
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 11
         8: .line 155
      StackMap locals: android.content.ContentValues int
      StackMap stack:
            iload 4 /* i */
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mKeyColumn:I
            if_icmpeq 10
         9: .line 156
            aload 3 /* values */
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mColumnNames:[Ljava/lang/String;
            iload 4 /* i */
            aaload
            aload 1 /* cursor */
            iload 4 /* i */
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 154
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mColumnNames:[Ljava/lang/String;
            arraylength
            if_icmplt 8
        end local 4 // int i
        12: .line 159
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mValues:Ljava/util/Map;
            aload 1 /* cursor */
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mKeyColumn:I
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            aload 3 /* values */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // android.content.ContentValues values
        13: .line 152
      StackMap locals:
      StackMap stack:
            aload 1 /* cursor */
            invokeinterface android.database.Cursor.moveToNext:()Z
            ifne 5
        14: .line 161
            return
        end local 2 // int capacity
        end local 1 // android.database.Cursor cursor
        end local 0 // android.content.ContentQueryMap this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Landroid/content/ContentQueryMap;
            0   15     1    cursor  Landroid/database/Cursor;
            3   15     2  capacity  I
            6   13     3    values  Landroid/content/ContentValues;
            7   12     4         i  I
    MethodParameters:
        Name  Flags
      cursor  

  public synchronized java.util.Map<java.lang.String, android.content.ContentValues> getRows();
    descriptor: ()Ljava/util/Map;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.content.ContentQueryMap this
         0: .line 164
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mDirty:Z
            ifeq 1
            aload 0 /* this */
            invokevirtual android.content.ContentQueryMap.requery:()V
         1: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mValues:Ljava/util/Map;
            areturn
        end local 0 // android.content.ContentQueryMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/content/ContentQueryMap;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Landroid/content/ContentValues;>;

  public synchronized void close();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.content.ContentQueryMap this
         0: .line 169
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mContentObserver:Landroid/database/ContentObserver;
            ifnull 3
         1: .line 170
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mCursor:Landroid/database/Cursor;
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mContentObserver:Landroid/database/ContentObserver;
            invokeinterface android.database.Cursor.unregisterContentObserver:(Landroid/database/ContentObserver;)V
         2: .line 171
            aload 0 /* this */
            aconst_null
            putfield android.content.ContentQueryMap.mContentObserver:Landroid/database/ContentObserver;
         3: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mCursor:Landroid/database/Cursor;
            invokeinterface android.database.Cursor.close:()V
         4: .line 174
            aload 0 /* this */
            aconst_null
            putfield android.content.ContentQueryMap.mCursor:Landroid/database/Cursor;
         5: .line 175
            return
        end local 0 // android.content.ContentQueryMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/content/ContentQueryMap;

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.content.ContentQueryMap this
         0: .line 179
            aload 0 /* this */
            getfield android.content.ContentQueryMap.mCursor:Landroid/database/Cursor;
            ifnull 1
            aload 0 /* this */
            invokevirtual android.content.ContentQueryMap.close:()V
         1: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         2: .line 181
            return
        end local 0 // android.content.ContentQueryMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/content/ContentQueryMap;
    Exceptions:
      throws java.lang.Throwable
}
SourceFile: "ContentQueryMap.java"
NestMembers:
  android.content.ContentQueryMap$1
InnerClasses:
  android.content.ContentQueryMap$1