/* Ċ Ġ* Ġ ĠCopyright Ġ 2 0 1 8 ĠK eval ĠP ate l . Ċ Ġ* Ċ Ġ* Ġ Ġ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 Ġcom . stand up . app . di ary . list Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . annotation . Visible ForTesting Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . ke val p ate l 2 1 0 6 . common . base . paging . Page RecyclerView Adapter Ċ import Ġcom . ke val p ate l 2 1 0 6 . common . user Activity . Daily Activity Summary Ċ import Ġcom . stand up . app . di ary . detail . Detail Activity Ċ import Ġcom . stand up . app . di ary . repo . Di ary Repo Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠK eval Ġon Ġ 2 3 / 1 2 / 1 7 . Ċ Ġ* Ċ Ġ* Ġ@ author Ġ< a Ġhref =" https :// github . com / ke val p ate l 2 1 0 6 "> ke val p ate l 2 1 0 6 </ a > Ċ Ġ*/ Ċ internal Ġclass ĠDi ary ListAdapter ( context : ĠContext , Ġdata : ĠArrayList < Daily Activity Summary >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener : ĠRecyclerView Listener < Daily Activity Summary > ?) ĊĠĠĠ Ġ: ĠPage RecyclerView Adapter < Di ary Base ViewHolder , ĠDaily Activity Summary >( context , Ġdata , Ġlistener ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Visible ForTesting ĊĠĠĠĠĠĠĠ Ġinternal Ġval ĠTYPE _ DAY _ VIEW Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġ@ Visible ForTesting ĊĠĠĠĠĠĠĠ Ġinternal Ġval ĠTYPE _ MONTH _ VIEW Ġ= Ġ 2 ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġbind View ( holder : ĠDi ary Base ViewHolder , Ġitem : ĠDaily Activity Summary ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( holder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDi ary Month ViewHolder Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . setData ( item Ġas ĠMonth Header ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDi ary Day ViewHolder Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . setData ( item , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDetail Activity . launch ( context Ġ= Ġcontext , Ġday OfMonth Ġ= Ġitem . day OfMonth , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmonth OfYear Ġ= Ġitem . month OfYear , Ġyear Ġ= Ġitem . year ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" Invalid Ġview Ġholder Ġtype .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprepare ViewHolder ( parent : ĠViewGroup ?, Ġview Type : ĠInt ): ĠDi ary Base ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ DAY _ VIEW Ġ-> ĠDi ary Day ViewHolder . create ( context , Ġparent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ MONTH _ VIEW Ġ-> ĠDi ary Month ViewHolder . create ( context , Ġparent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Invalid Ġview Ġtype : Ġ". plus ( view Type )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprepare ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( getItem ( position ) Ġis ĠMonth Header ) ĠTYPE _ MONTH _ VIEW Ġelse ĠTYPE _ DAY _ VIEW ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget PageSize (): ĠInt Ġ= ĠDi ary Repo . PAGE _ SIZE Ċ } Ċ