public class android.os.health.HealthStats
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.os.health.HealthStats
  super_class: java.lang.Object
{
  private java.lang.String mDataType;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int[] mTimerKeys;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int[] mTimerCounts;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private long[] mTimerTimes;
    descriptor: [J
    flags: (0x0002) ACC_PRIVATE

  private int[] mMeasurementKeys;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private long[] mMeasurementValues;
    descriptor: [J
    flags: (0x0002) ACC_PRIVATE

  private int[] mStatsKeys;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private android.util.ArrayMap<java.lang.String, android.os.health.HealthStats>[] mStatsValues;
    descriptor: [Landroid/util/ArrayMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: [Landroid/util/ArrayMap<Ljava/lang/String;Landroid/os/health/HealthStats;>;

  private int[] mTimersKeys;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private android.util.ArrayMap<java.lang.String, android.os.health.TimerStat>[] mTimersValues;
    descriptor: [Landroid/util/ArrayMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: [Landroid/util/ArrayMap<Ljava/lang/String;Landroid/os/health/TimerStat;>;

  private int[] mMeasurementsKeys;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private android.util.ArrayMap<java.lang.String, java.lang.Long>[] mMeasurementsValues;
    descriptor: [Landroid/util/ArrayMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: [Landroid/util/ArrayMap<Ljava/lang/String;Ljava/lang/Long;>;

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.os.health.HealthStats this
         0: .line 120
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 121
            new java.lang.RuntimeException
            dup
            ldc "unsupported"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/os/health/HealthStats;

  public void <init>(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // android.os.Parcel in
         0: .line 129
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 133
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            putfield android.os.health.HealthStats.mDataType:Ljava/lang/String;
         2: .line 136
            aload 1 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            istore 2 /* count */
        start local 2 // int count
         3: .line 137
            aload 0 /* this */
            iload 2 /* count */
            newarray 10
            putfield android.os.health.HealthStats.mTimerKeys:[I
         4: .line 138
            aload 0 /* this */
            iload 2 /* count */
            newarray 10
            putfield android.os.health.HealthStats.mTimerCounts:[I
         5: .line 139
            aload 0 /* this */
            iload 2 /* count */
            newarray 11
            putfield android.os.health.HealthStats.mTimerTimes:[J
         6: .line 140
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 12
         8: .line 141
      StackMap locals: android.os.health.HealthStats android.os.Parcel int int
      StackMap stack:
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimerKeys:[I
            iload 3 /* i */
            aload 1 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            iastore
         9: .line 142
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimerCounts:[I
            iload 3 /* i */
            aload 1 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            iastore
        10: .line 143
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimerTimes:[J
            iload 3 /* i */
            aload 1 /* in */
            invokevirtual android.os.Parcel.readLong:()J
            lastore
        11: .line 140
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 8
        end local 3 // int i
        13: .line 147
            aload 1 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            istore 2 /* count */
        14: .line 148
            aload 0 /* this */
            iload 2 /* count */
            newarray 10
            putfield android.os.health.HealthStats.mMeasurementKeys:[I
        15: .line 149
            aload 0 /* this */
            iload 2 /* count */
            newarray 11
            putfield android.os.health.HealthStats.mMeasurementValues:[J
        16: .line 150
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        17: goto 21
        18: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.os.health.HealthStats.mMeasurementKeys:[I
            iload 3 /* i */
            aload 1 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            iastore
        19: .line 152
            aload 0 /* this */
            getfield android.os.health.HealthStats.mMeasurementValues:[J
            iload 3 /* i */
            aload 1 /* in */
            invokevirtual android.os.Parcel.readLong:()J
            lastore
        20: .line 150
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 18
        end local 3 // int i
        22: .line 156
            aload 1 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            istore 2 /* count */
        23: .line 157
            aload 0 /* this */
            iload 2 /* count */
            newarray 10
            putfield android.os.health.HealthStats.mStatsKeys:[I
        24: .line 158
            aload 0 /* this */
            iload 2 /* count */
            anewarray android.util.ArrayMap
            putfield android.os.health.HealthStats.mStatsValues:[Landroid/util/ArrayMap;
        25: .line 159
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        26: goto 30
        27: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.os.health.HealthStats.mStatsKeys:[I
            iload 3 /* i */
            aload 1 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            iastore
        28: .line 161
            aload 0 /* this */
            getfield android.os.health.HealthStats.mStatsValues:[Landroid/util/ArrayMap;
            iload 3 /* i */
            aload 1 /* in */
            invokestatic android.os.health.HealthStats.createHealthStatsMap:(Landroid/os/Parcel;)Landroid/util/ArrayMap;
            aastore
        29: .line 159
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 27
        end local 3 // int i
        31: .line 165
            aload 1 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            istore 2 /* count */
        32: .line 166
            aload 0 /* this */
            iload 2 /* count */
            newarray 10
            putfield android.os.health.HealthStats.mTimersKeys:[I
        33: .line 167
            aload 0 /* this */
            iload 2 /* count */
            anewarray android.util.ArrayMap
            putfield android.os.health.HealthStats.mTimersValues:[Landroid/util/ArrayMap;
        34: .line 168
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        35: goto 39
        36: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimersKeys:[I
            iload 3 /* i */
            aload 1 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            iastore
        37: .line 170
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimersValues:[Landroid/util/ArrayMap;
            iload 3 /* i */
            aload 1 /* in */
            getstatic android.os.health.TimerStat.CREATOR:Landroid/os/Parcelable$Creator;
            invokestatic android.os.health.HealthStats.createParcelableMap:(Landroid/os/Parcel;Landroid/os/Parcelable$Creator;)Landroid/util/ArrayMap;
            aastore
        38: .line 168
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 36
        end local 3 // int i
        40: .line 174
            aload 1 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            istore 2 /* count */
        41: .line 175
            aload 0 /* this */
            iload 2 /* count */
            newarray 10
            putfield android.os.health.HealthStats.mMeasurementsKeys:[I
        42: .line 176
            aload 0 /* this */
            iload 2 /* count */
            anewarray android.util.ArrayMap
            putfield android.os.health.HealthStats.mMeasurementsValues:[Landroid/util/ArrayMap;
        43: .line 177
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        44: goto 48
        45: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.os.health.HealthStats.mMeasurementsKeys:[I
            iload 3 /* i */
            aload 1 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            iastore
        46: .line 179
            aload 0 /* this */
            getfield android.os.health.HealthStats.mMeasurementsValues:[Landroid/util/ArrayMap;
            iload 3 /* i */
            aload 1 /* in */
            invokestatic android.os.health.HealthStats.createLongsMap:(Landroid/os/Parcel;)Landroid/util/ArrayMap;
            aastore
        47: .line 177
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        48: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 45
        end local 3 // int i
        49: .line 181
            return
        end local 2 // int count
        end local 1 // android.os.Parcel in
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   50     0   this  Landroid/os/health/HealthStats;
            0   50     1     in  Landroid/os/Parcel;
            3   50     2  count  I
            7   13     3      i  I
           17   22     3      i  I
           26   31     3      i  I
           35   40     3      i  I
           44   49     3      i  I
    MethodParameters:
      Name  Flags
      in    

  public java.lang.String getDataType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.health.HealthStats this
         0: .line 193
            aload 0 /* this */
            getfield android.os.health.HealthStats.mDataType:Ljava/lang/String;
            areturn
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/health/HealthStats;

  public boolean hasTimer(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int key
         0: .line 200
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimerKeys:[I
            iload 1 /* key */
            invokestatic android.os.health.HealthStats.getIndex:([II)I
            iflt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int key
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/os/health/HealthStats;
            0    2     1   key  I
    MethodParameters:
      Name  Flags
      key   

  public android.os.health.TimerStat getTimer(int);
    descriptor: (I)Landroid/os/health/TimerStat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int key
         0: .line 213
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimerKeys:[I
            iload 1 /* key */
            invokestatic android.os.health.HealthStats.getIndex:([II)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 214
            iload 2 /* index */
            ifge 5
         2: .line 215
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad timer key dataType="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.os.health.HealthStats.mDataType:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 216
            ldc " key="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 215
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 218
      StackMap locals: int
      StackMap stack:
            new android.os.health.TimerStat
            dup
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimerCounts:[I
            iload 2 /* index */
            iaload
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimerTimes:[J
            iload 2 /* index */
            laload
            invokespecial android.os.health.TimerStat.<init>:(IJ)V
            areturn
        end local 2 // int index
        end local 1 // int key
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Landroid/os/health/HealthStats;
            0    6     1    key  I
            1    6     2  index  I
    MethodParameters:
      Name  Flags
      key   

  public int getTimerCount(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int key
         0: .line 228
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimerKeys:[I
            iload 1 /* key */
            invokestatic android.os.health.HealthStats.getIndex:([II)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 229
            iload 2 /* index */
            ifge 5
         2: .line 230
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad timer key dataType="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.os.health.HealthStats.mDataType:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 231
            ldc " key="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 230
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 233
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimerCounts:[I
            iload 2 /* index */
            iaload
            ireturn
        end local 2 // int index
        end local 1 // int key
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Landroid/os/health/HealthStats;
            0    6     1    key  I
            1    6     2  index  I
    MethodParameters:
      Name  Flags
      key   

  public long getTimerTime(int);
    descriptor: (I)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int key
         0: .line 243
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimerKeys:[I
            iload 1 /* key */
            invokestatic android.os.health.HealthStats.getIndex:([II)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 244
            iload 2 /* index */
            ifge 5
         2: .line 245
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad timer key dataType="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.os.health.HealthStats.mDataType:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 246
            ldc " key="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 245
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 248
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimerTimes:[J
            iload 2 /* index */
            laload
            lreturn
        end local 2 // int index
        end local 1 // int key
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Landroid/os/health/HealthStats;
            0    6     1    key  I
            1    6     2  index  I
    MethodParameters:
      Name  Flags
      key   

  public int getTimerKeyCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.health.HealthStats this
         0: .line 258
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimerKeys:[I
            arraylength
            ireturn
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/health/HealthStats;

  public int getTimerKeyAt(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int index
         0: .line 268
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimerKeys:[I
            iload 1 /* index */
            iaload
            ireturn
        end local 1 // int index
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/os/health/HealthStats;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public boolean hasMeasurement(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int key
         0: .line 275
            aload 0 /* this */
            getfield android.os.health.HealthStats.mMeasurementKeys:[I
            iload 1 /* key */
            invokestatic android.os.health.HealthStats.getIndex:([II)I
            iflt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int key
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/os/health/HealthStats;
            0    2     1   key  I
    MethodParameters:
      Name  Flags
      key   

  public long getMeasurement(int);
    descriptor: (I)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int key
         0: .line 285
            aload 0 /* this */
            getfield android.os.health.HealthStats.mMeasurementKeys:[I
            iload 1 /* key */
            invokestatic android.os.health.HealthStats.getIndex:([II)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 286
            iload 2 /* index */
            ifge 5
         2: .line 287
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad measurement key dataType="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.os.health.HealthStats.mDataType:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 288
            ldc " key="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 287
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 290
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.os.health.HealthStats.mMeasurementValues:[J
            iload 2 /* index */
            laload
            lreturn
        end local 2 // int index
        end local 1 // int key
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Landroid/os/health/HealthStats;
            0    6     1    key  I
            1    6     2  index  I
    MethodParameters:
      Name  Flags
      key   

  public int getMeasurementKeyCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.health.HealthStats this
         0: .line 300
            aload 0 /* this */
            getfield android.os.health.HealthStats.mMeasurementKeys:[I
            arraylength
            ireturn
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/health/HealthStats;

  public int getMeasurementKeyAt(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int index
         0: .line 310
            aload 0 /* this */
            getfield android.os.health.HealthStats.mMeasurementKeys:[I
            iload 1 /* index */
            iaload
            ireturn
        end local 1 // int index
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/os/health/HealthStats;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public boolean hasStats(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int key
         0: .line 317
            aload 0 /* this */
            getfield android.os.health.HealthStats.mStatsKeys:[I
            iload 1 /* key */
            invokestatic android.os.health.HealthStats.getIndex:([II)I
            iflt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int key
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/os/health/HealthStats;
            0    2     1   key  I
    MethodParameters:
      Name  Flags
      key   

  public java.util.Map<java.lang.String, android.os.health.HealthStats> getStats(int);
    descriptor: (I)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int key
         0: .line 327
            aload 0 /* this */
            getfield android.os.health.HealthStats.mStatsKeys:[I
            iload 1 /* key */
            invokestatic android.os.health.HealthStats.getIndex:([II)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 328
            iload 2 /* index */
            ifge 5
         2: .line 329
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad stats key dataType="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.os.health.HealthStats.mDataType:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 330
            ldc " key="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 329
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 332
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.os.health.HealthStats.mStatsValues:[Landroid/util/ArrayMap;
            iload 2 /* index */
            aaload
            areturn
        end local 2 // int index
        end local 1 // int key
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Landroid/os/health/HealthStats;
            0    6     1    key  I
            1    6     2  index  I
    Signature: (I)Ljava/util/Map<Ljava/lang/String;Landroid/os/health/HealthStats;>;
    MethodParameters:
      Name  Flags
      key   

  public int getStatsKeyCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.health.HealthStats this
         0: .line 342
            aload 0 /* this */
            getfield android.os.health.HealthStats.mStatsKeys:[I
            arraylength
            ireturn
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/health/HealthStats;

  public int getStatsKeyAt(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int index
         0: .line 352
            aload 0 /* this */
            getfield android.os.health.HealthStats.mStatsKeys:[I
            iload 1 /* index */
            iaload
            ireturn
        end local 1 // int index
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/os/health/HealthStats;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public boolean hasTimers(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int key
         0: .line 359
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimersKeys:[I
            iload 1 /* key */
            invokestatic android.os.health.HealthStats.getIndex:([II)I
            iflt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int key
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/os/health/HealthStats;
            0    2     1   key  I
    MethodParameters:
      Name  Flags
      key   

  public java.util.Map<java.lang.String, android.os.health.TimerStat> getTimers(int);
    descriptor: (I)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int key
         0: .line 369
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimersKeys:[I
            iload 1 /* key */
            invokestatic android.os.health.HealthStats.getIndex:([II)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 370
            iload 2 /* index */
            ifge 5
         2: .line 371
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad timers key dataType="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.os.health.HealthStats.mDataType:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 372
            ldc " key="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 371
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 374
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimersValues:[Landroid/util/ArrayMap;
            iload 2 /* index */
            aaload
            areturn
        end local 2 // int index
        end local 1 // int key
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Landroid/os/health/HealthStats;
            0    6     1    key  I
            1    6     2  index  I
    Signature: (I)Ljava/util/Map<Ljava/lang/String;Landroid/os/health/TimerStat;>;
    MethodParameters:
      Name  Flags
      key   

  public int getTimersKeyCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.health.HealthStats this
         0: .line 384
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimersKeys:[I
            arraylength
            ireturn
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/health/HealthStats;

  public int getTimersKeyAt(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int index
         0: .line 394
            aload 0 /* this */
            getfield android.os.health.HealthStats.mTimersKeys:[I
            iload 1 /* index */
            iaload
            ireturn
        end local 1 // int index
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/os/health/HealthStats;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public boolean hasMeasurements(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int key
         0: .line 401
            aload 0 /* this */
            getfield android.os.health.HealthStats.mMeasurementsKeys:[I
            iload 1 /* key */
            invokestatic android.os.health.HealthStats.getIndex:([II)I
            iflt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int key
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/os/health/HealthStats;
            0    2     1   key  I
    MethodParameters:
      Name  Flags
      key   

  public java.util.Map<java.lang.String, java.lang.Long> getMeasurements(int);
    descriptor: (I)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int key
         0: .line 411
            aload 0 /* this */
            getfield android.os.health.HealthStats.mMeasurementsKeys:[I
            iload 1 /* key */
            invokestatic android.os.health.HealthStats.getIndex:([II)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 412
            iload 2 /* index */
            ifge 5
         2: .line 413
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad measurements key dataType="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.os.health.HealthStats.mDataType:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 414
            ldc " key="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 413
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 416
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.os.health.HealthStats.mMeasurementsValues:[Landroid/util/ArrayMap;
            iload 2 /* index */
            aaload
            areturn
        end local 2 // int index
        end local 1 // int key
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Landroid/os/health/HealthStats;
            0    6     1    key  I
            1    6     2  index  I
    Signature: (I)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>;
    MethodParameters:
      Name  Flags
      key   

  public int getMeasurementsKeyCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.health.HealthStats this
         0: .line 426
            aload 0 /* this */
            getfield android.os.health.HealthStats.mMeasurementsKeys:[I
            arraylength
            ireturn
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/health/HealthStats;

  public int getMeasurementsKeyAt(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.health.HealthStats this
        start local 1 // int index
         0: .line 437
            aload 0 /* this */
            getfield android.os.health.HealthStats.mMeasurementsKeys:[I
            iload 1 /* index */
            iaload
            ireturn
        end local 1 // int index
        end local 0 // android.os.health.HealthStats this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/os/health/HealthStats;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  private static int getIndex(int[], int);
    descriptor: ([II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int[] keys
        start local 1 // int key
         0: .line 444
            aload 0 /* keys */
            iload 1 /* key */
            invokestatic java.util.Arrays.binarySearch:([II)I
            ireturn
        end local 1 // int key
        end local 0 // int[] keys
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  keys  [I
            0    1     1   key  I
    MethodParameters:
      Name  Flags
      keys  
      key   

  private static android.util.ArrayMap<java.lang.String, android.os.health.HealthStats> createHealthStatsMap(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)Landroid/util/ArrayMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // android.os.Parcel in
         0: .line 451
            aload 0 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            istore 1 /* count */
        start local 1 // int count
         1: .line 452
            new android.util.ArrayMap
            dup
            iload 1 /* count */
            invokespecial android.util.ArrayMap.<init>:(I)V
            astore 2 /* result */
        start local 2 // android.util.ArrayMap result
         2: .line 453
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 454
      StackMap locals: int android.util.ArrayMap int
      StackMap stack:
            aload 2 /* result */
            aload 0 /* in */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            new android.os.health.HealthStats
            dup
            aload 0 /* in */
            invokespecial android.os.health.HealthStats.<init>:(Landroid/os/Parcel;)V
            invokevirtual android.util.ArrayMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 453
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 1 /* count */
            if_icmplt 4
        end local 3 // int i
         7: .line 456
            aload 2 /* result */
            areturn
        end local 2 // android.util.ArrayMap result
        end local 1 // int count
        end local 0 // android.os.Parcel in
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0      in  Landroid/os/Parcel;
            1    8     1   count  I
            2    8     2  result  Landroid/util/ArrayMap<Ljava/lang/String;Landroid/os/health/HealthStats;>;
            3    7     3       i  I
    Signature: (Landroid/os/Parcel;)Landroid/util/ArrayMap<Ljava/lang/String;Landroid/os/health/HealthStats;>;
    MethodParameters:
      Name  Flags
      in    

  private static <T extends android.os.Parcelable> android.util.ArrayMap<java.lang.String, T> createParcelableMap(android.os.Parcel, android.os.Parcelable$Creator<T>);
    descriptor: (Landroid/os/Parcel;Landroid/os/Parcelable$Creator;)Landroid/util/ArrayMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // android.os.Parcel in
        start local 1 // android.os.Parcelable$Creator creator
         0: .line 465
            aload 0 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            istore 2 /* count */
        start local 2 // int count
         1: .line 466
            new android.util.ArrayMap
            dup
            iload 2 /* count */
            invokespecial android.util.ArrayMap.<init>:(I)V
            astore 3 /* result */
        start local 3 // android.util.ArrayMap result
         2: .line 467
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 468
      StackMap locals: int android.util.ArrayMap int
      StackMap stack:
            aload 3 /* result */
            aload 0 /* in */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            aload 1 /* creator */
            aload 0 /* in */
            invokeinterface android.os.Parcelable$Creator.createFromParcel:(Landroid/os/Parcel;)Ljava/lang/Object;
            checkcast android.os.Parcelable
            invokevirtual android.util.ArrayMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 467
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iload 2 /* count */
            if_icmplt 4
        end local 4 // int i
         7: .line 470
            aload 3 /* result */
            areturn
        end local 3 // android.util.ArrayMap result
        end local 2 // int count
        end local 1 // android.os.Parcelable$Creator creator
        end local 0 // android.os.Parcel in
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0       in  Landroid/os/Parcel;
            0    8     1  creator  Landroid/os/Parcelable$Creator<TT;>;
            1    8     2    count  I
            2    8     3   result  Landroid/util/ArrayMap<Ljava/lang/String;TT;>;
            3    7     4        i  I
    Signature: <T::Landroid/os/Parcelable;>(Landroid/os/Parcel;Landroid/os/Parcelable$Creator<TT;>;)Landroid/util/ArrayMap<Ljava/lang/String;TT;>;
    MethodParameters:
         Name  Flags
      in       
      creator  

  private static android.util.ArrayMap<java.lang.String, java.lang.Long> createLongsMap(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)Landroid/util/ArrayMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // android.os.Parcel in
         0: .line 477
            aload 0 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            istore 1 /* count */
        start local 1 // int count
         1: .line 478
            new android.util.ArrayMap
            dup
            iload 1 /* count */
            invokespecial android.util.ArrayMap.<init>:(I)V
            astore 2 /* result */
        start local 2 // android.util.ArrayMap result
         2: .line 479
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 480
      StackMap locals: int android.util.ArrayMap int
      StackMap stack:
            aload 2 /* result */
            aload 0 /* in */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            aload 0 /* in */
            invokevirtual android.os.Parcel.readLong:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual android.util.ArrayMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 479
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 1 /* count */
            if_icmplt 4
        end local 3 // int i
         7: .line 482
            aload 2 /* result */
            areturn
        end local 2 // android.util.ArrayMap result
        end local 1 // int count
        end local 0 // android.os.Parcel in
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0      in  Landroid/os/Parcel;
            1    8     1   count  I
            2    8     2  result  Landroid/util/ArrayMap<Ljava/lang/String;Ljava/lang/Long;>;
            3    7     3       i  I
    Signature: (Landroid/os/Parcel;)Landroid/util/ArrayMap<Ljava/lang/String;Ljava/lang/Long;>;
    MethodParameters:
      Name  Flags
      in    
}
SourceFile: "HealthStats.java"
InnerClasses:
  public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable