package Ġcom . inter nt ask . wise Le ap Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . core . net . to Uri Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . inter nt ask . wise Le ap . network . Market Item Ċ import Ġcom . inter nt ask . wise Le ap . ui . overview . Api Status Ċ import Ġcom . inter nt ask . wise Le ap . ui . overview . Photo Grid Adapter Ċ Ċ /** Ċ Ġ* ĠWhen Ġthere Ġis Ġno Ġdata Ġ( data Ġis Ġnull ), Ġhide Ġthe Ġ[ RecyclerView ], Ġotherwise Ġshow Ġit . Ċ Ġ*/ Ċ @ Binding Adapter (" list Data ") Ċ fun Ġbind RecyclerView ( re cyclerView : ĠRecyclerView , Ġdata : ĠList < Market Item > ?) Ġ{ ĊĠĠĠ Ġval Ġadapter Ġ= Ġre cyclerView . adapter Ġas ĠPhoto Grid Adapter ĊĠĠĠ Ġadapter . submit List ( data ) Ċ } Ċ Ċ /** Ċ Ġ* ĠUses Ġthe ĠG lide Ġlibrary Ġto Ġload Ġan Ġimage Ġby ĠURL Ġinto Ġan Ġ[ ImageView ] Ċ Ġ*/ Ċ @ Binding Adapter (" imageUrl ") Ċ fun Ġbind Image ( img View : ĠImageView , Ġimg Url : ĠString ?) Ġ{ ĊĠĠĠ Ġimg Url ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġimg Uri Ġ= Ġimg Url . to Uri (). build Up on (). scheme (" https "). build () ĊĠĠĠĠĠĠĠ ĠG lide . with ( img View . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( img Uri ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . loading _ animation ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. error ( R . drawable . ic _ broken _ image )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( img View ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠThis Ġbinding Ġadapter Ġdisplays Ġthe Ġ[ Api Status ] Ġof Ġthe Ġnetwork Ġrequest Ġin Ġan Ġimage Ġview . Ġ ĠWhen Ċ Ġ* Ġthe Ġrequest Ġis Ġloading , Ġit Ġdisplays Ġa Ġloading _ animation . Ġ ĠIf Ġthe Ġrequest Ġhas Ġan Ġerror , Ġit Ċ Ġ* Ġdisplays Ġa Ġbroken Ġimage Ġto Ġreflect Ġthe Ġconnection Ġerror . Ġ ĠWhen Ġthe Ġrequest Ġis Ġfinished , Ġit Ċ Ġ* Ġhide s Ġthe Ġimage Ġview . Ċ Ġ*/ Ċ @ Binding Adapter (" Api Status ") Ċ fun Ġbind Status ( status ImageView : ĠImageView , Ġstatus : ĠApi Status ?) Ġ{ ĊĠĠĠ Ġwhen Ġ( status ) Ġ{ ĊĠĠĠĠĠĠĠ ĠApi Status . LOADING Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus ImageView . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus ImageView . setImage Resource ( R . drawable . loading _ animation ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠApi Status . ERROR Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus ImageView . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus ImageView . setImage Resource ( R . drawable . ic _ connection _ error ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠApi Status . DONE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus ImageView . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ