public class android.metrics.MetricsReader$LogReader
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.metrics.MetricsReader$LogReader
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.metrics.MetricsReader$LogReader this
         0: .line 204
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.metrics.MetricsReader$LogReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/metrics/MetricsReader$LogReader;

  public void readEvents(int[], long, java.util.Collection<android.metrics.MetricsReader$Event>);
    descriptor: ([IJLjava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // android.metrics.MetricsReader$LogReader this
        start local 1 // int[] tags
        start local 2 // long horizonMs
        start local 4 // java.util.Collection events
         0: .line 208
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* nativeEvents */
        start local 5 // java.util.ArrayList nativeEvents
         1: .line 209
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 2 /* horizonMs */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            lstore 6 /* horizonNs */
        start local 6 // long horizonNs
         2: .line 210
            aload 1 /* tags */
            lload 6 /* horizonNs */
            aload 5 /* nativeEvents */
            invokestatic android.util.EventLog.readEventsOnWrapping:([IJLjava/util/Collection;)V
         3: .line 211
            aload 5 /* nativeEvents */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 9
            goto 7
      StackMap locals: android.metrics.MetricsReader$LogReader int[] long java.util.Collection java.util.ArrayList long top java.util.Iterator
      StackMap stack:
         4: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.util.EventLog$Event
            astore 8 /* nativeEvent */
        start local 8 // android.util.EventLog$Event nativeEvent
         5: .line 212
            new android.metrics.MetricsReader$Event
            dup
            aload 8 /* nativeEvent */
            invokespecial android.metrics.MetricsReader$Event.<init>:(Landroid/util/EventLog$Event;)V
            astore 10 /* event */
        start local 10 // android.metrics.MetricsReader$Event event
         6: .line 213
            aload 4 /* events */
            aload 10 /* event */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // android.metrics.MetricsReader$Event event
        end local 8 // android.util.EventLog$Event nativeEvent
         7: .line 211
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 215
            return
        end local 6 // long horizonNs
        end local 5 // java.util.ArrayList nativeEvents
        end local 4 // java.util.Collection events
        end local 2 // long horizonMs
        end local 1 // int[] tags
        end local 0 // android.metrics.MetricsReader$LogReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Landroid/metrics/MetricsReader$LogReader;
            0    9     1          tags  [I
            0    9     2     horizonMs  J
            0    9     4        events  Ljava/util/Collection<Landroid/metrics/MetricsReader$Event;>;
            1    9     5  nativeEvents  Ljava/util/ArrayList<Landroid/util/EventLog$Event;>;
            2    9     6     horizonNs  J
            5    7     8   nativeEvent  Landroid/util/EventLog$Event;
            6    7    10         event  Landroid/metrics/MetricsReader$Event;
    Exceptions:
      throws java.io.IOException
    Signature: ([IJLjava/util/Collection<Landroid/metrics/MetricsReader$Event;>;)V
    MethodParameters:
           Name  Flags
      tags       
      horizonMs  
      events     

  public void writeCheckpoint(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.metrics.MetricsReader$LogReader this
         0: .line 219
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tMetricsEvent cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.metrics.MetricsReader$LogReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/metrics/MetricsReader$LogReader;
    MethodParameters:
      Name  Flags
      tag   
}
SourceFile: "MetricsReader.java"
NestHost: android.metrics.MetricsReader
InnerClasses:
  public Event = android.metrics.MetricsReader$Event of android.metrics.MetricsReader
  public LogReader = android.metrics.MetricsReader$LogReader of android.metrics.MetricsReader
  public final Event = android.util.EventLog$Event of android.util.EventLog
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()