package Ġcom . nur bk . ps . country weather . adapters Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . Request Manager Ċ import Ġcom . nur bk . ps . country weather . R Ċ import Ġcom . nur bk . ps . country weather . databinding . Item Slider Image Binding Ċ import Ġcom . nur bk . ps . country weather . model . photos . Photo Ċ Ċ class ĠItem Pager Slider ( val Ġg lide : ĠRequest Manager , Ġvar Ġlist Data : ĠList < Photo >) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Item Pager Slider . Pager ViewHolder >() Ġ{ ĊĊĠĠĠ Ġinner Ġclass ĠP ager ViewHolder ( val Ġm Binding : ĠItem Slider Image Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( m Binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( photo : ĠPhoto ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg lide . load ( getUrl ( photo )). into ( m Binding . imageView ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . floating ActionButton . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon ItemClickListener ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ( photo ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠgetUrl ( photo : ĠPhoto ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" https :// live . static flickr . com /${ photo . server }/${ photo . id }_${ photo . secret }_ w . jpg " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠP ager ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠP ager ViewHolder ( Data Binding Util . inflate ( LayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ slider _ image , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠP ager ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( list Data [ position ]) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġlist Data . size ĊĊĠĠĠ Ġprivate Ġvar Ġon ItemClickListener : Ġ(( Photo ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġset ItemClickListener ( listener : Ġ( Photo ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon ItemClickListener Ġ= Ġlistener ĊĠĠĠ Ġ} Ċ Ċ }