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

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

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

* commit 'ff62e966':
  Fixed cancel() not working correctly
parents 5ec133b9 ff62e966
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -55,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()}
@@ -70,7 +75,8 @@ public abstract class CountDownTimer {
    /**
     * Cancel the countdown.
     */
    public final void cancel() {
    public synchronized final void cancel() {
        mCancelled = true;
        mHandler.removeMessages(MSG);
    }

@@ -78,6 +84,7 @@ public abstract class CountDownTimer {
     * Start the countdown.
     */
    public synchronized final CountDownTimer start() {
        mCancelled = false;
        if (mMillisInFuture <= 0) {
            onFinish();
            return this;
@@ -110,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) {