package Ġtech . med ina . tv shows . ui . tv shows . list . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . paging . Load State Ċ import Ġandroidx . paging . Load State Adapter Ċ import Ġtech . med ina . tv shows . databinding . Item Content Loader Binding Ċ Ċ /*** Ċ Ġ* ĠThis Ġadapter Ġis Ġin Ġcharge Ġof Ġdisplaying Ġthe Ġloader Ġor Ġerror Ġmessage Ġat Ġthe Ġbottom Ġof Ġthe Ġre cycler view Ċ Ġ* Ġwhen Ġthe Ġpagination Ġlibrary Ġis Ġloading Ġa Ġnew Ġpage Ġor Ġan Ġerror Ġhas Ġoc urred Ġwhile Ġdoing Ġit . Ċ Ġ*/ Ċ Ċ class ĠShows Load State Adapter ( ĊĠĠĠ Ġprivate Ġval Ġretry Function : Ġ(() Ġ-> ĠUnit )? Ċ ) Ġ: ĠLoad State Adapter < Show Load State ViewHolder >() Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( retry Function : Ġ(() Ġ-> ĠUnit )? ) Ġ= ĠShows Load State Adapter ( retry Function ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠShow Load State ViewHolder , Ġload State : ĠLoad State ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( load State , Ġretry Function ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġload State : ĠLoad State ): ĠShow Load State ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠItem Content Loader Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠShow Load State ViewHolder . create ( binding ) ĊĠĠĠ Ġ} Ċ Ċ } ĊĊĊ