package Ġcom . hq apps . sample _ app . presentation . search . adapter Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . hq apps . domain . model . Search Entity Ċ import Ġcom . hq apps . sample _ app . R Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġkotlinx . android . synt hetic . main . adapter _ search _ view _ holder . view .* Ċ Ċ class ĠSearch Adapter ( private Ġval Ġinflater : ĠLayoutInflater ) Ġ: ĠRecyclerView . Adapter < Search Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠAD AP TER _ DATA _ B UNDLE _ KEY Ġ= Ġ" ADAPTER _ DATA _ B UNDLE _ KEY " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġdata : ĠArrayList < Search Entity > Ġ= Ġarray ListOf () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewHolder ( in flater . inflate ( R . layout . adapter _ search _ view _ holder , Ġparent , Ġfalse )) ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . fill Cell ( data [ position ]) ĊĊĠĠĠ Ġfun Ġreplace Data ( data : ĠList < Search Entity > ){ ĊĠĠĠĠĠĠĠ Ġthis . data . clear () ĊĠĠĠĠĠĠĠ Ġthis . data . addAll ( data ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave State ( out State : ĠBundle ){ ĊĠĠĠĠĠĠĠ Ġout State . put Parcelable ArrayList ( ADAPTER _ DATA _ B UNDLE _ KEY , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrestore State ( out State : ĠBundle ? ){ ĊĠĠĠĠĠĠĠ Ġdata Ġ= Ġout State ?. get Parcelable ArrayList < Search Entity >( ADAPTER _ DATA _ B UNDLE _ KEY ) Ġas ĠArrayList < Search Entity > ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġfill Cell ( item : ĠSearch Entity ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . get (). load ( item . art work Url 1 0 0 ). into ( item View . cell _ image ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . cell _ title . text Ġ= Ġitem . track Name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . cell _ subtitle . text Ġ= Ġitem . artist Name ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }