package Ġcom . bern af err ari . change detection . details visual Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . paging . Paged ListAdapter Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġcom . bern af err ari . change detection . data . Snap Ċ import Ġcom . bern af err ari . change detection . ui . RecyclerView Item Listener Ċ import Ġcom . bern af err ari . change detection . util . G lide Requests Ċ Ċ class ĠVisual Adapter ( ĊĠĠĠ Ġval Ġcallback : ĠRecyclerView Item Listener , ĊĠĠĠ Ġprivate Ġval Ġitem Height : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġitem Width : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġis Pdf : ĠBoolean , ĊĠĠĠ Ġprivate Ġval Ġg lide : ĠG lide Requests Ċ ) Ġ: ĊĠĠĠ ĠP aged ListAdapter < Snap , ĠVisual ViewHolder >( ĊĠĠĠĠĠĠĠ Ġdiff Callback ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠVisual ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind To ( getItem ( position ), Ġposition , Ġcontext , Ġg lide ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠVisual ViewHolder Ġ= ĊĠĠĠĠĠĠĠ ĠVisual ViewHolder ( parent , Ġitem Height , Ġitem Width , Ġis Pdf , Ġcallback ) ĊĊĠĠĠ Ġfun ĠgetItem From Adapter ( position : ĠInt ): ĠSnap ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . getItem ( position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdiff Callback Ġ= Ġobject Ġ: ĠDiff Util . Item Callback < Snap >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item : ĠSnap , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Item : ĠSnap ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item . snap Id Ġ== Ġnew Item . snap Id ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item : ĠSnap , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Item : ĠSnap ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ