package Ġcom . gre edy game . sample . sdk . show case . n ong ames . travel _ app . adapters . view pager Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . gre edy game . core . ad view . general . Ad Load Callback Ċ import Ġcom . gre edy game . core . models . general . Ad Errors Ċ import Ġcom . gre edy game . sample . sdk . show case . n ong ames . travel _ app . model . Ad Pager Item Ċ import Ġcom . gre edy game . sample . sdk . show case . n ong ames . travel _ app . model . Base Item Ċ import Ġcom . gre edy game . sample . sdk . show case . n ong ames . travel _ app . model . Item Types Ċ import Ġcom . gre edy game . sample . sdk . show case . n ong ames . travel _ app . model . Places Pager Item Ċ import Ġcom . gre edy game . sample . sdk . utils . load Image Ċ import Ġcom . gre edy game . sample . sdk 8 . R Ċ import Ġkotlinx . android . synt hetic . main . places _ pager _ ad _ item . view .* Ċ import Ġkotlinx . android . synt hetic . main . places _ pager _ item . view .* Ċ import Ġkotlinx . android . synt hetic . main . places _ pager _ item . view . container Ċ Ċ class ĠPl aces Pager Adapter ( private Ġval Ġon Page Click :( item : ĠPl aces Pager Item )-> Unit ): RecyclerView . Adapter < Places Pager Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġdata Ġ= Ġmutable ListOf ( ĊĠĠĠĠĠĠĠ ĠPl aces Pager Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Types . CONTENT , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhero Url Ġ= Ġ" https :// i . imgur . com / y 7 v 9 pC J . png ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" An te lope \ n C any on ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Ġ= Ġ" A ri zon a , USA " ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ ĠPl aces Pager Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Types . CONTENT , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhero Url Ġ= Ġ" https :// i . imgur . com / Jb Z 9 2 p E . png ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Be ach \ n Mal div es ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Ġ= Ġ" Mal div es " ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ ĠPl aces Pager Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Types . CONTENT , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhero Url Ġ= Ġ" https :// i . imgur . com / Z BF e 6 7 z . png ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Am ri star \ n Fort ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Ġ= Ġ" Am ri ster , In dia " ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ ĠAd Pager Item ( Item Types . AD ), ĊĠĠĠĠĠĠĠ ĠPl aces Pager Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Types . CONTENT , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhero Url Ġ= Ġ" https :// i . imgur . com / T 5 t P ude . png ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" M ali bu \ n Is land ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Ġ= Ġ" California , USA " ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ ĠPl aces Pager Item ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Types . CONTENT , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhero Url Ġ= Ġ" https :// i . imgur . com / v 9 CS 3 W 3 . png ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" E iff el \ n Tower ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Ġ= Ġ" Par is , Fr ance " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ, ĠAd Pager Item ( Item Types . AD ) ĊĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata [ position ]. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( it . item Type Ġ== ĠItem Types . AD ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( Ad EventListener ( position ), it , on Page Click ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( null , it , on Page Click ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( view Type , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ Ċ // ĠĠĠĠĠĠĠ ĠTODO ĠUncomment ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen ( data [ position ]. item Type ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Types . AD ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . places _ pager _ ad _ item } ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Types . CONTENT ->{ R . layout . places _ pager _ item } ĊĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ ĠTODO ĠComment Ċ // ĠĠĠĠĠĠĠ Ġreturn ĠR . layout . places _ pager _ item ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ Ġ= Ġdata . size ĊĊĠĠĠ Ġclass ĠViewHolder ( val Ġview : ĠView ): RecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener : ĠAd EventListener ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Item : ĠBase Item , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Page Click : Ġ( item : ĠPl aces Pager Item ) Ġ-> ĠUnit ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( list Item . item Type ){ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTODO Ġuncomment ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠItem Types . AD ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. let Ġ{ Ġview . ad Unit . load Ad ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠItem Types . CONTENT ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Item Ġ= Ġlist Item Ġas ĠPl aces Pager Item ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . title . text Ġ Ġ= Ġdata Item . title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . location . text Ġ Ġ= Ġdata Item . location ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . hero Image . load Image ( list Item . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . container . setOnClickListener Ġ{ Ġon Page Click ( data Item ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĠĠĠ Ġinner Ġclass ĠAd EventListener ( private Ġval Ġposition : Int ): Ad Load Callback { ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Load Failed ( cause : ĠAd Errors ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata . remove At ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Removed ( position ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Loaded () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ready For Refresh () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon U ii Closed () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon U ii Opened () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } ĊĊ