package Ġbr . com . github finder . adapters Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . paging . Load State Ċ import Ġandroidx . paging . Load State Adapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġbr . com . github finder . databinding . Search Load State Footer View Item Binding Ċ Ċ class ĠLoad State Adapter ( private Ġval Ġretry : Ġ() Ġ-> ĠUnit ) Ġ: ĊĠĠĠ ĠLoad State Adapter < Load State ViewHolder >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠLoad State ViewHolder , Ġload State : ĠLoad State ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( load State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġload State : ĠLoad State ĊĠĠĠ Ġ): ĠLoad State ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLoad State ViewHolder . create ( parent , Ġretry ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠLoad State ViewHolder ( ĊĠĠĠ Ġprivate Ġval Ġbinding : ĠSearch Load State Footer View Item Binding , ĊĠĠĠ Ġretry : Ġ() Ġ-> ĠUnit Ċ ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . retry Button . setOnClickListener Ġ{ Ġretry . invoke () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind ( load State : ĠLoad State ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( load State Ġis ĠLoad State . Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . error Msg . text Ġ= Ġload State . error . localized Message ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . status Ġ= Ġload State ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( parent : ĠViewGroup , Ġretry : Ġ() Ġ-> ĠUnit ): ĠLoad State ViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠLoad State ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Load State Footer View Item Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġretry ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }