package Ġcom . w lm . mv vm _ wan android . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . w lm . mv vm _ wan android . R Ċ import Ġcom . w lm . mv vm _ wan android . common . Banner Data Ċ import Ġcom . w lm . mv vm _ wan android . start K tx Activity Ċ import Ġcom . w lm . mv vm _ wan android . ui . activity . Browser Activity Ċ import Ġcom . yout h . banner . Banner Ċ import Ġcom . yout h . banner . Banner Config Ċ import Ġcom . yout h . banner . loader . Image Loader Ċ Ċ class ĠBanner ViewHolder ( parent : ĠViewGroup ) Ġ: ĠRecyclerView . ViewHolder ( ĊĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . layout _ banner , Ġparent , Ġfalse )) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġbanner Ġ= ĠitemView . findViewById < Banner >( R . id . banner ) ĊĊĠĠĠ Ġprivate Ġvar Ġbanner Datas : ĠList < Banner Data >? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġbanner Images Ġ= Ġmutable ListOf < String >() ĊĠĠĠ Ġprivate Ġval Ġbanner Titles Ġ= Ġmutable ListOf < String >() ĊĠĠĠ Ġprivate Ġval Ġbanner Urls Ġ= Ġmutable ListOf < String >() ĊĊĠĠĠ Ġfun Ġbind Banner ( b anners : ĠList < Banner Data > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġbanner Datas Ġ= Ġb anners ĊĠĠĠĠĠĠĠ Ġbanner Images . clear () ĊĠĠĠĠĠĠĠ Ġbanner Titles . clear () ĊĠĠĠĠĠĠĠ Ġbanner Urls . clear () ĊĠĠĠĠĠĠĠ Ġb anners ?. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbanner Images . add ( image Path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbanner Titles . add ( title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbanner Urls . add ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbanner . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Banner Style ( Banner Config . NUM _ IND IC ATOR _ TITLE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Image Loader ( G lide Image Loader ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Images ( banner Images ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Banner Titles ( banner Titles ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Banner Style ( Banner Config . NUM _ IND IC ATOR _ TITLE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Delay Time ( 3 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset On Banner Listener { Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . start K tx Activity < Browser Activity >( value Ġ= ĠBrowser Activity . KEY _ URL Ġto Ġbanner Urls [ position ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠG lide Image Loader Ġ: ĠImage Loader (){ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdisplay Image ( context : ĠContext , Ġpath : ĠAny ?, ĠimageView : ĠImageView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( context ). load ( path ). into ( imageView ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } ĊĊĊ