package Ġcom . daily . party line Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . daily . party line . databinding . ListItem Header Binding Ċ Ċ class ĠHeader Adapter ( private Ġval Ġtitle : ĠString ?, Ġprivate Ġvar Ġtimer : ĠString ?) Ġ: ĠRecyclerView . Adapter < Header Adapter . ViewHolder ?> () Ġ{ ĊĊĠĠĠ Ġfun Ġupdate Time ( count Down : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġtimer Ġ= Ġcount Down ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠListItem Header Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( title , Ġtimer ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . list _ item _ header ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠViewHolder ( var Ġbinding : ĠListItem Header Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( title : ĠString ?, Ġtimer : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheader Title Ġ= Ġbinding . header ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheader Title . text Ġ= Ġtitle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( timer Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtimer View Ġ= Ġbinding . timer ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimer View . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimer View . text Ġ= Ġ" Demo Ġends Ġin Ġ$ timer " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . separator . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }