package Ġcom . learn . todo app . presentation . utils Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . learn . todo app . R Ċ import Ġcom . learn . todo app . domain . models . ToDo Ċ Ċ @ Binding Adapter (" isVisible ") Ċ fun ĠView . show Hide ( show : ĠBoolean ) Ġ{ ĊĠĠĠ Ġvisibility Ġ= Ġif Ġ( show ) ĠView . VISIBLE Ġelse ĠView . GONE Ċ } Ċ Ċ @ Binding Adapter ( value Ġ= Ġ[" setAdapter "]) Ċ fun ĠRecyclerView . bind RecyclerView Adapter ( adapter : ĠRecyclerView . Adapter <* >) Ġ{ ĊĠĠĠ Ġset Has Fixed Size ( true ) ĊĠĠĠ Ġthis . adapter Ġ= Ġadapter Ċ } Ċ Ċ @ Binding Adapter ( value Ġ= Ġ[" display Time "]) Ċ fun ĠTextView . display Time ( todo : ĠTo Do ?) Ġ{ ĊĠĠĠ Ġtodo ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġdisplay Time ( todo . hour , Ġtodo . minute ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Binding Adapter ( value Ġ= Ġ[" display Date "]) Ċ fun ĠTextView . display Date ( date : ĠLong ?) Ġ{ ĊĠĠĠ Ġdate ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġit . to Formatted Date Text () ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Binding Adapter ( value Ġ= Ġ[" alarm Time "]) Ċ fun ĠTextView . alarm Time ( alarm Time : ĠLong ?) Ġ{ ĊĊĠĠĠ Ġif Ġ( alarm Time Ġ!= Ġnull Ġ&& Ġalarm Time Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhint Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . alarm _ at , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalarm Time . to Formatted Date Text ( ALARM _ TIME _ DISPLAY _ FORMAT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} Ċ }