package Ġcom . example . ni ke demo app . utils Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . resource . drawable . Drawable Transition Options Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . example . ni ke demo app . R Ċ import Ġcom . example . ni ke demo app . feed . Main Adapter Ċ import Ġcom . example . ni ke demo app . feed . iT une Api Status Ċ import Ġcom . example . ni ke demo app . models . Album Ċ Ċ @ Binding Adapter (" album Name ") Ċ fun ĠTextView . set Result Image ( item : ĠAlbum ?) Ġ{ ĊĠĠĠ Ġitem ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġ"${ it . name }\ n BY : Ġ${ it . artist Name }" ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Binding Adapter (" imageUrl ") Ċ fun Ġbind Image ( imageView : ĠImageView , ĠimageUrl : ĠString ?) Ċ { ĊĠĠĠ ĠimageUrl ?. let Ġ{ ĊĠĠĠĠĠĠĠ ĠG lide . with ( imageView . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( imageUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRequest Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . loading _ animation ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. error ( R . drawable . ic _ launcher _ background )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. transition ( Drawable Transition Options . with Cross Fade ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( imageView ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Binding Adapter (" list Data ") Ċ fun Ġbind RecyclerView ( re cyclerView : ĠRecyclerView , Ġdata : ĠList < Album > ?) Ġ{ ĊĠĠĠ Ġval Ġadapter Ġ= Ġre cyclerView . adapter Ġas ĠMain Adapter ĊĠĠĠ Ġadapter . submit List ( data ) Ċ } Ċ Ċ @ Binding Adapter (" feed Api Status ") Ċ fun Ġbind Status ( status ImageView : ĠImageView , Ġstatus : Ġi T une Api Status ) Ġ{ ĊĠĠĠ Ġwhen ( status ) Ġ{ ĊĠĠĠĠĠĠĠ Ġi T une Api Status . LOADING Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus ImageView . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus ImageView . setImage Resource ( R . drawable . loading _ animation ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġi T une Api Status . ERROR Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus ImageView . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus ImageView . setImage Resource ( R . drawable . ic _ error _ black _ 2 4 dp ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġi T une Api Status . DONE Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus ImageView . visibility Ġ= ĠView . GONE ĊĊĠĠĠ Ġ} Ċ }