package Ġcom . ut sm ann n . anj ay paper . ui . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . paging . Load State Ċ import Ġandroidx . paging . Load State Adapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . ut sm ann n . anj ay paper . R Ċ import Ġkotlinx . android . synt hetic . main . item _ loader . view .* Ċ Ċ class ĠPhoto State Adapter ( private Ġval Ġretry : Ġ() Ġ-> ĠUnit ) Ġ: ĠLoad State Adapter < Photo State Adapter . Photo State ViewHolder >() Ġ{ ĊĠĠĠ Ġclass ĠPhoto State ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠPhoto State ViewHolder , Ġload State : ĠLoad State ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . item View . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress _ circular . isVisible Ġ= Ġload State Ġ! is ĠLoad State . Error ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn _ retry . isVisible Ġ= Ġload State Ġis ĠLoad State . Error ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn _ retry . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġretry . invoke () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġload State : ĠLoad State ): ĠPhoto State ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPhoto State ViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . item _ loader , Ġparent , Ġfalse )) ĊĠĠĠ Ġ} Ċ }