package Ġorg . dh is 2 . u ic omp onent s . map . carousel Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . resource . bitmap . Circle Crop Ċ import Ġcom . bump tech . glide . load . resource . drawable . Drawable Transition Options Ċ import Ġjava . io . File Ċ import Ġorg . dh is 2 . databinding . Item Carousel Relationship Binding Ċ import Ġorg . dh is 2 . u ic omp onent s . map . model . Relationship Ui ComponentModel Ċ import Ġorg . dh is 2 . u ic omp onent s . map . model . Te i Map Ċ Ċ class ĠCar ousel Relationship Holder ( ĊĠĠĠ Ġval Ġbinding : ĠItem Carousel Relationship Binding , ĊĠĠĠ Ġprivate Ġval Ġcurrent Te i : ĠString , ĊĠĠĠ Ġval Ġdelete : Ġ( String ) Ġ-> ĠBoolean , ĊĠĠĠ Ġval Ġclick Listener : Ġ( String ) Ġ-> ĠBoolean Ċ ) Ġ: ĊĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ), ĊĠĠĠ ĠCar ousel Binder < Relationship Ui ComponentModel > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( data : ĠRelationship Ui ComponentModel ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . clear Button . visibility Ġ= Ġif Ġ( data . can Be Deleted Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . clear Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelete ( data . relationship Uid ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . relationship Card . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick Listener ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Te i Ġ== Ġdata . from . te i Uid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . to . te i Uid !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . from . te i Uid !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . relationship TypeName . text Ġ= Ġdata . displayName ĊĠĠĠĠĠĠĠ Ġif Ġ( current Te i Ġ== Ġdata . from . te i Uid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Image ( data . from , Ġbinding . from Te i Image ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Image ( data . to , Ġbinding . to Te i Image ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Image ( data . to , Ġbinding . from Te i Image ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Image ( data . from , Ġbinding . to Te i Image ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( current Te i ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"" Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . to Relationship Name . text Ġ= Ġdata . to . main Attribute ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . from Relationship Name . text Ġ= Ġdata . from . main Attribute ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata . from . te i Uid Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . to Relationship Name . text Ġ= Ġdata . to . main Attribute ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . from Relationship Name . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata . to . te i Uid Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . to Relationship Name . text Ġ= Ġdata . from . main Attribute ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . from Relationship Name . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Image ( te i : ĠTe i Map , Ġtarget : ĠImageView ) Ġ{ ĊĠĠĠĠĠĠĠ ĠG lide . with ( item View . context ). load ( File ( te i . image )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( te i . default Image ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. error ( te i . default Image ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. transition ( Drawable Transition Options . with Cross Fade ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. transform ( Circle Crop ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( target ) ĊĠĠĠ Ġ} Ċ } Ċ