package Ġcom . example . biz not i 0 . Adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . annotation . NonNull Ċ import Ġandroidx . navigation . find Nav Controller Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . example . biz not i 0 . Model . Profile User Ċ import Ġcom . example . biz not i 0 . R Ċ import Ġcom . example . biz not i 0 . ViewModels . Search ViewModel Ċ import Ġde . hd od enh of . circle image view . Circle ImageView Ċ Ċ class ĠProfile Adapter Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġvar Ġmodel : ĠSearch ViewModel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġvar Ġuser context : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġvar Ġuser list : List < Profile User >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġvar ĠFragment : ĠBoolean Ġ= Ġfalse ) Ġ: ĠRecyclerView . Adapter < Profile Adapter . ViewHolder >() Ċ Ċ { ĊĊĠĠĠ Ġ// View Ġholder Ġto Ġreturn Ġviews Ġon Ġthe Ġlayout Ġcreated ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠProfile Adapter . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( user context ). inflate ( R . layout . result _ layout , parent , false ) ĊĠĠĠĠĠĠĠ Ġreturn ĠProfile Adapter . ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// gets Ġthe Ġtotal Ġitem Ġof Ġsearches Ġobtained Ġfrom Ġthe Ġdatabase ĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġuser list . size ĊĊĠĠĠ Ġ} Ċ Ġ// Display s Ġthe Ġdata Ġobtained Ġfrom Ġsearch ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠProfile Adapter . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠ Ġval Ġuser obt ainer Ġ= Ġuser list [ position ] ĊĊĠĠĠĠ Ġholder . Name . text Ġ= Ġuser obt ainer . getF NAME () Ġ+ Ġ" Ġ Ġ"+ Ġuser obt ainer . get L Name () ĊĠĠĠĠ Ġholder . Account Type . text Ġ= Ġuser obt ainer . get AC Type () ĊĊĠĠĠĠ Ġval Ġrequest Options Ġ= ĠRequest Options () ĊĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . profile ) ĊĠĠĠĠĠĠĠĠ Ġ. error ( R . drawable . profile ) ĊĊĠĠĠĠ Ġ// ĠSo Ġthe Ġtutorial Ġwas Ġusing Ġpic asso Ġbut ĠI Ġfound Ġbetter Ġloading Ġtimes Ġwith Ġg lide ĊĠĠĠĠ ĠG lide . with ( holder . item View ) ĊĠĠĠĠĠĠĠĠ Ġ. apply Default RequestOptions ( request Options ) ĊĠĠĠĠĠĠĠĠ Ġ. load ( user obt ainer . get Profile ImageUrl ()) ĊĠĠĠĠĠĠĠĠ Ġ. into ( holder . item View . findViewById < Circle ImageView >( R . id . search _ list _ element _ image ) !! ) Ċ Ċ // ĠĠĠĠ ĠPic asso . get (). load ( user obt ainer . get Profile ImageUrl ()). placeholder ( R . drawable . profile ). into ( holder . Profile Picture ) ĊĊ ĊĊĠĠĠĠĠ Ġholder . item View . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠ ĠLog . d (" Profile Adapter ", Ġ" user obt ainer : Ġ${ user obt ainer . toString () }") ĊĠĠĠĠĠĠĠĠĠ ĠLog . d (" Profile Adapter ", Ġ" context : Ġ$ user context ") ĊĠĠĠĠĠĠĠĠĠ Ġmodel . select ( user obt ainer ) ĊĊĠĠĠĠĠĠĠĠĠ Ġval Ġimm Ġ= Ġuser context . getSystem Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠĠĠĠĠĠĠ Ġimm . hide Soft Input From Window ( it . window Token , Ġ 0 ) ĊĊĠĠĠĠĠĠĠĠĠ Ġit . find Nav Controller (). navigate ( R . id . navigation _ profile , Ġnull ) ĊĊĊĊ ĊĊĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ Ċ class ĠViewHolder Ġ(@ NonNull ĠitemView : ĠView ): ĠRecyclerView . ViewHolder ( item View ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠName : TextView Ġ= ĠitemView . findViewById ( R . id . search _ list _ element _ user _ name ) ĊĠĠĠĠĠĠĠ Ġval ĠAccount Type : TextView Ġ= ĠitemView . findViewById ( R . id . search _ list _ element _ account _ type ) ĊĠĠĠĠĠĠĠ Ġval ĠProfile Picture : ImageView Ġ= ĠitemView . findViewById ( R . id . search _ list _ element _ image ) ĊĊĠĠĠ Ġ} Ċ Ċ }