package Ġcom . mo sp oly tech . mo sp oly helper . features . ui . account . students . adapter Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . ProgressBar Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . paging . Load State Ċ import Ġandroidx . paging . Load State Adapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġby . kir ich 1 4 0 9 . view binding delegate . view Binding Ċ import Ġcom . mo sp oly tech . mo sp oly helper . R Ċ import Ġcom . mo sp oly tech . mo sp oly helper . databinding . Item Loading Binding Ċ import Ġcom . mo sp oly tech . mo sp oly helper . utils . inflate Ċ import Ġcom . mo sp oly tech . mo sp oly helper . utils . show Ċ Ċ class ĠP aging Loading Adapter ( private Ġval Ġretry : Ġ() Ġ-> ĠUnit ): ĠLoad State Adapter < Paging Loading Adapter . Loading State ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠLoading State ViewHolder , Ġload State : ĠLoad State ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind State ( load State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġload State : ĠLoad State ĊĠĠĠ Ġ): ĠLoading State ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLoading State ViewHolder ( parent . inflate ( R . layout . item _ loading ), Ġretry ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠLoading State ViewHolder ( item View : ĠView , Ġretry : Ġ() Ġ-> ĠUnit ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġview Binding Ġby Ġview Binding ( Item Loading Binding :: bind ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtv ErrorMessage : ĠTextView Ġ= Ġview Binding . tv Error ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠprogressBar : ĠProgress Bar Ġ= Ġview Binding . progress Bar ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbtn Retry : ĠButton Ġ= Ġview Binding . button Retry ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Retry . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġretry . invoke () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind State ( load State : ĠLoad State ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load State Ġis ĠLoad State . Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv ErrorMessage . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar . isVisible Ġ= Ġload State Ġis ĠLoad State . Loading ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv ErrorMessage . isVisible Ġ= Ġload State Ġ! is ĠLoad State . Loading ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Retry . isVisible Ġ= Ġload State Ġ! is ĠLoad State . Loading ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }