package Ġcom . ars ve chk are v . timer x example ĊĊ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġkotlinx . android . synt hetic . main . fragment _ stop watch .* Ċ import Ġtimer x . Stop watch Ċ import Ġtimer x . build Stop watch Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ /** Ċ Ġ* ĠExample Ġof Ġusing Ġa Ġstop watch Ċ Ġ*/ Ċ class ĠStop watch Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġstop watch : ĠStop watch ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ stop watch , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġstop watch Ġ= Ġbuild Stop watch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Format (" 0 s Ġ-> ĠSS : LL L ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchange Format When ( 5 , ĠTimeUnit . SECONDS , Ġ" 5 s Ġ-> ĠSS : LL L ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchange Format When ( 1 0 , ĠTimeUnit . SECONDS , Ġ" 1 0 s Ġ-> ĠSS : LL ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchange Format When ( 1 5 , ĠTimeUnit . SECONDS , Ġ" 1 5 s Ġ-> ĠSS : LL L ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchange Format When ( 2 0 , ĠTimeUnit . SECONDS , Ġ" 2 0 s Ġ-> ĠMM : SS ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction When ( 5 , ĠTimeUnit . SECONDS ) Ġ{ Ġshow Toast (" 5 s Ġpassed ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction When ( 1 0 , ĠTimeUnit . SECONDS ) Ġ{ Ġshow Toast (" 1 0 s Ġpassed ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction When ( 2 0 , ĠTimeUnit . SECONDS ) Ġ{ Ġshow Toast (" 2 0 s Ġpassed ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Tick Ġ{ Ġmillis , Ġformatted Time Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ time . text Ġ= Ġformatted Time ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Stop watch ", Ġ" Current Ġtime Ġ= Ġ$ millis ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtext _ time . text Ġ= Ġstop watch . formatted StartTime ĊĊĠĠĠĠĠĠĠ Ġbtn _ start . setOnClickListener Ġ{ Ġstop watch . start () Ġ} ĊĊĠĠĠĠĠĠĠ Ġbtn _ stop . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstop watch . stop () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" Current Ġtime Ġin Ġmilliseconds Ġ= Ġ" Ġ+ Ġstop watch . currentTime In Millis ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbtn _ set _ time . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstop watch . setTime ( 2 5 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSince Ġcall Ġto Ġset TimeTo () Ġdoes Ġnot Ġresult Ġin Ġinvoking Ġon Tick () Ġcallback , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwe Ġare Ġsetting Ġtime Ġto ĠtextView Ġmanually Ġso Ġthat Ġit Ġappears Ġthere Ġeven Ġif ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġstop watch Ġis Ġpaused Ġnow ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ time . text Ġ= Ġstop watch . current Formatted Time ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbtn _ reset . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ time . text Ġ= Ġstop watch . formatted StartTime ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstop watch . reset () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġstop watch . release () ĊĠĠĠ Ġ} Ċ }