public abstract class android.os.CountDownTimer
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.os.CountDownTimer
  super_class: java.lang.Object
{
  private final long mMillisInFuture;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long mCountdownInterval;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long mStopTimeInFuture;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

  private static final int MSG;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

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

  public void <init>(long, long);
    descriptor: (JJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // android.os.CountDownTimer this
        start local 1 // long millisInFuture
        start local 3 // long countDownInterval
         0: .line 70
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            aload 0 /* this */
            iconst_0
            putfield android.os.CountDownTimer.mCancelled:Z
         2: .line 114
            aload 0 /* this */
            new android.os.CountDownTimer$1
            dup
            aload 0 /* this */
            invokespecial android.os.CountDownTimer$1.<init>:(Landroid/os/CountDownTimer;)V
            putfield android.os.CountDownTimer.mHandler:Landroid/os/Handler;
         3: .line 71
            aload 0 /* this */
            lload 1 /* millisInFuture */
            putfield android.os.CountDownTimer.mMillisInFuture:J
         4: .line 72
            aload 0 /* this */
            lload 3 /* countDownInterval */
            putfield android.os.CountDownTimer.mCountdownInterval:J
         5: .line 73
            return
        end local 3 // long countDownInterval
        end local 1 // long millisInFuture
        end local 0 // android.os.CountDownTimer this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Landroid/os/CountDownTimer;
            0    6     1     millisInFuture  J
            0    6     3  countDownInterval  J
    MethodParameters:
                   Name  Flags
      millisInFuture     
      countDownInterval  

  public final synchronized void cancel();
    descriptor: ()V
    flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.os.CountDownTimer this
         0: .line 79
            aload 0 /* this */
            iconst_1
            putfield android.os.CountDownTimer.mCancelled:Z
         1: .line 80
            aload 0 /* this */
            getfield android.os.CountDownTimer.mHandler:Landroid/os/Handler;
            iconst_1
            invokevirtual android.os.Handler.removeMessages:(I)V
         2: .line 81
            return
        end local 0 // android.os.CountDownTimer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/os/CountDownTimer;

  public final synchronized android.os.CountDownTimer start();
    descriptor: ()Landroid/os/CountDownTimer;
    flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // android.os.CountDownTimer this
         0: .line 87
            aload 0 /* this */
            iconst_0
            putfield android.os.CountDownTimer.mCancelled:Z
         1: .line 88
            aload 0 /* this */
            getfield android.os.CountDownTimer.mMillisInFuture:J
            lconst_0
            lcmp
            ifgt 4
         2: .line 89
            aload 0 /* this */
            invokevirtual android.os.CountDownTimer.onFinish:()V
         3: .line 90
            aload 0 /* this */
            areturn
         4: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic android.os.SystemClock.elapsedRealtime:()J
            aload 0 /* this */
            getfield android.os.CountDownTimer.mMillisInFuture:J
            ladd
            putfield android.os.CountDownTimer.mStopTimeInFuture:J
         5: .line 93
            aload 0 /* this */
            getfield android.os.CountDownTimer.mHandler:Landroid/os/Handler;
            aload 0 /* this */
            getfield android.os.CountDownTimer.mHandler:Landroid/os/Handler;
            iconst_1
            invokevirtual android.os.Handler.obtainMessage:(I)Landroid/os/Message;
            invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
            pop
         6: .line 94
            aload 0 /* this */
            areturn
        end local 0 // android.os.CountDownTimer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/os/CountDownTimer;

  public abstract void onTick(long);
    descriptor: (J)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                     Name  Flags
      millisUntilFinished  

  public abstract void onFinish();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
SourceFile: "CountDownTimer.java"
NestMembers:
  android.os.CountDownTimer$1
InnerClasses:
  android.os.CountDownTimer$1