fun startCountDown(){
val timerDisplay = findViewById<TextView>(R.id.timer_display)
var d : Disposable
// TODO 一回ボタンを押して開始したら押せないようにするか、停止する。
val observable : Observable<Long> = Observable.interval(1, TimeUnit.SECONDS)
// d は必要 "The result of subscribe is not used"
d = observable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.map(Function<Long, Long> {
return@Function TEN_MINUTE - 1 - it //itはどんどんカウントを増していく
})
.subscribe{
// もうKotlinがわからない
// itがいわゆるonNextで返される値。
// 分数で format
// これformat使う方がええな。
//timerDisplay.text = ((it/60).toString() + " : " + (it%60).toString())
// format("" , intかLongじゃないとダメ。多分Long , )
// はぁ、楽しかった。。。
// ここは、onNextでござる。
timerDisplay.text = String.format(" %02d : %02d ", (it / 60), (it % 60))
// TimeUnit.SECONDS.toMinutes(
// onCompleteとかはないから?ってとやろう??
//TODO 0になったら、トーストを出して、停止する。
// 分数を選べるようにする。
}
// Javaの場合。これで一生頑張っていた、JavaだったらこれでOK。
// new Observer<Long>() {
// @Override
// public void onSubscribe(Disposable d) {
// disposable = d;
// }
//
// @Override
// public void onNext(Long aLong) {
// onTick(aLong);
// }
//
// @Override
// public void onError(Throwable e) {
// e.printStackTrace();
// }
//
// @Override
// public void onComplete() {
// onFinish();
// }
// });
}