package Ġme . pan pf . sketch . sample . item Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġme . pan pf . adapter . Assembly Item Ċ import Ġme . pan pf . adapter . Assembly Item Factory Ċ import Ġme . pan pf . adapter . k tx . bind View Ċ import Ġme . pan pf . android x kt . view . is Orientation Por trait Ċ import Ġme . pan pf . sketch . sample . Image Options Ċ import Ġme . pan pf . sketch . sample . R Ċ import Ġme . pan pf . sketch . sample . bean . Un splash Image Ċ import Ġme . pan pf . sketch . sample . util . Device Utils Ċ import Ġme . pan pf . sketch . sample . widget . Sample ImageView Ċ Ċ class ĠUn splash Photos Item Factory ( private Ġval Ġactivity : ĠActivity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġun splash Photos Item EventListener : ĠUn splash Photos Item EventListener ?) ĊĠĠĠ Ġ: ĠAssembly Item Factory < Un splash Image >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġmatch ( o : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġo Ġis ĠUn splash Image ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Assembly Item ( view Group : ĠViewGroup ): ĠUn splash Photos Item Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠUn splash Photos Item ( R . layout . list _ item _ image _ unsplash , Ġview Group ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠUn splash Photos Item EventListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick Image ( position : ĠInt , Ġimage : ĠUn splash Image , Ġoptions Key : ĠString ) ĊĊĠĠĠĠĠĠĠ Ġfun ĠonClick User ( position : ĠInt , Ġuser : ĠUn splash Image . User ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠUn splash Photos Item ( item Layout Id : ĠInt , Ġparent : ĠViewGroup ) Ġ: ĠAssembly Item < Un splash Image >( item Layout Id , Ġparent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠimageView : ĠSample ImageView Ġby Ġbind View ( R . id . image _ unsplash Image Item ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġuser Profile ImageView : ĠSample ImageView Ġby Ġbind View ( R . id . image _ unsplash Image Item _ user Profile ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠuserName TextView : ĠTextView Ġby Ġbind View ( R . id . text _ unsplash Image Item _ userName ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdate TextView : ĠTextView Ġby Ġbind View ( R . id . text _ unsplash Image Item _ date ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġroot ViewGroup : ĠViewGroup Ġby Ġbind View ( R . id . layout _ unsplash Image Item _ root ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Config Views ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageView . on ClickListener Ġ= ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata ?. let Ġ{ Ġit 1 Ġ-> Ġun splash Photos Item EventListener ?. onClick Image ( adapter Position , Ġit 1 , ĠimageView . options Key ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageView . set Options ( Image Options . LIST _ FULL ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageView . page Ġ= ĠSample ImageView . Page . UN SPL ASH _ LIST ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser Profile ImageView . set Options ( Image Options . C IRC ULAR _ ST RO KE ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser Profile ImageView . on ClickListener Ġ= ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata ?. user ?. let Ġ{ Ġit 1 Ġ-> Ġun splash Photos Item EventListener ?. onClick User ( adapter Position , Ġit 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserName TextView . setOnClickListener Ġ{ Ġuser Profile ImageView . perform Click () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon SetData ( i : ĠInt , Ġimage : ĠUn splash Image ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Width Ġ= ĠimageView . context . resources . display Metrics . width Pixels ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageView . layout Params ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . width Ġ= Ġitem Width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! imageView . context . is Orientation Por trait ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . width Ġ+= ĠDevice Utils . getWindow Height Supp lement ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . height Ġ= Ġ( it . width Ġ/ Ġ( image . width Ġ/ Ġimage . height . toFloat ())). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠimageView . layout Params Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot ViewGroup . layout Params ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . width Ġ= Ġitem Width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! imageView . context . is Orientation Por trait ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . width Ġ+= ĠDevice Utils . getWindow Height Supp lement ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . height Ġ= Ġ( it . width Ġ/ Ġ( image . width Ġ/ Ġimage . height . toFloat ())). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot ViewGroup . layout Params Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageView . display Image ( image . urls !!. regular !! ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser Profile ImageView . display Image ( image . user !!. profile Image !!. large !! ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserName TextView . text Ġ= Ġimage . user !!. name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate TextView . text Ġ= Ġimage . get Formatted Update Date () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }