Webman
Webman

Reputation: 1554

How to extend CountDownTimer to add pause and resume method?

I trying to extend ConuntDownTimer to add the methods pause and resume in this way:

public class CountDown extends CountDownTimer {

    private long resume;
    private long millisInFuture;
    private long countDownInterval;

    public CountDown(long millisInFuture, long countDownInterval) {
        super(millisInFuture,countDownInterval);    
        resume = millisInFuture;
        this.millisInFuture = millisInFuture;
        this.countDownInterval = countDownInterval;
    }

    public void play() {

        // start
        if( millisInFuture == resume ) {
            super.start();

        // restart
        } else {
            CountDown cd = new CountDown(resume, countDownInterval);
            cd.play();    
        }               
    }

    @Override
    public void onTick(long millisUntilFinished) {
        resume = millisUntilFinished;
        // other code

    }
}

The problem is "restart" in the play method because, in this way, I created another istance of CountDown that display the wrong seconds because there are almost two event "onTick". Could I solve this problem? (I hope my English was understandable)

Upvotes: 5

Views: 2445

Answers (1)

Brian Dupuis
Brian Dupuis

Reputation: 8176

I don't see any way to do what you want by extending the class. You'll be best served writing your own. Here's the source for it.

Upvotes: 3

Related Questions