package Ġcom . luck y little sp arrow . water wall . recycler . testdata Ċ Ċ import Ġcom . luck y little sp arrow . water wall . recycler . base . Section Dao Ċ import Ġcom . luck y little sp arrow . water wall . recycler . filter able . Filter able Section Ċ import Ġcom . luck y little sp arrow . water wall . recycler . filter able . Filter able Section Dao Ċ import Ġcom . luck y little sp arrow . water wall . recycler . section . Section Ċ import Ġcom . luck y little sp arrow . water wall . recycler . section . Section Init Test Ċ import Ġcom . luck y little sp arrow . water wall . recycler . section . Section Params Ċ import Ġcom . luck y little sp arrow . water wall . recycler . simple . Simple Section Dao Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . ArrayList Ċ import Ġkotlin . collections . Linked HashMap Ċ Ċ object ĠSection Factory Ġ{ ĊĠĠĠ Ġconst Ġval Ġitem ResourceId Ġ= Ġ 1 ĊĠĠĠ Ġconst Ġval Ġheader ResourceId Ġ= Ġ 2 ĊĠĠĠ Ġconst Ġval Ġfooter ResourceId Ġ= Ġ 3 ĊĠĠĠ Ġconst Ġval Ġfailed ResourceId Ġ= Ġ 4 ĊĠĠĠ Ġconst Ġval Ġloading ResourceId Ġ= Ġ 5 ĊĠĠĠ Ġconst Ġval Ġempty ResourceId Ġ= Ġ 6 ĊĊĠĠĠ Ġfun Ġget Section (): ĠSection < *, Ġ*, Ġ*> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsection Parameters Ġ= ĠSection Params . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. header ResourceId ( Section Init Test . header ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. item ResourceId ( Section Init Test . item ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. footer ResourceId ( Section Init Test . footer ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. failed ResourceId ( Section Init Test . failed ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. loading ResourceId ( Section Init Test . loading ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. empty ResourceId ( Section Init Test . empty ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġsection Ġ= Ġobject Ġ: ĠTest Section ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Items Factory . header , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Items Factory . get Names (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Items Factory . footer ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Section Params (): ĠSection Params Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsection Parameters ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsection . section Key Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠ Ġreturn Ġsection ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Section List (): ĠList < Section < *, Ġ*, Ġ* >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠArrayList < Section < *, Ġ*, Ġ* >>() ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġuntil Ġ 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( get Section ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġget DAO Section List (): ĠMutable Map < String , ĠSimple Section Dao < *, Ġ*, Ġ* >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠLinkedHashMap < String , ĠSimple Section Dao < *, Ġ*, Ġ* >>() ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġuntil Ġ 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsection Ġ= Ġget Section () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ section . section Key !! ] Ġ= ĠSimple Section Dao ( section ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Filter able Section (): ĠSection < *, Ġ*, Ġ*> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsection Parameters Ġ= ĠSection Params . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. header ResourceId ( Section Init Test . header ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. item ResourceId ( Section Init Test . item ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. footer ResourceId ( Section Init Test . footer ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. failed ResourceId ( Section Init Test . failed ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. loading ResourceId ( Section Init Test . loading ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. empty ResourceId ( Section Init Test . empty ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġsection Ġ= Ġobject Ġ: ĠFilter Test Section ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Items Factory . header , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Items Factory . get Names (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTest Items Factory . footer ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Section Params (): ĠSection Params Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsection Parameters ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsection . section Key Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠ Ġreturn Ġsection ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Filter able Section Without Header (): ĠSection < *, Ġ*, Ġ*> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsection Parameters Ġ= ĠSection Params . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. item ResourceId ( Section Init Test . item ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. failed ResourceId ( Section Init Test . failed ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. loading ResourceId ( Section Init Test . loading ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. empty ResourceId ( Section Init Test . empty ResourceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġsection Ġ= Ġobject Ġ: ĠFilter Test Section ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Items Ġ= ĠTest Items Factory . get Names () ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Section Params (): ĠSection Params Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsection Parameters ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsection . section Key Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠ Ġreturn Ġsection ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Filter able Section List (): ĠList < Section < *, Ġ*, Ġ* >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠArrayList < Section < *, Ġ*, Ġ* >>() ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġuntil Ġ 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( get Filter able Section ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġget Filter able DAO Section List (): ĠMutable Map < String , ĠSection Dao < Nothing , ĠNothing , ĠNothing >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠLinkedHashMap < String , ĠSection Dao < Nothing , ĠNothing , ĠNothing >>() ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġuntil Ġ 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsection Ġ= Ġget Filter able Section () Ġas ĠFilter able Section < Nothing , ĠNothing , ĠNothing > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ section . section Key !! ] Ġ= ĠFilter able Section Dao ( section ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} Ċ }