package Ġcom . ek o app . ek os dk . u ikit . base Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . NonNull Ċ import Ġandroidx . paging . Paged ListAdapter Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ Ċ abstract Ġclass ĠE ko Base RecyclerView Paged Adapter < T >( @ NonNull Ġdiff CallBack : ĠDiff Util . Item Callback < T >) Ġ: ĊĠĠĠ ĠP aged ListAdapter < T , ĠRecyclerView . ViewHolder >( diff CallBack ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ= ĊĠĠĠĠĠĠĠ Ġget ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Type , Ġparent , Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġview Type ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġ( holder Ġas ĠB inder < T >). bind ( getItem ( position ), Ġposition ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ= Ġget Layout Id ( position , ĠgetItem ( position )) ĊĊĠĠĠ Ġprotected Ġabstract Ġfun Ġget Layout Id ( position : ĠInt , Ġobj : ĠT ?): ĠInt ĊĊĠĠĠ Ġabstract Ġfun Ġget ViewHolder ( view : ĠView , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder ĊĊĠĠĠ Ġinterface ĠB inder < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( data : ĠT ?, Ġposition : ĠInt ) ĊĠĠĠ Ġ} Ċ }