package Ġcom . pat lo ew . o eff itr acker . ui . trip . list Ċ Ċ import Ġandroidx . compose . foundation . layout . Padding Values Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . lazy . Lazy List State Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . paging . compose . Lazy Paging Items Ċ import Ġcom . pat lo ew . o eff itr acker . R Ċ import Ġcom . pat lo ew . o eff itr acker . data . model . Trip Ċ import Ġcom . pat lo ew . o eff itr acker . ui . common . Lazy List Ċ import Ġcom . pat lo ew . o eff itr acker . ui . common . ListItem Ċ import Ġcom . pat lo ew . o eff itr acker . ui . common . Section Header Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . launch Ċ Ċ /* ĠCopyright Ġ 2 0 2 1 ĠPat rick ĠL Ã¶ wen stein Ċ Ġ* Ċ Ġ* Ġ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 . Ġ*/ Ċ Ċ @ Composable Ċ fun ĠLazy Trip List ( ĊĠĠĠ Ġitems : ĠLazy Paging Items < ListItem < Trip , ĠTrip Section >>, ĊĠĠĠ Ġempty Title Res : ĠInt Ġ= ĠR . string . empty _ state _ trip _ title , ĊĠĠĠ Ġempty Text Res : ĠInt Ġ= ĠR . string . empty _ state _ trip _ text , ĊĠĠĠ ĠviewModel : ĠBase Trip List ViewModel , ĊĠĠĠ Ġcoroutine Scope : ĠCor outine Scope , ĊĠĠĠ Ġlist State : ĠLazy List State , ĊĠĠĠ Ġcontent Padding : ĠPadding Values Ċ ) Ġ{ ĊĠĠĠ ĠLazy List ( ĊĠĠĠĠĠĠĠ Ġitems Ġ= Ġitems , ĊĠĠĠĠĠĠĠ ĠgetKey Ġ= Ġ{ Ġlist Item Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( list Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠListItem . Entry Ġ-> Ġlist Item . data . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠListItem . Section Ġ-> Ġlist Item . data . hashCode (). sh l ( 1 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ ĠisEmpty Ġ= ĠviewModel . isEmpty , ĊĠĠĠĠĠĠĠ Ġempty Title Res Ġ= Ġempty Title Res , ĊĠĠĠĠĠĠĠ Ġempty Text Res Ġ= Ġempty Text Res , ĊĠĠĠĠĠĠĠ Ġlist State Ġ= Ġlist State , ĊĠĠĠĠĠĠĠ Ġcontent Padding Ġ= Ġcontent Padding ĊĠĠĠ Ġ) Ġ{ Ġlist Item Ġ-> ĊĠĠĠĠĠĠĠ Ġwhen Ġ( list Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠListItem . Entry Ġ-> ĠTrip Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Item . data , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel :: onDelete , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel :: get Template For Today , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel :: get Return Template , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscroll To Top Ġ= Ġ{ Ġcoroutine Scope . launch Ġ{ Ġlist State . animate Scroll To Item ( 0 ) Ġ} Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠListItem . Section Ġ-> ĠSection Header ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠModifier . padding ( horizontal Ġ= Ġ 1 6 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Item . data . month , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Item . data . f are Sum ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }