/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 ĠThanks M ister ĠLLC Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ġdistributed Ċ Ġ* Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . th ank sm ister . iot . mqtt . alar mp anel . ui . views Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Handler Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . View Ċ import Ġcom . th ank sm ister . iot . mqtt . alar mp anel . constants . Code Types Ċ import Ġcom . th ank sm ister . iot . mqtt . alar mp anel . ui . fragments . Code Bottom Sheet Fragment Ċ import Ġkotlinx . android . synt hetic . main . dialog _ alarm _ disable . view .* Ċ Ċ class ĠAlarm Triggered View Ġ: ĠBase Alarm View Ġ{ ĊĊĠĠĠ Ġvar Ġlistener : ĠView Listener ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġdelay Runnable Ġ= Ġobject Ġ: ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . remove Callbacks ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( code Complete ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. onComplete ( enter ed Code ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. onError () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreset () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠView Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonComplete ( code : ĠString ) ĊĠĠĠĠĠĠĠ Ġfun ĠonError () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ: Ġsuper ( context , Ġattrs ) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġreset () Ġ{ ĊĠĠĠĠĠĠĠ Ġcode Complete Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġentered Code Ġ= Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Cancel () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġuser Ġcannot Ġcancel ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd Pin Code ( code : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( code Complete ) Ġreturn ĊĠĠĠĠĠĠĠ Ġentered Code Ġ+= Ġcode ĊĠĠĠĠĠĠĠ Ġshow Filled P ins ( enter ed Code . length ) ĊĠĠĠĠĠĠĠ Ġif ( code Type Ġ== ĠCode Types . DIS ARM _ REMOTE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( enter ed Code . length Ġ== ĠMAX _ CODE _ LENGTH ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Complete Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . post Delayed ( delay Runnable , Ġ 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( enter ed Code . length Ġ== ĠMAX _ CODE _ LENGTH Ġ&& Ġentered Code Ġ== Ġcurrent Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Complete Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . post Delayed ( delay Runnable , Ġ 5 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( enter ed Code . length Ġ== ĠMAX _ CODE _ LENGTH ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . post Delayed ( delay Runnable , Ġ 5 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove Pin Code () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( code Complete ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( enter ed Code )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentered Code Ġ= Ġentered Code . substring ( 0 , Ġentered Code . length Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }