package Ġcom . k ang ra oo . base kt lib . tools . rx Ċ Ċ import Ġcom . k ang ra oo . base kt lib . tools . rx . Rx Transformer Helper . io To UI Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . Observer Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ object ĠRx Timer Ġ{ ĊĊĠĠĠ Ġfun Ġinterval ( seconds : ĠInt , Ġcallback : ĠRx Interval Callback ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġinterval å¯¹åºĶ åıĤæķ° Ġ ï¼ļ é¦ĸ æ¬¡ æī§è¡Į å»¶ æĹ¶ æĹ¶éĹ´ Ġ ãĢģ Ġæ¯ı æ¬¡ è½® è¯¢ éĹ´ éļĶ æĹ¶éĹ´ Ġ ãĢģ Ġ æĹ¶éĹ´ ç±»åŀĭ ĊĠĠĠĠĠĠĠ ĠObservable . interval ( 1 , Ġ 1 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. take ( seconds Ġ+ Ġ 1 L ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġseconds Ġ- Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. io To UI () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( object Ġ: ĠObserver < Long > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonComplete () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Subscribe ( d : ĠDis posable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . current Disposable ( d ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Next ( t : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( t Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . finish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . interval ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . finish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠRx Interval Callback Ġ{ ĊĠĠĠ Ġfun Ġcurrent Disposable ( dis posable : ĠDis posable ) ĊĊĠĠĠ Ġfun Ġinterval ( t : ĠLong ) ĊĊĠĠĠ Ġfun Ġfinish () Ċ } Ċ