Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff62e966 authored by Narayan Kamath's avatar Narayan Kamath Committed by Android Git Automerger
Browse files

am 149510e0: am b9f960e0: Merge "Fixed cancel() not working correctly"

* commit '149510e0':
  Fixed cancel() not working correctly
parents ed5d7a6f 149510e0
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package android.os;

import android.util.Log;

/**
 * Schedule a countdown until a time in the future, with
 * regular notifications on intervals along the way.
@@ -57,6 +55,11 @@ public abstract class CountDownTimer {

    private long mStopTimeInFuture;
    
    /**
    * boolean representing if the timer was cancelled
    */
    private boolean mCancelled = false;

    /**
     * @param millisInFuture The number of millis in the future from the call
     *   to {@link #start()} until the countdown is done and {@link #onFinish()}
@@ -72,7 +75,8 @@ public abstract class CountDownTimer {
    /**
     * Cancel the countdown.
     */
    public final void cancel() {
    public synchronized final void cancel() {
        mCancelled = true;
        mHandler.removeMessages(MSG);
    }

@@ -80,6 +84,7 @@ public abstract class CountDownTimer {
     * Start the countdown.
     */
    public synchronized final CountDownTimer start() {
        mCancelled = false;
        if (mMillisInFuture <= 0) {
            onFinish();
            return this;
@@ -112,6 +117,10 @@ public abstract class CountDownTimer {
        public void handleMessage(Message msg) {

            synchronized (CountDownTimer.this) {
                if (mCancelled) {
                    return;
                }

                final long millisLeft = mStopTimeInFuture - SystemClock.elapsedRealtime();

                if (millisLeft <= 0) {