package Ġcom . fox hole . games keeper . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ 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 Ġcom . fox hole . games keeper . R Ċ import Ġcom . fox hole . games keeper . databinding . Layout Item Loading Binding Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠM us f ick ĠJ amil Ġon Ġ 1 / 1 1 / 2 0 2 1 $. Ċ Ġ*/ Ċ class ĠGame Load State Adapter ( private Ġval Ġretry : Ġ() Ġ-> ĠUnit ) Ġ: ĊĠĠĠ ĠLoad State Adapter < Game 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 Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayout Item Loading Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠLoad State ViewHolder ( binding , Ġretry ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠLoad State ViewHolder ( binding : ĠLayout Item Loading Binding , Ġretry : Ġ() Ġ-> ĠUnit ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠprogressBar : ĠProgress Bar Ġ= Ġbinding . progress Bar ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġerror Msg : ĠTextView Ġ= Ġbinding . error Msg ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġretry : ĠButton Ġ= Ġbinding . retry Button . also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġretry () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( load State : ĠLoad State ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load State Ġis ĠLoad State . Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Msg . text Ġ= Ġload State . error . localized Message ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar . isVisible Ġ= Ġload State Ġis ĠLoad State . Loading ĊĠĠĠĠĠĠĠĠĠĠĠ Ġretry . isVisible Ġ= Ġload State Ġis ĠLoad State . Error ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Msg . isVisible Ġ= Ġload State Ġis ĠLoad State . Error ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }