package Ġutilities . adapters . setup . applications Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . drawable . Gradient Drawable Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . Relative Layout Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . widget . Nested ScrollView Ċ import Ġcom . esp . library . R Ċ import Ġcom . esp . library . utilities . common . Shared Ċ import Ġcom . esp . library . utilities . common . Shared Preference Ċ import Ġcom . esp . library . ex ceed erse sp . controllers . applications . Activity Stage Details Ċ import Ġcom . esp . library . utilities . common . Enums Ċ import Ġcom . esp . library . utilities . setup . applications . Application Criteria Adapter Ċ import Ġcom . google . gson . Gson Ċ import Ġutilities . data . applic ants . dynamics . Dynamic Form Section Field DAO Ċ import Ġutilities . data . applic ants . dynamics . Dynamic Response DAO Ċ import Ġutilities . data . applic ants . dynamics . Dynamic Stages Criteria List DAO Ċ import Ġutilities . data . applic ants . dynamics . Dynamic Stages DAO Ċ import Ġjava . util .* ĊĊ Ċ class ĠApplication Stages Adapter ( is coming from As sess or : ĠBoolean , Ġval Ġstages List : ĠMutable List < Dynamic Stages DAO >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactual response Json : ĠString , Ġcon : ĠContext , Ġvar Ġnested scroll view : ĠNested ScrollView ) ĊĠĠĠ Ġ: Ġandroidx . recyclerview . widget . RecyclerView . Adapter < Application Stages Adapter . Parent ViewHolder >() Ġ{ ĊĊĊĠĠĠ Ġvar ĠTAG Ġ= Ġ" Application Criteria Adapter " ĊĠĠĠ Ġprivate Ġvar Ġcontext : ĠContext ĊĠĠĠ Ġ// Ġvar Ġstages List : ĠList < Dynamic Stages DAO > ĊĠĠĠ Ġvar Ġactual Response Json : ĠString ĊĠĠĠ Ġvar Ġis Com ing from As sess or : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġpublic Ġvar Ġcriteria Adapter : ĠApplication Criteria Adapter ? Ġ= Ġnull ; ĊĠĠĠ Ġvar Ġcriteria List Collections Ġ= ĠArrayList < Dynamic Stages Criteria List DAO ?> () ĊĠĠĠ Ġvar Ġpref : ĠShared Preference ? Ġ= Ġnull ĊĊĊĠĠĠ Ġopen Ġclass ĠParent ViewHolder ( v : ĠView ) Ġ: Ġandroidx . recyclerview . widget . RecyclerView . ViewHolder ( v ) ĊĊĠĠĠ Ġinner Ġclass ĠActiv ities List ( v : ĠView ) Ġ: ĠParent ViewHolder ( v ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġrv Cri et rias : Ġandroidx . recyclerview . widget . RecyclerView ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġrv Expand Cri et rias : Ġandroidx . recyclerview . widget . RecyclerView ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġll stages row : ĠLinearLayout ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġll detail : ĠLinearLayout ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġtxt St ag ename : ĠTextView ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġtxt status : ĠTextView ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġaccepted ont ext : ĠTextView ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġaccepted on value : ĠTextView ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġsequ enc et ext value : ĠTextView ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġaccept enc et ext value : ĠTextView ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġaccept enc et ext : ĠTextView ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġtxt line : ĠTextView ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġiv arrow : ĠImageView ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġrl ac ce pre ject : ĠRelative Layout ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrv Cri et rias Ġ= ĠitemView . findViewById ( R . id . rv Cri et rias ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrv Expand Cri et rias Ġ= ĠitemView . findViewById ( R . id . rv Expand Cri et rias ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġll stages row Ġ= ĠitemView . findViewById ( R . id . ll stages row ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġll detail Ġ= ĠitemView . findViewById ( R . id . ll detail ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtxt St ag ename Ġ= ĠitemView . findViewById ( R . id . txt St ag ename ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtxt status Ġ= ĠitemView . findViewById ( R . id . txt status ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccepted on value Ġ= ĠitemView . findViewById ( R . id . accepted on value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccepted ont ext Ġ= ĠitemView . findViewById ( R . id . accepted ont ext ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsequ enc et ext value Ġ= ĠitemView . findViewById ( R . id . sequ enc et ext value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccept enc et ext value Ġ= ĠitemView . findViewById ( R . id . accept enc et ext value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccept enc et ext Ġ= ĠitemView . findViewById ( R . id . accept enc et ext ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtxt line Ġ= ĠitemView . findViewById ( R . id . txt line ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv arrow Ġ= ĠitemView . findViewById ( R . id . iv arrow ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrl ac ce pre ject Ġ= ĠitemView . findViewById ( R . id . rl ac ce pre ject ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext Ġ= Ġcon ĊĠĠĠĠĠĠĠ Ġis Com ing from As sess or Ġ= Ġis coming from As sess or ĊĠĠĠĠĠĠĠ Ġactual Response Json Ġ= Ġactual response Json ĊĠĠĠĠĠĠĠ Ġpref Ġ= ĠShared Preference ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠParent ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . list _ stage _ row , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠActiv ities List ( v ) ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder _ parent : ĠParent ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġholder Ġ= Ġholder _ parent Ġas ĠActiv ities List ĊĠĠĠĠĠĠĠ Ġval Ġdynamic Stages DAO Ġ= Ġstages List . get ( position ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is Com ing from As sess or ) Ġ{ ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll stages row . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt St ag ename . text Ġ= Ġdynamic Stages DAO . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . sequ enc et ext value . text Ġ= Ġdynamic Stages DAO . order . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . text Ġ= Ġdynamic Stages DAO . status ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* Ġ Ġif Ġ( dynamic Stages DAO . is All ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . condition text value . text Ġ= Ġcontext . getString ( R . string . all ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . condition text value . text Ġ= Ġcontext . getString ( R . string . any ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}*/ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdisplay Date Ġ= ĠShared . getInstance (). get Stage Display Date ( context , Ġdynamic Stages DAO . completed On ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( display Date . isNull OrEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rl ac ce pre ject . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Response Ġ= ĠGson (). fromJson ( actual Response Json , ĠDynamic Response DAO :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( actual Response . application Status . equals ( Enums . rejected . toString (), Ġignore Case Ġ= Ġtrue )) Ġ// Ġrejected ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . accepted ont ext . text Ġ= Ġcontext . getString ( R . string . rejected on ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . accepted on value . text Ġ= Ġdisplay Date ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dynamic Stages DAO . link Definition Id Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . accept enc et ext . text Ġ= Ġcontext . getString ( R . string . sub definition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . accept enc et ext value . text Ġ= Ġdynamic Stages DAO . link Definition Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . accept enc et ext . text Ġ= Ġcontext . getString ( R . string . accept criteria ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dynamic Stages DAO . criteria List Ġ!= Ġnull Ġ&& Ġdynamic Stages DAO . criteria List !!. isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . accept enc et ext value . text Ġ= Ġdynamic Stages DAO . criteria List !!. size . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . accept enc et ext value . text Ġ= Ġ" 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetStatus Color ( holder , Ġdynamic Stages DAO , Ġposition ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* if Ġ( dynamic Stages DAO . status . equals ( context . getString ( R . string . open ), Ġignore Case Ġ= Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv arrow . post Ġ{ Ġholder . iv arrow . perform Click () Ġ}*/ ĊĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll stages row . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġdynamic Stages DAO . criteria List !!. size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠgetList Ġ= Ġdynamic Stages DAO . criteria List ?. get ( i ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠisArray HasValue Ġ= Ġcriteria List Collections . any Ġ{ Ġx Ġ-> Ġx ?. assessment Id Ġ== ĠgetList ?. assessment Id Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! isArray HasValue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( getList ?. isEnabled !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcriteria List Collections . add ( getList ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( position Ġ== Ġ( stages List . size Ġ- Ġ 1 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rv Cri et rias . set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rv Cri et rias . is Nested Scrolling Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rv Cri et rias . layout Manager Ġ= Ġandroidx . recyclerview . widget . Linear LayoutManager ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcriteria Adapter Ġ= ĠApplication Criteria Adapter ( criteria List Collections , Ġcontext , Ġholder . rv Cri et rias ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcriteria Adapter ?. get Actual Response ( actual Response Json ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rv Cri et rias . adapter Ġ= Ġcriteria Adapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġif Ġ( dynamic Stages DAO . criteria List ?. size Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv arrow . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rv Expand Cri et rias . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . ll stages row . setOnClickListener Ġ{ ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* Ġif Ġ( holder . rv Expand Cri et rias . visibility Ġ== ĠView . GONE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv arrow . setImage Resource ( R . drawable . ic _ arrow _ up ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand able C riter ias ( dynamic Stages DAO , Ġholder ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rv Expand Cri et rias . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv arrow . setImage Resource ( R . drawable . ic _ arrow _ down ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rv Expand Cri et rias . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}*/ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġif Ġ(! dynamic Stages DAO . status . equals ( context . getString ( R . string . locked ), Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ Ġif Ġ( dynamic Stages DAO . criteria List !!. size Ġ> Ġ 0 ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ((! dynamic Stages DAO . status . equals ( Enums . locked . toString (), Ġignore Case Ġ= Ġtrue ))) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! dynamic Stages DAO . type . equals ( Enums . link . toString (), Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( holder . txt status . text Ġ!= ĠEnums . locked . toString ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠActivity Stage Details :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" dynamic Stages DAO ", Ġdynamic Stages DAO ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" actual Response Json ", Ġactual Response Json ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġexpand able C riter ias ( dynamic Stages DAO : ĠDynamic Stages DAO , Ġholder : ĠActiv ities List ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcriteria List Collections . clear () ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġdynamic Stages DAO . criteria List !!. indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠgetList Ġ= Ġdynamic Stages DAO . criteria List ?. get ( i ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠisArray HasValue Ġ= Ġcriteria List Collections . any Ġ{ Ġx Ġ-> Ġx ?. assessment Id Ġ== ĠgetList ?. assessment Id Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! isArray HasValue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( getList ?. isEnabled !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcriteria List Collections . add ( getList ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġholder . rv Expand Cri et rias . set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠ Ġholder . rv Expand Cri et rias . is Nested Scrolling Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġholder . rv Expand Cri et rias . layout Manager Ġ= Ġandroidx . recyclerview . widget . Linear LayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġcriteria Adapter Ġ= ĠApplication Criteria Adapter ( criteria List Collections , Ġcontext , Ġholder . rv Expand Cri et rias ) ĊĠĠĠĠĠĠĠ Ġcriteria Adapter ?. get Stage ( dynamic Stages DAO ) ĊĠĠĠĠĠĠĠ Ġcriteria Adapter ?. get Actual Response ( actual Response Json ) ĊĠĠĠĠĠĠĠ Ġholder . rv Expand Cri et rias . adapter Ġ= Ġcriteria Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġstages List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġnotify Change If Any ( criteria Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcriteria Adapter ?. notify Change If Any ( criteria Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetStatus Color ( holder : ĠActiv ities List , Ġdynamic Stages DAO : ĠDynamic Stages DAO , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġstatus Ġ= Ġdynamic Stages DAO . status ?. toLowerCase ( Locale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġval Ġactual Response Json Ġ= ĠGson (). fromJson ( actual Response Json , ĠDynamic Response DAO :: class . java ) ĊĠĠĠĠĠĠĠ Ġ// Ġ Ġholder . ll detail . setBackground Resource ( R . drawable . draw _ bg _ white ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( actual Response Json . application Status Id Ġ== Ġ 5 ) Ġ// Ġcan called ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġcontext . getString ( R . string . locked ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . setText ( status ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( status Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt line . set BackgroundColor ( Context Compat . getColor ( context , ĠR . color . status _ new )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . txt status . setBackground Resource ( R . drawable . status _ background ) ĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= Ġholder . txt status . background Ġas ĠGradient Drawable ĊĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( status . toLowerCase ( Locale . getDefault ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEnums . inv ited . toString () Ġ// ĠInv ited ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . setTextColor ( Context Compat . getColor ( context , ĠR . color . status _ inv ited )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt line . set BackgroundColor ( Context Compat . getColor ( context , ĠR . color . status _ inv ited )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . setColor ( Context Compat . getColor ( context , ĠR . color . status _ inv ited _ background )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEnums . new status . toString () Ġ// ĠNew ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . setTextColor ( Context Compat . getColor ( context , ĠR . color . status _ new )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt line . set BackgroundColor ( Context Compat . getColor ( context , ĠR . color . status _ new )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . setColor ( Context Compat . getColor ( context , ĠR . color . status _ new _ background )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEnums . pending . toString () Ġ// ĠPending ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . setText ( context . getString ( R . string . in progress )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . setTextColor ( Context Compat . getColor ( context , ĠR . color . status _ pending )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt line . set BackgroundColor ( Context Compat . getColor ( context , ĠR . color . status _ pending )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . setColor ( Context Compat . getColor ( context , ĠR . color . status _ pending _ background )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEnums . locked . toString () Ġ// Ġlocked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocked Case ( holder , dynamic Stages DAO , position , actual Response Json , drawable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠEnums . completed . toString () Ġ// ĠCompleted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete Stage ( dynamic Stages DAO , Ġholder , Ġdrawable , Ġactual Response Json ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠEnums . complete . toString () Ġ// ĠComplete ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete Stage ( dynamic Stages DAO , Ġholder , Ġdrawable , Ġactual Response Json ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠEnums . rejected . toString () Ġ Ġ// ĠReject ed ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . setTextColor ( Context Compat . getColor ( context , ĠR . color . status _ rejected )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt line . set BackgroundColor ( Context Compat . getColor ( context , ĠR . color . status _ rejected )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . setColor ( Context Compat . getColor ( context , ĠR . color . status _ rejected _ background )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . setTextColor ( Context Compat . getColor ( context , ĠR . color . status _ new )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt line . set BackgroundColor ( Context Compat . getColor ( context , ĠR . color . status _ new )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . setColor ( Context Compat . getColor ( context , ĠR . color . status _ new _ background )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlocked Case ( holder : ĠActiv ities List , Ġdynamic Stages DAO : ĠDynamic Stages DAO , Ġposition : ĠInt , Ġactual Response Json : ĠDynamic Response DAO , Ġdrawable : ĠGradient Drawable ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlink Text Ġ= ĠEnums . link . toString () ĊĠĠĠĠĠĠĠ Ġif Ġ((( position Ġ== Ġ 0 Ġ&& Ġdynamic Stages DAO . type . equals ( link Text , Ġignore Case Ġ= Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġ( actual Response Json . application Status . equals ( Enums . rejected . toString (), Ġignore Case Ġ= Ġtrue ) Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactual Response Json . application Status . equals ( Enums . accepted . toString (), Ġignore Case Ġ= Ġtrue ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġposition Ġ> Ġ 0 Ġ&& Ġstages List . get ( position Ġ- Ġ 1 ). type . equals ( Enums . completed . toString (), Ġignore Case Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġdynamic Stages DAO . type . equals ( link Text , Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . text Ġ= Ġcontext . getString ( R . string . completed caps ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( actual Response Json . application Status . equals ( Enums . rejected . toString (), Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . setTextColor ( Context Compat . getColor ( context , ĠR . color . status _ rejected )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . setColor ( Context Compat . getColor ( context , ĠR . color . status _ rejected _ background )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( actual Response Json . application Status . equals ( Enums . accepted . toString (), Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . setTextColor ( Context Compat . getColor ( context , ĠR . color . status _ accepted )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . setColor ( Context Compat . getColor ( context , ĠR . color . status _ accepted _ background )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . setTextColor ( Context Compat . getColor ( context , ĠR . color . status _ locked )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . setColor ( Context Compat . getColor ( context , ĠR . color . transparent _ color )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} /* Ġelse Ġif Ġ(! stages List . get ( position Ġ- Ġ 1 ). type . equals ( context . getString ( R . string . completed ), Ġignore Case Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġdynamic Stages DAO . type . equals ( link Text , Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}*/ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll detail . setBackground Resource ( R . drawable . draw _ bg _ grey _ stroke ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . setTextColor ( Context Compat . getColor ( context , ĠR . color . status _ locked )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . setColor ( Context Compat . getColor ( context , ĠR . color . status _ locked _ background )) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . txt line . set BackgroundColor ( Context Compat . getColor ( context , ĠR . color . status _ locked )) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcomplete Stage ( dynamic Stages DAO : ĠDynamic Stages DAO , Ġholder : ĠActiv ities List , Ġdrawable : ĠGradient Drawable , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactual Response Json : ĠDynamic Response DAO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . txt status . setText ( context . getString ( R . string . completed caps )) ĊĊĠĠĠĠĠĠĠ Ġvar Ġget Assessment Status Ġ= Ġ""; ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġdynamic Stages DAO . criteria List !!. size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Assessment Status Ġ= Ġdynamic Stages DAO . criteria List ?. get ( i )?. assessment Status . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( get Assessment Status . equals ( Enums . rejected . toString (), Ġignore Case Ġ= Ġtrue ) Ġ|| Ġactual Response Json . application Status . equals ( Enums . rejected . toString (), Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . setTextColor ( Context Compat . getColor ( context , ĠR . color . status _ rejected )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . setColor ( Context Compat . getColor ( context , ĠR . color . status _ rejected _ background )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( get Assessment Status . equals ( Enums . accepted . toString (), Ġignore Case Ġ= Ġtrue ) Ġ|| Ġactual Response Json . application Status . equals ( Enums . accepted . toString (), Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . setTextColor ( Context Compat . getColor ( context , ĠR . color . status _ accepted )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . setColor ( Context Compat . getColor ( context , ĠR . color . status _ accepted _ background )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt status . setTextColor ( Context Compat . getColor ( context , ĠR . color . status _ accepted )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . txt line . set BackgroundColor ( Context Compat . getColor ( context , ĠR . color . status _ accepted )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . setColor ( Context Compat . getColor ( context , ĠR . color . status _ accepted _ background )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun ĠgetAll Criteria Fields (): ĠList < Dynamic Form Section Field DAO >? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( stages List Ġ!= Ġnull Ġ&& Ġstages List . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfields Ġ= ĠArrayList < Dynamic Form Section Field DAO >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( stages list Ġin Ġstages List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( c riter ial ist Ġin Ġstages list . criteria List !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( section DAO Ġin Ġc riter ial ist . form . sections !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( section DAO . fields Cards List Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( section Fields Cards DAO Ġin Ġsection DAO . fields Cards List !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfields . addAll ( section Fields Cards DAO . fields !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfields ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} Ċ } Ċ