/* Ċ Ġ* Ġ ĠCopyright Ġ 2 0 1 9 ĠArc us ĠProject . Ċ Ġ* Ċ Ġ* Ġ Ġ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 Ġar cus . presentation . pair ing . device . custom ization . h alo . state county Ċ Ċ import Ġandroid . os . Parcel Ċ import Ġandroid . os . Parcelable Ċ import Ġar cus . cor nea . presenter . Base Presenter Contract Ċ Ċ data Ġclass ĠH alo State And Code ( ĊĠĠĠ Ġval Ġstate : ĠString , ĊĠĠĠ Ġval Ġsame Code : ĠString , ĊĠĠĠ Ġval Ġis Pers ons Place : ĠBoolean Ġ= Ġfalse Ċ ) Ġ: ĠParcel able Ġ{ ĊĠĠĠ Ġconstructor ( source : ĠParcel ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġsource . readString (), ĊĠĠĠĠĠĠĠ Ġsource . readString (), ĊĠĠĠĠĠĠĠĠ 1 Ġ== Ġsource . readInt () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġdescribe Contents () Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun ĠwriteTo Parcel ( dest : ĠParcel , Ġflags : ĠInt ) Ġ= Ġwith ( dest ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite String ( state ) ĊĠĠĠĠĠĠĠ Ġwrite String ( same Code ) ĊĠĠĠĠĠĠĠ Ġwrite Int (( if Ġ( is Pers ons Place ) Ġ 1 Ġelse Ġ 0 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval ĠCRE ATOR : ĠParcel able . Creator < H alo State And Code > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠParcel able . Creator < H alo State And Code > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Parcel ( source : ĠParcel ): ĠH alo State And Code Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠH alo State And Code ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnew Array ( size : ĠInt ): ĠArray < H alo State And Code ?> Ġ= ĠarrayOf Null s ( size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠH alo Count y ( ĊĠĠĠĠĠĠĠ Ġval Ġcount y : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġis Pers ons Count y : ĠBoolean Ġ= Ġfalse Ċ ) Ġ: ĠParcel able Ġ{ ĊĠĠĠ Ġconstructor ( source : ĠParcel ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource . readString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ== Ġsource . readInt () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġdescribe Contents () Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun ĠwriteTo Parcel ( dest : ĠParcel , Ġflags : ĠInt ) Ġ= Ġwith ( dest ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite String ( county ) ĊĠĠĠĠĠĠĠ Ġwrite Int (( if Ġ( is Pers ons Count y ) Ġ 1 Ġelse Ġ 0 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval ĠCRE ATOR : ĠParcel able . Creator < H alo Count y > Ġ= Ġobject Ġ: ĠParcel able . Creator < H alo Count y > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Parcel ( source : ĠParcel ): ĠH alo Count y Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠH alo Count y ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnew Array ( size : ĠInt ): ĠArray < H alo Count y ?> Ġ= ĠarrayOf Null s ( size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠH alo State Count y Select View Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalled Ġwhen Ġthe Ġlist Ġof Ġavailable Ġstates Ġis Ġready ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġstates Ġlist Ġof Ġstates Ġwith Ġsame Ġcode ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon States Loaded ( states : ĠList < H alo State And Code >) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalled Ġwhen Ġthe Ġstates Ġfail Ġto Ġload . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon States Failed To Load () ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalled Ġwhen Ġthe Ġlist Ġof Ġavailable Ġcount ies Ġis Ġready ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcount ies ĠCounty Ġlist Ġfor Ġthe Ġselected Ġstate ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon Count ies Loaded ( count ies : ĠList < H alo Count y >) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalled Ġwhen Ġthe Ġcount ies Ġfailed Ġto Ġload . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon Count ies Failed To Load () ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalled Ġwhen Ġthe Ġselection Ġwas Ġsaved Ġsuccessfully ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon Selection Saved () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalled Ġwhen Ġthe Ġselection Ġcannot Ġbe Ġsaved ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon Selection Save Failed () Ċ } Ċ Ċ interface ĠH alo State Count y Select Presenter Ġ: ĠBase Presenter Contract < H alo State Count y Select View > Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoads Ġthe Ġdevice Ġbased Ġon Ġthe Ġpair ing Ġdevices Ġdevice Ġaddress Ġattribute ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġaddress ĠPair ing Ġdevice Ġaddress ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġload From Pair ing Device ( address : ĠString ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoads Ġthe Ġdevice Ġbased Ġon Ġthe Ġdevice Ġaddress ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġaddress ĠDevice Ġaddress ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġload From Device Address ( address : ĠString ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoads Ġthe Ġstates Ġ( using ĠS AME Ġcodes ) Ġfor Ġthe ĠUI Ġto Ġrender ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġload States () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoads Ġthe Ġcount ies Ġfor Ġthe Ġselected Ġstate Ġsame Ġcode Ġprovided ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġstate ĠThe Ġstate Ġto Ġload Ġcount ies Ġfor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġload Count ies ( state : ĠH alo State And Code ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalls ĠN WS Ġservice Ġto Ġget Ġthe ĠS AME Ġcode Ġ& Ġsets Ġthat Ġvalue Ġon Ġthe Ġdevice . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠsetSelected State And Count y ( state : ĠH alo State And Code , Ġcount y : ĠString ) Ċ } ĊĊ