/* Ċ Ġ* Ġ Ġ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 . app . dashboard Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . View Ċ import Ġar cus . cor nea . Session Controller Ċ import Ġar cus . cor nea . controller . Subscription Controller Ċ import Ġar cus . cor nea . provider . Hub Model Provider Ċ import Ġcom . iris . client . capability . Hub Ċ import Ġar cus . app . R Ċ import Ġar cus . app . activities . Dashboard Activity Ċ import Ġar cus . app . activities . Fullscreen Fragment Activity Ċ import Ġar cus . app . activities . Generic Connected Fragment Activity Ċ import Ġar cus . app . common . back stack . Back stack Manager Ċ import Ġar cus . app . common . error . fragment . Care Prem ium Required Ċ import Ġar cus . app . common . fragments . Base Fragment Ċ import Ġar cus . app . common . fragments . Modal Error Bottom Sheet Ċ import Ġar cus . app . common . pop ups . S cl era Popup Ċ import Ġar cus . app . common . utils . Activity Utils Ċ import Ġar cus . app . common . utils . Global Setting Ċ import Ġar cus . app . dashboard . adapter . Add Menu Adapter Ċ import Ġar cus . app . dashboard . adapter . MenuItem Click Handler Ċ import Ġar cus . app . pair ing . device . product catalog . Product Catalog Activity Ċ import Ġar cus . app . pair ing . hub . activation . Kit Activation Grid Fragment Ċ import Ġar cus . app . pair ing . hub . kick off . Hub Kit Fragment Ċ import Ġar cus . app . sub systems . care . fragment . Care List Behavior Fragment Ċ import Ġar cus . app . sub systems . people . Person Add Fragment Ċ import Ġar cus . app . sub systems . place . Place Add Fragment Ċ import Ġar cus . app . sub systems . place . controller . New Place Sequence Controller Ċ import Ġar cus . app . sub systems . place . model . Place Type Sequence Ċ import Ġar cus . app . sub systems . rules . Rule Categories Fragment Ċ import Ġar cus . app . sub systems . scenes . catalog . controller . Scene Catalog Sequence Controller Ċ import Ġar cus . presentation . pair ing . hub . activation . Device Activation Status Ċ import Ġar cus . presentation . pair ing . hub . activation . Kit Activation Status Presenter Impl Ċ import Ġar cus . presentation . pair ing . hub . activation . Kit Activation Status View Ċ Ċ class ĠAdd Menu Fragment Ġ: ĠBase Fragment (), ĠMenuItem Click Handler , ĠKit Activation Status View Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġre cyclerView : ĠRecyclerView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadapter Callback Ġ: ĠMenuItem Click Handler ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġactivation Status Presenter : ĠKit Activation Status Presenter Impl ĊĊĠĠĠ Ġoverride Ġfun Ġget Title () Ġ= ĠgetString ( R . string . add _ title _ lower ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id () Ġ= ĠR . layout . fragment _ add _ menu ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġre cyclerView Ġ= Ġview . findViewById ( R . id . add _ menu _ rv ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( view . context ) ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġre cyclerView . adapter ĊĠĠĠĠĠĠĠ Ġvar Ġnew Adapter Ġ: ĠAdd Menu Adapter ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġactivity ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . title Ġ= Ġtitle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . invalidate Options Menu () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Adapter Ġ= ĠAdd Menu Adapter ( adapter Callback , Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( adapter Ġ!= Ġnull Ġ&& Ġnew Adapter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . swap Adapter ( new Adapter , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġnew Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġadapter Callback Ġ= Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġactivation Status Presenter Ġ= ĠKit Activation Status Presenter Impl () ĊĠĠĠĠĠĠĠ Ġactivation Status Presenter . setView ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġactivation Status Presenter . clear View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Add Arc us Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Session Controller . instance (). is Clone With Place ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpopup Ġ= ĠS cl era Popup . newInstance ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . add _ place _ clone _ error _ title , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . add _ place _ clone _ error _ desc , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Bottom Button Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsupport Activity Ġ= Ġactivity Ġas ? ĠAppCompatActivity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport Activity ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup . show ( it . support FragmentManager , ĠS cl era Popup :: class . java . name Ġ/* Ġtag Ġ*/) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNew Place Sequence Controller ( Place Type Sequence . ADD _ PLACE _ G UEST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. start Sequence ( activity , Ġnull , ĠPlace Add Fragment :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Add A Hub Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivation Status Presenter . getDevice Activation Status () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Add A Device Clicked () Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( context , ĠProduct Catalog Activity :: class . java )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Add AR ule Clicked () Ġ{ ĊĠĠĠĠĠĠĠ ĠBack stack Manager . getInstance (). navigate To Fragment ( Rule Categories Fragment . newInstance (), Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Add AS c ene Clicked () Ġ{ ĊĠĠĠĠĠĠĠ ĠScene Catalog Sequence Controller () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. start Sequence ( activity , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Add A Place Clicked () Ġ{ ĊĠĠĠĠĠĠĠ ĠNew Place Sequence Controller ( Place Type Sequence . ADD _ PLACE _ OWNER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. start Sequence ( activity , Ġnull , ĠPlace Add Fragment :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Add AP erson Clicked () Ġ{ ĊĠĠĠĠĠĠĠ ĠBack stack Manager . getInstance (). navigate To Fragment ( Person Add Fragment . newInstance (), Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Add Care Behavior Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Subscription Controller . is Prem ium Or Pro ()) Ġ{ ĊĠĠĠĠĠĠĠ ĠBack stack Manager . getInstance (). navigate To Fragment ( Care List Behavior Fragment . newInstance (), Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFull screen Fragment Activity . launch ( activity !! , ĠCare Prem ium Required :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Device Activation Status Update ( status : ĠDevice Activation Status ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( status . needs Activation Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Hub Model Provider . instance (). hub Model ?. get ( Hub . ATTR _ STATE ) Ġ== ĠHub . STATE _ DOWN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSet Ġup Ġthe ĠModal Error Bottom Sheet ĠDialog Ġand Ġshow Ġit . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Title : ĠString Ġ= ĠgetString ( R . string . en hanced _ hub _ offline _ title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Description : ĠString Ġ= ĠgetString ( R . string . en hanced _ hub _ offline _ desc ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbutton Text : ĠString Ġ= ĠgetString ( R . string . error _ modal _ get _ support ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdismiss Text : ĠString Ġ= ĠgetString ( R . string . dismiss ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhub Offline Dialog Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠModal Error Bottom Sheet . newInstance ( error Title , Ġerror Description , Ġbutton Text , Ġdismiss Text ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhub Offline Dialog . set Get Support Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Utils . launch Url ( Global Setting . NO _ CONNECTION _ HUB _ SUPPORT _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhub Offline Dialog . show ( fragment Manager , ĠModal Error Bottom Sheet :: class . java . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext ?. let Ġ{ Ġnn Context Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGeneric Connected Fragment Activity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Launch Intent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnn Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKit Activation Grid Fragment :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Add Hub OK () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ////////////////////////////////// / ĠCHECK Ġ////////////////////////////////// /// ĊĠĠĠ Ġprivate Ġfun Ġcheck Add Hub OK () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Hub Model Provider . instance (). hub Model Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRefresh Ġhappening Ġin Ġget Hub Model ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBack stack Manager . getInstance (). navigate To Fragment ( Hub Kit Fragment . newInstance H iding Toolbar ( false ), Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( activity Ġas ĠDashboard Activity ). setIs Hub ( true ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHub Already Pa ired Error Popup . newInstance (). show ( fragment Manager ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance (): ĠAdd Menu Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠAdd Menu Fragment () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }