package Ġcom . zone . chat ter z . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Relative Layout Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . google . firebase . database . Data Snapshot Ċ import Ġcom . mik ha el lope z . circular image view . Circular ImageView Ċ import Ġcom . zone . chat ter z . R Ċ import Ġcom . zone . chat ter z . connection . Connection Ċ import Ġcom . zone . chat ter z . connection . Firebase Methods Ċ import Ġcom . zone . chat ter z . connection . Request Callback Ċ import Ġcom . zone . chat ter z . home . Profile Activity Ċ import Ġcom . zone . chat ter z . model . User Ċ import Ġjava . io . File Ċ Ċ class ĠFollow ers Following Adapter ( ĊĠĠĠ ĠmContext : ĠContext , ĊĠĠĠ Ġm UserList : ĠMutable List < String >, ĊĠĠĠ Ġfollowing HashMap : ĠHashMap < String , ĠBoolean >? Ċ ) Ġ: ĠRecyclerView . Adapter < Follow ers Following Adapter . View holder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠmContext Ġ= ĠmContext ĊĠĠĠ Ġprivate Ġval Ġm UserList Ġ= Ġm UserList ĊĠĠĠ Ġprivate Ġval Ġfollowing HashMap Ġ= Ġfollowing HashMap ĊĊĠĠĠ Ġclass ĠView holder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġfollow ers _ following _ profile _ img Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . findViewById < Circular ImageView >( R . id . followers _ following _ profile _ img ) ĊĠĠĠĠĠĠĠ Ġval Ġfollow ers _ following _ online _ status Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . findViewById < Circular ImageView >( R . id . followers _ following _ online _ status ) ĊĠĠĠĠĠĠĠ Ġval Ġfollow ers _ following _ unique _ display _ name Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . findViewById < TextView >( R . id . followers _ following _ unique _ display _ name ) ĊĠĠĠĠĠĠĠ Ġval Ġfollow ers _ following _ profile _ name Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . findViewById < TextView >( R . id . followers _ following _ profile _ name ) ĊĠĠĠĠĠĠĠ Ġval Ġfollow _ button _ follow er _ following _ screen Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . findViewById < Relative Layout >( R . id . follow _ button _ follow er _ following _ screen ) ĊĠĠĠĠĠĠĠ Ġval Ġfollowing _ button _ follow er _ following _ screen Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . findViewById < Relative Layout >( R . id . following _ button _ follow er _ following _ screen ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠView holder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( mContext ). inflate ( R . layout . followers _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠView holder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm UserList . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠView holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġm UserList [ position ] ĊĊĠĠĠĠĠĠĠ ĠFirebase Methods . single Value Event ( Connection . user Ref Ġ+ ĠFile . separator Ġ+ Ġuser , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠRequest Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Data Changed ( data Snapshot : ĠData Snapshot ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġdata Snapshot . getValue ( User :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user . imageUrl . equals (" null ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( user . gender . equals (" Male ")){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . followers _ following _ profile _ img . setImage Resource ( R . drawable . ic _ male _ gender _ profile ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . followers _ following _ profile _ img . setImage Resource ( R . drawable . ic _ female _ gender _ profile ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( mContext ). load ( user . imageUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( holder . followers _ following _ profile _ img ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user . status . equals (" online ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . followers _ following _ online _ status . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . followers _ following _ online _ status . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . followers _ following _ profile _ name . text Ġ= Ġuser . username ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( following HashMap Ġ!= Ġnull Ġ&& Ġfollowing HashMap . containsKey ( user )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . following _ button _ follow er _ following _ screen . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . following _ button _ follow er _ following _ screen . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . following _ button _ follow er _ following _ screen . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . following _ button _ follow er _ following _ screen . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( mContext , ĠProfile Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" for ", Ġ" checking ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" user ", Ġuser ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( following HashMap Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( following HashMap . containsKey ( user )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" is Following ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" is Following ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" is Following ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmContext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }