public class com.android.internal.os.KernelUidCpuActiveTimeReader extends com.android.internal.os.KernelUidCpuTimeReaderBase<com.android.internal.os.KernelUidCpuActiveTimeReader$Callback>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.android.internal.os.KernelUidCpuActiveTimeReader
  super_class: com.android.internal.os.KernelUidCpuTimeReaderBase
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final com.android.internal.os.KernelCpuProcReader mProcReader;
    descriptor: Lcom/android/internal/os/KernelCpuProcReader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private android.util.SparseArray<java.lang.Double> mLastUidCpuActiveTimeMs;
    descriptor: Landroid/util/SparseArray;
    flags: (0x0002) ACC_PRIVATE
    Signature: Landroid/util/SparseArray<Ljava/lang/Double;>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 54
            ldc Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            putstatic com.android.internal.os.KernelUidCpuActiveTimeReader.TAG:Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
         0: .line 70
            aload 0 /* this */
            invokespecial com.android.internal.os.KernelUidCpuTimeReaderBase.<init>:()V
         1: .line 57
            aload 0 /* this */
            new android.util.SparseArray
            dup
            invokespecial android.util.SparseArray.<init>:()V
            putfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
         2: .line 71
            aload 0 /* this */
            invokestatic com.android.internal.os.KernelCpuProcReader.getActiveTimeReaderInstance:()Lcom/android/internal/os/KernelCpuProcReader;
            putfield com.android.internal.os.KernelUidCpuActiveTimeReader.mProcReader:Lcom/android/internal/os/KernelCpuProcReader;
         3: .line 72
            return
        end local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/android/internal/os/KernelUidCpuActiveTimeReader;

  public void <init>(com.android.internal.os.KernelCpuProcReader);
    descriptor: (Lcom/android/internal/os/KernelCpuProcReader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
        start local 1 // com.android.internal.os.KernelCpuProcReader procReader
         0: .line 75
            aload 0 /* this */
            invokespecial com.android.internal.os.KernelUidCpuTimeReaderBase.<init>:()V
         1: .line 57
            aload 0 /* this */
            new android.util.SparseArray
            dup
            invokespecial android.util.SparseArray.<init>:()V
            putfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
         2: .line 76
            aload 0 /* this */
            aload 1 /* procReader */
            putfield com.android.internal.os.KernelUidCpuActiveTimeReader.mProcReader:Lcom/android/internal/os/KernelCpuProcReader;
         3: .line 77
            return
        end local 1 // com.android.internal.os.KernelCpuProcReader procReader
        end local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
            0    4     1  procReader  Lcom/android/internal/os/KernelCpuProcReader;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.android.internal.annotations.VisibleForTesting()
    MethodParameters:
            Name  Flags
      procReader  

  protected void readDeltaImpl(com.android.internal.os.KernelUidCpuActiveTimeReader$Callback);
    descriptor: (Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
        start local 1 // com.android.internal.os.KernelUidCpuActiveTimeReader$Callback callback
         0: .line 81
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* callback */
            invokedynamic accept(Lcom/android/internal/os/KernelUidCpuActiveTimeReader;Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/android/internal/os/KernelUidCpuActiveTimeReader.lambda$0(Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;Ljava/nio/IntBuffer;)V (7)
                  (Ljava/nio/IntBuffer;)V
            invokevirtual com.android.internal.os.KernelUidCpuActiveTimeReader.readImpl:(Ljava/util/function/Consumer;)V
         1: .line 96
            return
        end local 1 // com.android.internal.os.KernelUidCpuActiveTimeReader$Callback callback
        end local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
            0    2     1  callback  Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;
    MethodParameters:
          Name  Flags
      callback  

  public void readAbsolute(com.android.internal.os.KernelUidCpuActiveTimeReader$Callback);
    descriptor: (Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
        start local 1 // com.android.internal.os.KernelUidCpuActiveTimeReader$Callback callback
         0: .line 99
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* callback */
            invokedynamic accept(Lcom/android/internal/os/KernelUidCpuActiveTimeReader;Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/android/internal/os/KernelUidCpuActiveTimeReader.lambda$1(Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;Ljava/nio/IntBuffer;)V (7)
                  (Ljava/nio/IntBuffer;)V
            invokevirtual com.android.internal.os.KernelUidCpuActiveTimeReader.readImpl:(Ljava/util/function/Consumer;)V
         1: .line 106
            return
        end local 1 // com.android.internal.os.KernelUidCpuActiveTimeReader$Callback callback
        end local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
            0    2     1  callback  Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;
    MethodParameters:
          Name  Flags
      callback  

  private double sumActiveTime(java.nio.IntBuffer);
    descriptor: (Ljava/nio/IntBuffer;)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
        start local 1 // java.nio.IntBuffer buffer
         0: .line 109
            dconst_0
            dstore 2 /* sum */
        start local 2 // double sum
         1: .line 110
            iconst_0
            istore 4 /* corrupted */
        start local 4 // boolean corrupted
         2: .line 111
            iconst_1
            istore 5 /* j */
        start local 5 // int j
         3: goto 11
         4: .line 112
      StackMap locals: double int int
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.IntBuffer.get:()I
            istore 6 /* time */
        start local 6 // int time
         5: .line 113
            iload 6 /* time */
            ifge 9
         6: .line 116
            getstatic com.android.internal.os.KernelUidCpuActiveTimeReader.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Negative time from active time proc: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* time */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         7: .line 117
            iconst_1
            istore 4 /* corrupted */
         8: .line 118
            goto 10
         9: .line 119
      StackMap locals: int
      StackMap stack:
            dload 2 /* sum */
            iload 6 /* time */
            i2d
            ldc 10.0
            dmul
            iload 5 /* j */
            i2d
            ddiv
            dadd
            dstore 2 /* sum */
        end local 6 // int time
        10: .line 111
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* j */
            aload 0 /* this */
            getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mCores:I
            if_icmple 4
        end local 5 // int j
        12: .line 122
            iload 4 /* corrupted */
            ifeq 13
            ldc -1.0
            goto 14
      StackMap locals:
      StackMap stack:
        13: dload 2 /* sum */
      StackMap locals:
      StackMap stack: double
        14: dreturn
        end local 4 // boolean corrupted
        end local 2 // double sum
        end local 1 // java.nio.IntBuffer buffer
        end local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
            0   15     1     buffer  Ljava/nio/IntBuffer;
            1   15     2        sum  D
            2   15     4  corrupted  Z
            3   12     5          j  I
            5   10     6       time  I
    MethodParameters:
        Name  Flags
      buffer  

  private void readImpl(java.util.function.Consumer<java.nio.IntBuffer>);
    descriptor: (Ljava/util/function/Consumer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
        start local 1 // java.util.function.Consumer processUid
         0: .line 134
            aload 0 /* this */
            getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mProcReader:Lcom/android/internal/os/KernelCpuProcReader;
            dup
            astore 2
            monitorenter
         1: .line 135
            aload 0 /* this */
            getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mProcReader:Lcom/android/internal/os/KernelCpuProcReader;
            invokevirtual com.android.internal.os.KernelCpuProcReader.readBytes:()Ljava/nio/ByteBuffer;
            astore 3 /* bytes */
        start local 3 // java.nio.ByteBuffer bytes
         2: .line 136
            aload 3 /* bytes */
            ifnull 3
            aload 3 /* bytes */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_4
            if_icmpgt 5
         3: .line 138
      StackMap locals: com.android.internal.os.KernelCpuProcReader java.nio.ByteBuffer
      StackMap stack:
            aload 2
            monitorexit
         4: return
         5: .line 140
      StackMap locals:
      StackMap stack:
            aload 3 /* bytes */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_3
            iand
            ifeq 11
         6: .line 141
            getstatic com.android.internal.os.KernelUidCpuActiveTimeReader.TAG:Ljava/lang/String;
         7: .line 142
            new java.lang.StringBuilder
            dup
            ldc "Cannot parse active time proc bytes to int: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* bytes */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 141
            invokestatic android.util.Slog.wtf:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         9: .line 143
            aload 2
            monitorexit
        10: return
        11: .line 145
      StackMap locals:
      StackMap stack:
            aload 3 /* bytes */
            invokevirtual java.nio.ByteBuffer.asIntBuffer:()Ljava/nio/IntBuffer;
            astore 4 /* buf */
        start local 4 // java.nio.IntBuffer buf
        12: .line 146
            aload 4 /* buf */
            invokevirtual java.nio.IntBuffer.get:()I
            istore 5 /* cores */
        start local 5 // int cores
        13: .line 147
            aload 0 /* this */
            getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mCores:I
            ifeq 17
            iload 5 /* cores */
            aload 0 /* this */
            getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mCores:I
            if_icmpeq 17
        14: .line 148
            getstatic com.android.internal.os.KernelUidCpuActiveTimeReader.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Cpu active time wrong # cores: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* cores */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Slog.wtf:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        15: .line 149
            aload 2
            monitorexit
        16: return
        17: .line 151
      StackMap locals: java.nio.IntBuffer int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* cores */
            putfield com.android.internal.os.KernelUidCpuActiveTimeReader.mCores:I
        18: .line 152
            iload 5 /* cores */
            ifle 19
            aload 4 /* buf */
            invokevirtual java.nio.IntBuffer.remaining:()I
            iload 5 /* cores */
            iconst_1
            iadd
            irem
            ifeq 26
        19: .line 153
      StackMap locals:
      StackMap stack:
            getstatic com.android.internal.os.KernelUidCpuActiveTimeReader.TAG:Ljava/lang/String;
        20: .line 154
            new java.lang.StringBuilder
            dup
            ldc "Cpu active time format error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* buf */
            invokevirtual java.nio.IntBuffer.remaining:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " / "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* cores */
        21: .line 155
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        22: .line 154
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 153
            invokestatic android.util.Slog.wtf:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        24: .line 156
            aload 2
            monitorexit
        25: return
        26: .line 158
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            invokevirtual java.nio.IntBuffer.remaining:()I
            iload 5 /* cores */
            iconst_1
            iadd
            idiv
            istore 6 /* numUids */
        start local 6 // int numUids
        27: .line 159
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        28: goto 31
        29: .line 160
      StackMap locals: int int
      StackMap stack:
            aload 1 /* processUid */
            aload 4 /* buf */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        30: .line 159
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 7 /* i */
            iload 6 /* numUids */
            if_icmplt 29
        end local 7 // int i
        end local 6 // int numUids
        end local 5 // int cores
        end local 4 // java.nio.IntBuffer buf
        end local 3 // java.nio.ByteBuffer bytes
        32: .line 134
            aload 2
            monitorexit
        33: goto 36
      StackMap locals: com.android.internal.os.KernelUidCpuActiveTimeReader java.util.function.Consumer com.android.internal.os.KernelCpuProcReader
      StackMap stack: java.lang.Throwable
        34: aload 2
            monitorexit
        35: athrow
        36: .line 166
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.function.Consumer processUid
        end local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   37     0        this  Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
            0   37     1  processUid  Ljava/util/function/Consumer<Ljava/nio/IntBuffer;>;
            2   32     3       bytes  Ljava/nio/ByteBuffer;
           12   32     4         buf  Ljava/nio/IntBuffer;
           13   32     5       cores  I
           27   32     6     numUids  I
           28   32     7           i  I
      Exception table:
        from    to  target  type
           1     4      34  any
           5    10      34  any
          11    16      34  any
          17    25      34  any
          26    33      34  any
          34    35      34  any
    Signature: (Ljava/util/function/Consumer<Ljava/nio/IntBuffer;>;)V
    MethodParameters:
            Name  Flags
      processUid  

  public void removeUid(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
        start local 1 // int uid
         0: .line 169
            aload 0 /* this */
            getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
            iload 1 /* uid */
            invokevirtual android.util.SparseArray.delete:(I)V
         1: .line 170
            return
        end local 1 // int uid
        end local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
            0    2     1   uid  I
    MethodParameters:
      Name  Flags
      uid   

  public void removeUidsInRange(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
        start local 1 // int startUid
        start local 2 // int endUid
         0: .line 173
            aload 0 /* this */
            getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
            iload 1 /* startUid */
            aconst_null
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
         1: .line 174
            aload 0 /* this */
            getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
            iload 2 /* endUid */
            aconst_null
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
         2: .line 175
            aload 0 /* this */
            getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
            iload 1 /* startUid */
            invokevirtual android.util.SparseArray.indexOfKey:(I)I
            istore 3 /* firstIndex */
        start local 3 // int firstIndex
         3: .line 176
            aload 0 /* this */
            getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
            iload 2 /* endUid */
            invokevirtual android.util.SparseArray.indexOfKey:(I)I
            istore 4 /* lastIndex */
        start local 4 // int lastIndex
         4: .line 177
            aload 0 /* this */
            getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
            iload 3 /* firstIndex */
            iload 4 /* lastIndex */
            iload 3 /* firstIndex */
            isub
            iconst_1
            iadd
            invokevirtual android.util.SparseArray.removeAtRange:(II)V
         5: .line 178
            return
        end local 4 // int lastIndex
        end local 3 // int firstIndex
        end local 2 // int endUid
        end local 1 // int startUid
        end local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
            0    6     1    startUid  I
            0    6     2      endUid  I
            3    6     3  firstIndex  I
            4    6     4   lastIndex  I
    MethodParameters:
          Name  Flags
      startUid  
      endUid    

  protected void readDeltaImpl(com.android.internal.os.KernelUidCpuTimeReaderBase$Callback);
    descriptor: (Lcom/android/internal/os/KernelUidCpuTimeReaderBase$Callback;)V
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast com.android.internal.os.KernelUidCpuActiveTimeReader$Callback
            invokevirtual com.android.internal.os.KernelUidCpuActiveTimeReader.readDeltaImpl:(Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$0(com.android.internal.os.KernelUidCpuActiveTimeReader$Callback, java.nio.IntBuffer);
    descriptor: (Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;Ljava/nio/IntBuffer;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
        start local 2 // java.nio.IntBuffer buf
         0: .line 82
            aload 2 /* buf */
            invokevirtual java.nio.IntBuffer.get:()I
            istore 3 /* uid */
        start local 3 // int uid
         1: .line 83
            aload 0 /* this */
            aload 2 /* buf */
            invokevirtual com.android.internal.os.KernelUidCpuActiveTimeReader.sumActiveTime:(Ljava/nio/IntBuffer;)D
            dstore 4 /* activeTime */
        start local 4 // double activeTime
         2: .line 84
            dload 4 /* activeTime */
            dconst_0
            dcmpl
            ifle 11
         3: .line 85
            dload 4 /* activeTime */
            aload 0 /* this */
            getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
            iload 3 /* uid */
            dconst_0
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual android.util.SparseArray.get:(ILjava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            dsub
            dstore 6 /* delta */
        start local 6 // double delta
         4: .line 86
            dload 6 /* delta */
            dconst_0
            dcmpl
            ifle 9
         5: .line 87
            aload 0 /* this */
            getfield com.android.internal.os.KernelUidCpuActiveTimeReader.mLastUidCpuActiveTimeMs:Landroid/util/SparseArray;
            iload 3 /* uid */
            dload 4 /* activeTime */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
         6: .line 88
            aload 1
            ifnull 11
         7: .line 89
            aload 1
            iload 3 /* uid */
            dload 6 /* delta */
            d2l
            invokeinterface com.android.internal.os.KernelUidCpuActiveTimeReader$Callback.onUidCpuActiveTime:(IJ)V
         8: .line 91
            goto 11
      StackMap locals: int double double
      StackMap stack:
         9: dload 6 /* delta */
            dconst_0
            dcmpg
            ifge 11
        10: .line 92
            getstatic com.android.internal.os.KernelUidCpuActiveTimeReader.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Negative delta from active time proc: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            dload 6 /* delta */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 6 // double delta
        end local 4 // double activeTime
        end local 3 // int uid
        11: .line 95
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.nio.IntBuffer buf
        end local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
            0   12     2         buf  Ljava/nio/IntBuffer;
            1   11     3         uid  I
            2   11     4  activeTime  D
            4   11     6       delta  D

  private void lambda$1(com.android.internal.os.KernelUidCpuActiveTimeReader$Callback, java.nio.IntBuffer);
    descriptor: (Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;Ljava/nio/IntBuffer;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
        start local 2 // java.nio.IntBuffer buf
         0: .line 100
            aload 2 /* buf */
            invokevirtual java.nio.IntBuffer.get:()I
            istore 3 /* uid */
        start local 3 // int uid
         1: .line 101
            aload 0 /* this */
            aload 2 /* buf */
            invokevirtual com.android.internal.os.KernelUidCpuActiveTimeReader.sumActiveTime:(Ljava/nio/IntBuffer;)D
            dstore 4 /* activeTime */
        start local 4 // double activeTime
         2: .line 102
            dload 4 /* activeTime */
            dconst_0
            dcmpl
            ifle 4
         3: .line 103
            aload 1
            iload 3 /* uid */
            dload 4 /* activeTime */
            d2l
            invokeinterface com.android.internal.os.KernelUidCpuActiveTimeReader$Callback.onUidCpuActiveTime:(IJ)V
        end local 4 // double activeTime
        end local 3 // int uid
         4: .line 105
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.nio.IntBuffer buf
        end local 0 // com.android.internal.os.KernelUidCpuActiveTimeReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
            0    5     2         buf  Ljava/nio/IntBuffer;
            1    4     3         uid  I
            2    4     4  activeTime  D
}
Signature: Lcom/android/internal/os/KernelUidCpuTimeReaderBase<Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;>;
SourceFile: "KernelUidCpuActiveTimeReader.java"
NestMembers:
  com.android.internal.os.KernelUidCpuActiveTimeReader$Callback
InnerClasses:
  public abstract Callback = com.android.internal.os.KernelUidCpuActiveTimeReader$Callback of com.android.internal.os.KernelUidCpuActiveTimeReader
  public abstract Callback = com.android.internal.os.KernelUidCpuTimeReaderBase$Callback of com.android.internal.os.KernelUidCpuTimeReaderBase
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles