package Ġorg . dh is 2 . use sc ases . datasets . data Set Table . data Set Detail Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġio . reactivex . Flow able Ċ import Ġjava . util . Date Ċ import Ġjava . util . Locale Ċ import Ġjavax . inject . Inject Ċ import Ġorg . dh is 2 . Bindings . Bindings Ċ import Ġorg . dh is 2 . Bindings . toDate Span Ċ import Ġorg . dh is 2 . R Ċ import Ġorg . dh is 2 . data . dh is logic . D his Period Utils Ċ import Ġorg . dh is 2 . databinding . Fragment Dataset Detail Binding Ċ import Ġorg . dh is 2 . use sc ases . datasets . data Set Table . DataSet Table Activity Ċ import Ġorg . dh is 2 . use sc ases . general . Fragment Global Abstract Ċ import Ġorg . dh is 2 . utils . Color Utils Ċ import Ġorg . dh is 2 . utils . gran ular sync . Gran ular Sync Contracts Ċ import Ġorg . dh is 2 . utils . gran ular sync . Sync Status Dialog Ċ import Ġorg . dh is 2 . utils . resources . ResourceManager Ċ import Ġorg . h isp . dh is . android . core . common . Object Style Ċ import Ġorg . h isp . dh is . android . core . dataset . DataSet Instance Ċ import Ġorg . h isp . dh is . android . core . period . Period Ċ import Ġorg . h isp . dh is . android . core . period . Period Type Ċ Ċ const Ġval ĠDATA SET _ UID Ġ= Ġ" DATASET _ UID " Ċ const Ġval ĠDATA SET _ ACCESS Ġ= Ġ" DATASET _ ACCESS " Ċ Ċ class ĠDataSet Detail Fragment Ġprivate Ġconstructor () Ġ: ĠFragment Global Abstract (), ĠDataSet Detail View Ġ{ ĊĊĠĠĠ Ġprivate Ġvar ĠdataSet Instance : ĠDataSet Instance ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠdataSet Uid : ĠString ĊĠĠĠ Ġprivate Ġvar Ġaccess Write : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠFragment Dataset Detail Binding ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠmContext : ĠContext ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġactivity : ĠDataSet Table Activity ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġpresenter : ĠDataSet Detail Presenter ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġperiod Utils : ĠD his Period Utils ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( data Set Uid : ĠString , Ġaccess Write : ĠBoolean ): ĠDataSet Detail Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠDataSet Detail Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( DATASET _ UID , ĠdataSet Uid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Boolean ( DATASET _ ACCESS , Ġaccess Write ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠFR AG MENT _ TAG Ġ= Ġ" SYNC " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġthis . mContext Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġthis . activity Ġ= Ġcontext Ġas ĠDataSet Table Activity ĊĊĠĠĠĠĠĠĠ Ġarguments ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdataSet Uid Ġ= Ġit . getString ( DATASET _ UID , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccess Write Ġ= Ġit . getBoolean ( DATASET _ ACCESS ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġthrow ĠIllegalArgumentException (" Arguments Ġcan 't Ġbe Ġnull ") ĊĠĠĠĠĠĠĠ Ġ( context Ġas ĠDataSet Table Activity ). data Set Table Component . plus ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDataSet Detail Module ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdataSet Uid ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFragment Dataset Detail Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġbinding . sync Status . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . onClick Sync Status () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen Sync Dialog () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġpresenter . init () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġpresenter . detach () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġopen Sync Dialog () Ġ{ ĊĠĠĠĠĠĠĠ ĠdataSet Instance ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsync Dialog Ġ= ĠSync Status Dialog . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Conflict Type ( Sync Status Dialog . Conflict Type . DATA _ VALUES ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Uid ( data Set Uid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Period Id ( it . period ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Org Unit ( it . organisation Unit Uid ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAttribute Option Combo ( it . attribute Option Combo Uid ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. on Dismiss Listener ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠGr an ular Sync Contracts . On Dismiss Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Dismiss ( has Changed : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( has Changed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . update Data () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsync Dialog . show ( abstract Activity . support FragmentManager , ĠFR AG MENT _ TAG ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Cat Opt Combo Name ( cat Combo Name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . cat Combo . text Ġ= Ġcat Combo Name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset DataSet Details ( ĊĠĠĠĠĠĠĠ ĠdataSet Instance : ĠDataSet Instance , ĊĠĠĠĠĠĠĠ Ġperiod : ĠPeriod , ĊĠĠĠĠĠĠĠ Ġis Complete : ĠBoolean ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . data Set Instance Ġ= ĠdataSet Instance ĊĠĠĠĠĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata SetName . text Ġ= ĠdataSet Instance . data Set DisplayName () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Complete ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompleted Date . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompleted Date . text Ġ= ĠString . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . completed _ by ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdataSet Instance . completed By () Ġ?: Ġ" ?", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdataSet Instance . completion Date (). toDate Span ( mContext ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdataSet Status . setText ( R . string . data _ set _ complete ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdataSet Status . setText ( R . string . data _ set _ open ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompleted Date . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdataSet Status . background Ġ= ĠColor Utils . tint Drawable With Color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdataSet Status . background , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor . parse Color ("# CC FF 9 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Updated Date . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . updated _ time ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdataSet Instance . last Updated (). toDate Span ( mContext ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBind ings . setState Icon ( binding . sync Status , ĠdataSet Instance . state (), Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . data Set Period . text Ġ= Ġperiod Utils ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Period UI String ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperiod . period Type () Ġ?: ĠPeriod Type . Daily , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperiod . startDate () Ġ?: ĠDate (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocale . getDefault () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . data Set Org Unit . text Ġ= ĠdataSet Instance . organisation Unit DisplayName () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . data Set Cat Combo . text Ġ= ĠdataSet Instance . attribute Option Combo DisplayName () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Cat Opt Combo () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . cat Combo . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġbinding . data Set Cat Combo . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Style ( style : ĠObject Style ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcolor Ġ= ĠColor Utils . getColor From ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle ?. color (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor Utils . get Primary Color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor Utils . Color Type . PRIMARY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbinding . data Set Icon . background Ġ= ĠColor Utils . tint Drawable With Color ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . data Set Icon . background , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbinding . data Set Icon . setImage Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResourceManager ( mContext ). getObject Style Drawable Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle ?. icon (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ program _ default ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbinding . data Set Icon . setColor Filter ( Color Utils . get Contrast Color ( color )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġobserve Re open Changes (): ĠFlow able < Boolean > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġactivity . observe Re open Changes () ĊĠĠĠ Ġ} Ċ } Ċ