package Ġcom . stem labs . ell u . ui . component . home ĊĊ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Count Down Timer Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . stem labs . ell u . R Ċ import Ġcom . stem labs . ell u . data . model . Day Model Ċ import Ġcom . stem labs . ell u . ui . ViewModel Factory Ċ import Ġcom . stem labs . ell u . ui . base . Base Fragment Ċ import Ġcom . stem labs . ell u . ui . component . about band . adapter . Dot ted Phone Adapter Ċ import Ġcom . stem labs . ell u . ui . component . about band . fragment . Update Band Fragment Ċ import Ġcom . stem labs . ell u . utils . find Per Of Ċ import Ġcom . stem labs . ell u . utils . make G one Ċ import Ġcom . stem labs . ell u . utils . make Visible Ċ import Ġkotlinx . android . synt hetic . main . fragment _ link .* Ċ import Ġkotlinx . android . synt hetic . main . nor aml _ toolbar .* Ċ import Ġjava . util . concurrent . TimeUnit Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠLink Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġvar Ġis Band : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġlateinit Ġvar Ġdotted Phone Adapter : ĠDot ted Phone Adapter ĊĠĠĠ Ġvar Ġdotted List Ġ= ĠArrayList < Day Model >() ĊĠĠĠ Ġvar Ġposition : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar ĠviewModel Factory : ĠViewModel Factory ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ link , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġtv Toolbar Title . text Ġ= Ġ" Link " ĊĠĠĠĠĠĠĠ Ġbtn Band . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( btn Band . text . toString (). equals (" CONTINUE ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreplace Fragment ( Update Band Fragment (" Link "), Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( btn Band . text . toString (). equals (" ADD ĠB AND ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Timer View () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( btn Band . text . toString (). equals (" STOP ĠSEARCH ING ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġll No Band . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġll Cont i une . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Band . text Ġ= Ġ" ADD ĠB AND " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġll No Band . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġll Cont i une . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Band . text Ġ= Ġ" CONTINUE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġimg Left Icon . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase Activity !!. on Back Pressed () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġtimer : ĠCount Down Timer ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġfun Ġset Timer View () Ġ{ ĊĠĠĠĠĠĠĠ Ġdotted List . clear () ĊĠĠĠĠĠĠĠ Ġdotted List . add ( Day Model ("", Ġfalse )) ĊĠĠĠĠĠĠĠ Ġdotted List . add ( Day Model ("", Ġfalse )) ĊĠĠĠĠĠĠĠ Ġdotted List . add ( Day Model ("", Ġfalse )) ĊĠĠĠĠĠĠĠ Ġdotted List . add ( Day Model ("", Ġfalse )) ĊĠĠĠĠĠĠĠ Ġdotted List . add ( Day Model ("", Ġfalse )) ĊĠĠĠĠĠĠĠ Ġll No Band . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġll Cont i une . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġdotted Phone Adapter Ġ= ĠDot ted Phone Adapter ( mutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġdotted Phone Adapter . update List ( dot ted List ) ĊĠĠĠĠĠĠĠ Ġrv Dot ted Link View . adapter Ġ= Ġdotted Phone Adapter ĊĠĠĠĠĠĠĠ Ġbtn Band . text Ġ= Ġ" STOP ĠSEARCH ING " ĊĠĠĠĠĠĠĠ Ġrv Dot ted Link View . make Visible () ĊĠĠĠĠĠĠĠ Ġdotted List [ 0 ]. is Clicked Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġdotted Phone Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġtimer Ġ= Ġobject Ġ: ĠCount Down Timer ( TimeUnit . MILLISECONDS . to Millis ( 4 0 0 0 ), ĠTimeUnit . SECONDS . to Millis ( 1 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tick ( millis Until Finished : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( position Ġ< Ġdotted List . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdotted List [ position ]. is Clicked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdotted Phone Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition ++ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimg Success . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrv Dot ted Link View . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Description . text Ġ= Ġ" Successfully ĠLinked !" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Band . text Ġ= Ġ" CONTINUE " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Band Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtimer !!. start () ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġif Ġ( timer Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimer !!. cancel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimer Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinitialize ViewModel () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġobserve ViewModel () Ġ{ ĊĊĠĠĠ Ġ} Ċ }