package Ġorg . dh is 2 . use sc ases . main Ċ Ċ import Ġd his 2 . org . analytics . charts . Charts Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . Single Ċ import Ġorg . h isp . dh is . android . core . D 2 Ċ import Ġorg . h isp . dh is . android . core . category . Category Combo Ċ import Ġorg . h isp . dh is . android . core . category . Category Option Combo Ċ import Ġorg . h isp . dh is . android . core . user . User Ċ Ċ class ĠHome Repository Impl ( ĊĠĠĠ Ġprivate Ġval Ġd 2 : ĠD 2 , ĊĠĠĠ Ġprivate Ġval Ġcharts : ĠChart s ? Ċ ) Ġ: ĠHome Repository Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġuser (): ĠSingle < User > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġd 2 . user Module (). user (). get () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdefault Cat Combo (): ĠSingle < Category Combo > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġd 2 . category Module (). category Com bos (). by Is Default (). eq ( true ). one (). get () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdefault Cat Opt Combo (): ĠSingle < Category Option Combo > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġd 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. category Module () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. category Option Com bos (). by Code (). eq ( DEFAULT ). one (). get () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlog Out (): ĠComp letable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġd 2 . user Module (). log Out () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Program With Assignment (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( d 2 . user Module (). is Logged . blocking Get ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! d 2 . program Module (). program Stages (). by Enable User Assignment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isTrue . blocking IsEmpty () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Home Analytics (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcharts ?. get Home Visual izations ( null )?. isNotEmpty () Ġ== Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ