package com.streamlet.common.util;
import android.os.Handler;
import android.os.Message;
import java.util.Timer;
import java.util.TimerTask;
/**
* 时间倒计时工具类
*
* */
public abstract class TimerUtil {
MyTimer timer;
private int time=60;
private int showTime;
private boolean isRunning;
public void setTime(int time){
this.time=time;
}
public MyTimer startRunning(){
showTime=time;
timer=new MyTimer();
final TimerTask timerTask=new TimerTask() {
@Override
public void run() {
showTime--;
Message msg=new Message();
msg.what=showTime;
showTimeHandler.sendMessage(msg);
}
};
timer.schedule(timerTask, 1000, 1000);
return timer;
}
class MyTimer extends Timer {
public void resCancel(){
this.cancel();
};
}
private Handler showTimeHandler=new Handler(){
public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
donInFinishTime(msg.what);
isRunning=false;
if(timer!=null)
timer.resCancel();
break;
default:
doInRunTime(msg.what);
break;
}
};
};
public abstract void doInRunTime(int time);
public abstract void donInFinishTime(int time);
}