abstract class android.speech.tts.AbstractEventLogger
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: android.speech.tts.AbstractEventLogger
  super_class: java.lang.Object
{
  protected final java.lang.String mServiceApp;
    descriptor: Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final int mCallerUid;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final int mCallerPid;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final long mReceivedTime;
    descriptor: J
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected long mPlaybackStartTime;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  private volatile long mRequestProcessingStartTime;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile long mEngineStartTime;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile long mEngineCompleteTime;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  void <init>(int, int, java.lang.String);
    descriptor: (IILjava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // android.speech.tts.AbstractEventLogger this
        start local 1 // int callerUid
        start local 2 // int callerPid
        start local 3 // java.lang.String serviceApp
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 32
            aload 0 /* this */
            ldc -1
            putfield android.speech.tts.AbstractEventLogger.mPlaybackStartTime:J
         2: .line 34
            aload 0 /* this */
            ldc -1
            putfield android.speech.tts.AbstractEventLogger.mRequestProcessingStartTime:J
         3: .line 35
            aload 0 /* this */
            ldc -1
            putfield android.speech.tts.AbstractEventLogger.mEngineStartTime:J
         4: .line 36
            aload 0 /* this */
            ldc -1
            putfield android.speech.tts.AbstractEventLogger.mEngineCompleteTime:J
         5: .line 38
            aload 0 /* this */
            iconst_0
            putfield android.speech.tts.AbstractEventLogger.mLogWritten:Z
         6: .line 41
            aload 0 /* this */
            iload 1 /* callerUid */
            putfield android.speech.tts.AbstractEventLogger.mCallerUid:I
         7: .line 42
            aload 0 /* this */
            iload 2 /* callerPid */
            putfield android.speech.tts.AbstractEventLogger.mCallerPid:I
         8: .line 43
            aload 0 /* this */
            aload 3 /* serviceApp */
            putfield android.speech.tts.AbstractEventLogger.mServiceApp:Ljava/lang/String;
         9: .line 44
            aload 0 /* this */
            invokestatic android.os.SystemClock.elapsedRealtime:()J
            putfield android.speech.tts.AbstractEventLogger.mReceivedTime:J
        10: .line 45
            return
        end local 3 // java.lang.String serviceApp
        end local 2 // int callerPid
        end local 1 // int callerUid
        end local 0 // android.speech.tts.AbstractEventLogger this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Landroid/speech/tts/AbstractEventLogger;
            0   11     1   callerUid  I
            0   11     2   callerPid  I
            0   11     3  serviceApp  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      callerUid   
      callerPid   
      serviceApp  

  public void onRequestProcessingStart();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.speech.tts.AbstractEventLogger this
         0: .line 53
            aload 0 /* this */
            invokestatic android.os.SystemClock.elapsedRealtime:()J
            putfield android.speech.tts.AbstractEventLogger.mRequestProcessingStartTime:J
         1: .line 54
            return
        end local 0 // android.speech.tts.AbstractEventLogger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/speech/tts/AbstractEventLogger;

  public void onEngineDataReceived();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.speech.tts.AbstractEventLogger this
         0: .line 61
            aload 0 /* this */
            getfield android.speech.tts.AbstractEventLogger.mEngineStartTime:J
            ldc -1
            lcmp
            ifne 2
         1: .line 62
            aload 0 /* this */
            invokestatic android.os.SystemClock.elapsedRealtime:()J
            putfield android.speech.tts.AbstractEventLogger.mEngineStartTime:J
         2: .line 64
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.speech.tts.AbstractEventLogger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/speech/tts/AbstractEventLogger;

  public void onEngineComplete();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.speech.tts.AbstractEventLogger this
         0: .line 71
            aload 0 /* this */
            invokestatic android.os.SystemClock.elapsedRealtime:()J
            putfield android.speech.tts.AbstractEventLogger.mEngineCompleteTime:J
         1: .line 72
            return
        end local 0 // android.speech.tts.AbstractEventLogger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/speech/tts/AbstractEventLogger;

  public void onAudioDataWritten();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.speech.tts.AbstractEventLogger this
         0: .line 83
            aload 0 /* this */
            getfield android.speech.tts.AbstractEventLogger.mPlaybackStartTime:J
            ldc -1
            lcmp
            ifne 2
         1: .line 84
            aload 0 /* this */
            invokestatic android.os.SystemClock.elapsedRealtime:()J
            putfield android.speech.tts.AbstractEventLogger.mPlaybackStartTime:J
         2: .line 86
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.speech.tts.AbstractEventLogger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/speech/tts/AbstractEventLogger;

  public void onCompleted(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // android.speech.tts.AbstractEventLogger this
        start local 1 // int statusCode
         0: .line 93
            aload 0 /* this */
            getfield android.speech.tts.AbstractEventLogger.mLogWritten:Z
            ifeq 2
         1: .line 94
            return
         2: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.speech.tts.AbstractEventLogger.mLogWritten:Z
         3: .line 99
            invokestatic android.os.SystemClock.elapsedRealtime:()J
            pop2
         4: .line 107
            iload 1 /* statusCode */
            ifne 6
         5: .line 108
            aload 0 /* this */
            getfield android.speech.tts.AbstractEventLogger.mPlaybackStartTime:J
            ldc -1
            lcmp
            ifeq 6
            aload 0 /* this */
            getfield android.speech.tts.AbstractEventLogger.mEngineCompleteTime:J
            ldc -1
            lcmp
            ifne 8
         6: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* statusCode */
            invokevirtual android.speech.tts.AbstractEventLogger.logFailure:(I)V
         7: .line 110
            return
         8: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.speech.tts.AbstractEventLogger.mPlaybackStartTime:J
            aload 0 /* this */
            getfield android.speech.tts.AbstractEventLogger.mReceivedTime:J
            lsub
            lstore 2 /* audioLatency */
        start local 2 // long audioLatency
         9: .line 114
            aload 0 /* this */
            getfield android.speech.tts.AbstractEventLogger.mEngineStartTime:J
            aload 0 /* this */
            getfield android.speech.tts.AbstractEventLogger.mRequestProcessingStartTime:J
            lsub
            lstore 4 /* engineLatency */
        start local 4 // long engineLatency
        10: .line 115
            aload 0 /* this */
            getfield android.speech.tts.AbstractEventLogger.mEngineCompleteTime:J
            aload 0 /* this */
            getfield android.speech.tts.AbstractEventLogger.mRequestProcessingStartTime:J
            lsub
            lstore 6 /* engineTotal */
        start local 6 // long engineTotal
        11: .line 116
            aload 0 /* this */
            lload 2 /* audioLatency */
            lload 4 /* engineLatency */
            lload 6 /* engineTotal */
            invokevirtual android.speech.tts.AbstractEventLogger.logSuccess:(JJJ)V
        12: .line 117
            return
        end local 6 // long engineTotal
        end local 4 // long engineLatency
        end local 2 // long audioLatency
        end local 1 // int statusCode
        end local 0 // android.speech.tts.AbstractEventLogger this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Landroid/speech/tts/AbstractEventLogger;
            0   13     1     statusCode  I
            9   13     2   audioLatency  J
           10   13     4  engineLatency  J
           11   13     6    engineTotal  J
    MethodParameters:
            Name  Flags
      statusCode  

  protected abstract void logFailure(int);
    descriptor: (I)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      statusCode  

  protected abstract void logSuccess(long, long, long);
    descriptor: (JJJ)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      audioLatency   
      engineLatency  
      engineTotal    
}
SourceFile: "AbstractEventLogger.java"