/* Ċ Ġ* Ġ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 . network Ċ Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . text . TextUtils Ċ import Ġcom . th ank sm ister . iot . mqtt . alar mp anel . utils . Device Utils Ċ import Ġcom . th ank sm ister . iot . mqtt . alar mp anel . utils . Mqtt Utils . Companion . COMMAND _ ON Ċ import Ġcom . th ank sm ister . iot . mqtt . alar mp anel . utils . Mqtt Utils . Companion . DEFAULT _ COMMAND _ TOPIC Ċ import Ġcom . th ank sm ister . iot . mqtt . alar mp anel . utils . Mqtt Utils . Companion . DEFAULT _ CONFIG _ TOPIC Ċ import Ġcom . th ank sm ister . iot . mqtt . alar mp anel . utils . Mqtt Utils . Companion . DEFAULT _ PANEL _ COMMAND _ TOPIC Ċ import Ġcom . th ank sm ister . iot . mqtt . alar mp anel . utils . Mqtt Utils . Companion . DEFAULT _ SENSOR _ TOPIC Ċ import Ġcom . th ank sm ister . iot . mqtt . alar mp anel . utils . Mqtt Utils . Companion . DEFAULT _ STATE _ TOPIC Ċ import Ġcom . th ank sm ister . iot . mqtt . alar mp anel . utils . Mqtt Utils . Companion . DEFAULT _ STATUS _ TOPIC Ċ import Ġcom . th ank sm ister . iot . mqtt . alar mp anel . utils . Mqtt Utils . Companion . PORT Ċ import Ġcom . th ank sm ister . iot . mqtt . alar mp anel . utils . Mqtt Utils . Companion . TOPIC _ COMMAND Ċ import Ġjava . util .* Ċ import Ġjavax . inject . Inject Ċ import Ġkotlin . collections . ArrayList Ċ Ċ /** Ċ Ġ* ĠFor Ġoriginal Ġimplementation Ġsee Ġhttps :// github . com / andro idth ings / sensor hub - cloud - iot . Ċ Ġ*/ Ċ class ĠM QT TO ptions Ġ@ Inject Ċ constructor ( private Ġval Ġshared Preferences : ĠSharedPreferences ) Ġ{ ĊĊĠĠĠ Ġval Ġbroker Url : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġif Ġ(! TextUtils . isEmpty ( get Broker ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( get Broker (). contains (" http :// ") Ġ|| Ġget Broker (). contains (" https :// ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( Locale . getDefault (), ĠHTTP _ BRO KER _ URL _ FORMAT , Ġget Broker (), Ġget Port ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( get Tls Connection ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( Locale . getDefault (), ĠSSL _ BRO KER _ URL _ FORMAT , Ġget Broker (), Ġget Port ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( Locale . getDefault (), ĠTCP _ BRO KER _ URL _ FORMAT , Ġget Broker (), Ġget Port ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ"" ĊĊĠĠĠ Ġval ĠisValid : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġif Ġ( get Tls Connection ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! TextUtils . isEmpty ( get Broker ()) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! TextUtils . isEmpty ( getClient Id ()) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetState Topics (). isNotEmpty () Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! TextUtils . isEmpty ( get Alarm Command Topic ()) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! TextUtils . isEmpty ( get Alarm State Topic ()) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! TextUtils . isEmpty ( getUsername ()) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! TextUtils . isEmpty ( getPassword ()) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ! TextUtils . isEmpty ( get Broker ()) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! TextUtils . isEmpty ( getClient Id ()) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetState Topics (). isNotEmpty () Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! TextUtils . isEmpty ( get Alarm Command Topic ()) ĊĊĠĠĠ Ġfun Ġget Broker (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getString ( PRE F _ BRO KER , Ġ""). or Empty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Base Command (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getString ( PRE F _ PANEL _ COMMAND _ TOPIC , ĠDEFAULT _ PANEL _ COMMAND _ TOPIC ). or Empty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Command Topic (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Base Command () Ġ+ Ġ"/" Ġ+ ĠTOP IC _ COMMAND ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ClientId (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar ĠclientId Ġ= Ġshared Preferences . getString ( PRE F _ CLIENT _ ID , Ġ"") ĊĠĠĠĠĠĠĠ Ġif Ġ( clientId . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠclientId Ġ= ĠDevice Utils . uu Id Hash ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠclientId ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Alarm Command Topic (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getString ( PRE F _ COMMAND _ TOPIC , ĠDEFAULT _ COMMAND _ TOPIC ). or Empty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Alarm State Topic (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getString ( PRE F _ STATE _ TOPIC , ĠDEFAULT _ STATE _ TOPIC ). or Empty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Alarm Config Topic (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getString ( PRE F _ CONFIG _ TOPIC , ĠDEFAULT _ CONFIG _ TOPIC ). or Empty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Alarm Status Topic (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getString ( PRE F _ ALARM _ STATUS , ĠDEFAULT _ STATUS _ TOPIC ). or Empty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetState Topics (): ĠArray < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtopics Ġ= ĠArrayList < String >() ĊĠĠĠĠĠĠĠ Ġtopics . add ( get Command Topic ()) ĊĠĠĠĠĠĠĠ Ġtopics . add ( get Alarm State Topic ()) ĊĠĠĠĠĠĠĠ Ġtopics . add ( get Alarm Config Topic ()) ĊĠĠĠĠĠĠĠ Ġtopics . add ( get Alarm Status Topic ()) ĊĠĠĠĠĠĠĠ Ġtopics . add ( sensor One Topic ) ĊĠĠĠĠĠĠĠ Ġtopics . add ( sensor Two Topic ) ĊĠĠĠĠĠĠĠ Ġtopics . add ( sensor Three Topic ) ĊĠĠĠĠĠĠĠ Ġtopics . add ( sensor Four Topic ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtopics . toArray ( array Of < String >()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Username (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getString ( PRE F _ USERNAME , Ġ""). or Empty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Password (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getString ( PRE F _ PASSWORD , Ġ""). or Empty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Port (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getString ( PRE F _ PORT , ĠPORT . toString ()) ?. toInt OrNull () Ġ?: ĠPORT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Tls Connection (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getBoolean ( PRE F _ TLS _ CONNECTION , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Username ( value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). putString ( PRE F _ USERNAME , Ġvalue ). apply () ĊĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset ClientId ( value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). putString ( PRE F _ CLIENT _ ID , Ġvalue ). apply () ĊĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Broker ( value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). putString ( PRE F _ BRO KER , Ġvalue ). apply () ĊĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Port ( value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). putString ( PRE F _ PORT , Ġvalue ). apply () ĊĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Password ( value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). putString ( PRE F _ PASSWORD , Ġvalue ). apply () ĊĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Base Topic ( value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshared Preferences . edit (). putString ( PRE F _ PANEL _ COMMAND _ TOPIC , Ġvalue ). apply () ĊĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Command Topic ( value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). putString ( PRE F _ COMMAND _ TOPIC , Ġvalue ). apply () ĊĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Alarm Topic ( value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). putString ( PRE F _ STATE _ TOPIC , Ġvalue ). apply () ĊĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Ret ain (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getBoolean ( PRE F _ RE TAIN , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Ret ain ( value : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). put Boolean ( PRE F _ RE TAIN , Ġvalue ). apply () ĊĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġuse Remote Dis arm : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getBoolean ( PRE F _ REMOTE _ DIS ARM , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). put Boolean ( PRE F _ REMOTE _ DIS ARM , Ġvalue ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġuse Remote Config : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getBoolean ( PRE F _ REMOTE _ CONFIG , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). put Boolean ( PRE F _ REMOTE _ CONFIG , Ġvalue ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġuse Manual Config : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getBoolean ( PRE F _ MAN UAL _ CONFIG , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). put Boolean ( PRE F _ MAN UAL _ CONFIG , Ġvalue ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUsed Ġfor Ġremote Ġconfig Ġto Ġrequires Ġa Ġcode Ġentered Ġto Ġarm Ġthe Ġalarm . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġrequire Code For Ar ming : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getBoolean ( PRE F _ REQUIRE _ CODE _ TO _ ARM , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). put Boolean ( PRE F _ REQUIRE _ CODE _ TO _ ARM , Ġvalue ). apply () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUsed Ġfor Ġremote Ġconfig Ġto Ġrequires Ġa Ġcode Ġentered Ġto Ġdis arm Ġthe Ġalarm . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġrequire Code For Dis arm ing : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getBoolean ( PRE F _ REQUIRE _ CODE _ TO _ DIS ARM , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). put Boolean ( PRE F _ REQUIRE _ CODE _ TO _ DIS ARM , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġremote Config Topic : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getString ( PRE F _ CONFIG _ TOPIC , ĠDEFAULT _ CONFIG _ TOPIC ). or Empty () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). putString ( PRE F _ CONFIG _ TOPIC , Ġvalue ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġremote Status Topic : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getString ( PRE F _ STATUS _ TOPIC , ĠDEFAULT _ STATUS _ TOPIC ). or Empty () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). putString ( PRE F _ STATUS _ TOPIC , Ġvalue ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhas No Sensors (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsensor One Active . not () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġsensor Two Active . not () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġsensor Three Active . not () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġsensor Four Active . not () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġremote Ar ming Home Time : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getInt ( PRE F _ ARM ING _ HOME _ TIME , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). put Int ( PRE F _ ARM ING _ HOME _ TIME , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġremote Ar ming Away Time : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getInt ( PRE F _ ARM ING _ AW AY _ TIME , Ġ 3 0 ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). put Int ( PRE F _ ARM ING _ AW AY _ TIME , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġremote Ar ming Night Time : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getInt ( PRE F _ ARM ING _ N IGHT _ TIME , Ġ 3 0 ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). put Int ( PRE F _ ARM ING _ N IGHT _ TIME , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor One Active : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getBoolean ( PRE F _ ONE _ SENSOR _ ACTIVE , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). put Boolean ( PRE F _ ONE _ SENSOR _ ACTIVE , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor One Name : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getString ( PRE F _ ONE _ SENSOR _ NAME , Ġ" Sensor Ġone "). or Empty () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). putString ( PRE F _ ONE _ SENSOR _ NAME , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor One Topic : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getString ( PRE F _ ONE _ SENSOR _ TOPIC , Ġ"${ DEFAULT _ SENSOR _ TOPIC } one "). or Empty () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). putString ( PRE F _ ONE _ SENSOR _ TOPIC , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor One State : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getString ( PRE F _ ONE _ SENSOR _ STATE , ĠCOMMAND _ ON ). or Empty () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). putString ( PRE F _ ONE _ SENSOR _ STATE , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor Two Active : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getBoolean ( PRE F _ TWO _ SENSOR _ ACTIVE , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). put Boolean ( PRE F _ TWO _ SENSOR _ ACTIVE , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor Two Name : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getString ( PRE F _ TWO _ SENSOR _ NAME , Ġ" Sensor Ġtwo "). or Empty () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). putString ( PRE F _ TWO _ SENSOR _ NAME , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor Two Topic : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getString ( PRE F _ TWO _ SENSOR _ TOPIC , Ġ"${ DEFAULT _ SENSOR _ TOPIC } two "). or Empty () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). putString ( PRE F _ TWO _ SENSOR _ TOPIC , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor Two State : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getString ( PRE F _ TWO _ SENSOR _ STATE , ĠCOMMAND _ ON ). or Empty () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). putString ( PRE F _ TWO _ SENSOR _ STATE , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor Three Active : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getBoolean ( PRE F _ TH REE _ SENSOR _ ACTIVE , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). put Boolean ( PRE F _ TH REE _ SENSOR _ ACTIVE , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor Three Name : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getString ( PRE F _ TH REE _ SENSOR _ NAME , Ġ" Sensor Ġthree "). or Empty () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). putString ( PRE F _ TH REE _ SENSOR _ NAME , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor Three Topic : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getString ( PRE F _ TH REE _ SENSOR _ TOPIC , Ġ"${ DEFAULT _ SENSOR _ TOPIC } three "). or Empty () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). putString ( PRE F _ TH REE _ SENSOR _ TOPIC , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor Three State : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getString ( PRE F _ TH REE _ SENSOR _ STATE , ĠCOMMAND _ ON ). or Empty () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). putString ( PRE F _ TH REE _ SENSOR _ STATE , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor Four Active : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getBoolean ( PRE F _ FO UR _ SENSOR _ ACTIVE , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). put Boolean ( PRE F _ FO UR _ SENSOR _ ACTIVE , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor Four Name : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getString ( PRE F _ FO UR _ SENSOR _ NAME , Ġ" Sensor Ġfour "). or Empty () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). putString ( PRE F _ FO UR _ SENSOR _ NAME , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor Four Topic : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getString ( PRE F _ FO UR _ SENSOR _ TOPIC , Ġ"${ DEFAULT _ SENSOR _ TOPIC } four "). or Empty () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). putString ( PRE F _ FO UR _ SENSOR _ TOPIC , Ġvalue ). apply () ĊĊĠĠĠ Ġvar Ġsensor Four State : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġshared Preferences . getString ( PRE F _ FO UR _ SENSOR _ STATE , ĠCOMMAND _ ON ). or Empty () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġshared Preferences . edit (). putString ( PRE F _ FO UR _ SENSOR _ STATE , Ġvalue ). apply () ĊĊĠĠĠ Ġfun Ġset Tls Connection ( value : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). put Boolean ( PRE F _ TLS _ CONNECTION , Ġvalue ). apply () ĊĠĠĠĠĠĠĠ Ġset Options Updated ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Options Updated ( value : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . shared Preferences . edit (). put Boolean ( MQTT _ OPTIONS _ UPDATED , Ġvalue ). apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhas Updates (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences . getBoolean ( MQTT _ OPTIONS _ UPDATED , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSSL _ BRO KER _ URL _ FORMAT Ġ= Ġ" ssl :// % s :% d " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTCP _ BRO KER _ URL _ FORMAT Ġ= Ġ" tcp :// % s :% d " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠHTTP _ BRO KER _ URL _ FORMAT Ġ= Ġ"% s :% d " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ STATE _ TOPIC Ġ= Ġ" pref _ alarm _ topic " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ STATUS _ TOPIC Ġ= Ġ" pref _ status _ topic " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ PANEL _ COMMAND _ TOPIC Ġ= Ġ" pref _ base _ topic " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ NOTIFICATION _ TOPIC Ġ= Ġ" pref _ notification _ topic " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ USERNAME Ġ= Ġ" pref _ username " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ COMMAND _ TOPIC Ġ= Ġ" pref _ command _ topic " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ TLS _ CONNECTION Ġ= Ġ" pref _ tls _ connection " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ PASSWORD Ġ= Ġ" pref _ password " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ PORT Ġ= Ġ" pref _ port " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ CLIENT _ ID Ġ= Ġ" pref _ client _ id " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ BRO KER Ġ= Ġ" pref _ broker " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ RE TAIN Ġ= Ġ" pref _ retain " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ REMOTE _ CONFIG Ġ= Ġ" pref _ remote _ config " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ REMOTE _ DIS ARM Ġ= Ġ" pref _ remote _ dis arm " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ MAN UAL _ CONFIG Ġ= Ġ" pref _ manual _ config " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMQTT _ OPTIONS _ UPDATED Ġ= Ġ" pref _ mqtt _ options _ updated " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ CONFIG _ TOPIC Ġ= Ġ" pref _ config _ topic " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠP REF _ ALARM _ STATUS Ġ= Ġ" pref _ status _ topic " ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ REQUIRE _ CODE _ TO _ ARM Ġ= Ġ" pref _ require _ arm _ code " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ REQUIRE _ CODE _ TO _ DIS ARM Ġ= Ġ" pref _ require _ dis arm _ code " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ ARM ING _ HOME _ TIME Ġ= Ġ" pref _ arm ing _ home _ time " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ ARM ING _ AW AY _ TIME Ġ= Ġ" pref _ arm ing _ away _ time " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ ARM ING _ N IGHT _ TIME Ġ= Ġ" pref _ arm ing _ night _ time " ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ ONE _ SENSOR _ ACTIVE Ġ= Ġ" pref _ sensor _ active _ one " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ ONE _ SENSOR _ NAME Ġ= Ġ" pref _ sensor _ name _ one " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ ONE _ SENSOR _ TOPIC Ġ= Ġ" pref _ sensor _ topic _ one " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ ONE _ SENSOR _ STATE Ġ= Ġ" pref _ sensor _ state _ one " ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ TWO _ SENSOR _ ACTIVE Ġ= Ġ" pref _ sensor _ active _ two " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ TWO _ SENSOR _ NAME Ġ= Ġ" pref _ sensor _ name _ two " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ TWO _ SENSOR _ TOPIC Ġ= Ġ" pref _ sensor _ topic _ two " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ TWO _ SENSOR _ STATE Ġ= Ġ" pref _ sensor _ state _ two " ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ TH REE _ SENSOR _ ACTIVE Ġ= Ġ" pref _ sensor _ active _ three " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ TH REE _ SENSOR _ NAME Ġ= Ġ" pref _ sensor _ name _ three " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ TH REE _ SENSOR _ TOPIC Ġ= Ġ" pref _ sensor _ topic _ three " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ TH REE _ SENSOR _ STATE Ġ= Ġ" pref _ sensor _ state _ three " ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ FO UR _ SENSOR _ ACTIVE Ġ= Ġ" pref _ sensor _ active _ four " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ FO UR _ SENSOR _ NAME Ġ= Ġ" pref _ sensor _ name _ four " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ FO UR _ SENSOR _ TOPIC Ġ= Ġ" pref _ sensor _ topic _ four " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ FO UR _ SENSOR _ STATE Ġ= Ġ" pref _ sensor _ state _ four " ĊĠĠĠ Ġ} Ċ }