/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 . ĠHu awei ĠTechnologies ĠCo ., ĠLtd . ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* ĠĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* ĠĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* ĠĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . hu awei . training . kotlin . fragments Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . hu awei . training . R Ċ import Ġcom . hu awei . training . kotlin . activities . Base Activity Ċ import Ġcom . hu awei . training . kotlin . activities . Course Details Activity Ċ import Ġcom . hu awei . training . kotlin . activities . Document View Activity Ċ import Ġcom . hu awei . training . kotlin . activities . Home Activity Ċ import Ġcom . hu awei . training . kotlin . adapters . Main Course ListAdapter Ċ import Ġcom . hu awei . training . kotlin . adapters . Slider Adapter Ċ import Ġcom . hu awei . training . kotlin . database . tables . Course Details Table Ċ import Ġcom . hu awei . training . kotlin . database . tables . Courses Main Category Table Ċ import Ġcom . hu awei . training . kotlin . database . tables . Recent ly View ed Courses Table Ċ import Ġcom . hu awei . training . databinding . Fragment Home Binding Ċ import Ġcom . hu awei . training . kotlin . listeners . Banner Item Click Ċ import Ġcom . hu awei . training . kotlin . listeners . Course Item Click Ċ import Ġcom . hu awei . training . kotlin . models . Banner Model Ċ import Ġcom . hu awei . training . kotlin . models . Course DataModel Ċ import Ġcom . hu awei . training . kotlin . models . Main Courses Model Ċ import Ġcom . hu awei . training . kotlin . utils . event manager . Analytics Constants Ċ import Ġcom . hu awei . training . kotlin . utils . video . Constants Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* Ġ@ author ĠHu awei ĠDT SE ĠIn dia Ċ Ġ* Ġ@ since Ġ 2 0 2 0 Ċ Ġ*/ Ċ class ĠHome Fragment Ċ /** Ċ Ġ* ĠInstanti ates Ġa Ġnew ĠHome Ġfragment . Ċ Ġ*/ ĊĠĠĠ Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠBinding . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġbinding : ĠFragment Home Binding ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠMain Ġcourses Ġmodels . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġmain Courses Models : ĠMutable List < Main Courses Model ?> Ġ= ĠArrayList () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠRecent ly Ġviewed Ġcourses Ġarray Ġlist . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġrecently View ed Courses ArrayList : ĠMutable List < Recent ly View ed Courses Table > Ġ= ĠArrayList () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠBanner Ġmodel Ġlist . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġbanner Model List : ĠMutable List < Banner Model > Ġ= ĠArrayList () ĊĠĠĠ Ġvar Ġimages Ġ= Ġint ArrayOf ( R . drawable . banner 1 , ĠR . drawable . banner 2 , ĠR . drawable . banner 3 , ĠR . drawable . banner 4 ) ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Requires Api ( api Ġ= ĠBuild . VERSION _ CODES . N ) ĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFragment Home Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset Slider () ĊĠĠĠĠĠĠĠ ĠsetData (( Objects . requireNonNull ( activity ) Ġas ĠHome Activity ). main Category List , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( activity Ġas ĠHome Activity ?) !!. co Details ArrayList , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( activity Ġas ĠHome Activity ?) !!. recent ly View ed Courses ArrayList ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding !!. root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġset Ġslider ĊĠĠĠ Ġprivate Ġfun Ġset Slider () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Banner Data () ĊĠĠĠĠĠĠĠ Ġbinding ?. view Pager ?. adapter Ġ= ĠSlider Adapter ( activity !! , Ġbanner Model List , Ġbanner Item Click ) ĊĠĠĠĠĠĠĠ Ġbinding ?. indicator ?. setup With ViewPager ( binding ?. view Pager , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġval Ġtimer Ġ= ĠTimer () ĊĠĠĠĠĠĠĠ Ġtimer . schedule At Fixed Rate ( Slider Timer (), ĠConstants . SL IDER _ DELAY , ĠConstants . SL IDER _ PERIOD ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠSlider Timer Ġ: ĠTimer Task () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( activity Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. run On Ui Thread ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( binding ?. view Pager ?. currentItem !! Ġ< Ġbanner Model List . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. view Pager ?. currentItem Ġ= Ġbinding !!. view Pager . currentItem Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. view Pager ?. currentItem Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( binding ?. view Pager ?. currentItem !! Ġ< Ġbanner Model List . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. view Pager ?. currentItem Ġ= Ġbinding ?. view Pager !!. currentItem Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. view Pager ?. currentItem Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġthe Ġmain Ġcourse Ġand Ġrecently Ġviewed Ġcourses Ġtitles , Ġdetails ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġmain Categories ĠĠĠĠĠĠĠĠĠĠĠ Ġthe Ġmain Ġcategories ĊĠĠĠĠ Ġ* Ġ@ param Ġco Details List ĠĠĠĠĠĠĠĠĠĠĠĠ Ġthe Ġco Ġdetails Ġlist ĊĠĠĠĠ Ġ* Ġ@ param Ġrecently View ed Courses List Ġthe Ġrecently Ġviewed Ġcourses Ġlist ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Requires Api ( api Ġ= ĠBuild . VERSION _ CODES . N ) ĊĠĠĠ Ġfun ĠsetData ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Categories : ĠList < Courses Main Category Table >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġco Details List : ĠList < Course Details Table >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecently View ed Courses List : ĠList < Recent ly View ed Courses Table >) Ġ{ ĊĠĠĠĠĠĠĠ Ġmain Courses Models . clear () ĊĠĠĠĠĠĠĠ Ġrecently View ed Courses ArrayList . clear () ĊĠĠĠĠĠĠĠ Ġif Ġ(! main Categories . isEmpty () Ġ&& Ġ! co Details List . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmain Courses Model : ĠMain Courses Model ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcourse DataModel : ĠCourse DataModel ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcourse DataModel List : ĠMutable List < Course DataModel > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( recent ly View ed Courses List . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcourse DataModel List Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( recent ly View ed Courses Ġin Ġrecently View ed Courses List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcourse DataModel Ġ= ĠCourse DataModel ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecently View ed Courses . course Id . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecently View ed Courses . course Name . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . mip map . h ms ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcourse DataModel List . add ( course DataModel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( course DataModel List . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Courses Model Ġ= ĠMain Courses Model ( main Categories [ 5 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. course Main Category Name . toString (), Ġcourse DataModel List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Courses Models . add ( main Courses Model ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr anging Courses In List ( main Categories , Ġco Details List ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! main Courses Models . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġactivity ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMain Course ListAdapter ( main Courses Models , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcourse Item Click , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. recyclerview Course list ?. set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. recyclerview Course list ?. layout Manager Ġ= ĠLinearLayoutManager ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. recyclerview Course list ?. adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Requires Api ( api Ġ= ĠBuild . VERSION _ CODES . N ) ĊĠĠĠ Ġprivate Ġfun Ġarr anging Courses In List ( main Categories : ĠList < Courses Main Category Table >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġco Details List : ĠList < Course Details Table >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhash Set Course Ids Ġ= ĠHashtable < Int , ĠString ?> () ĊĠĠĠĠĠĠĠ Ġval Ġhas htable Main Courses Model Ġ= ĠHashtable < Int , ĠMain Courses Model ?> () ĊĠĠĠĠĠĠĠ Ġvar Ġcourse DataModel : ĠCourse DataModel ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġfor Ġ( co Main Category Ġin Ġmain Categories ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhash Set Course Ids [ co Main Category . course Main CategoryId ] Ġ= Ġco Main Category . course Main Category Name ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( co Details Ġin Ġco Details List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( hash Set Course Ids . containsKey ( co Details . main CategoryId )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcourse DataModel Ġ= ĠCourse DataModel ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġco Details . course Id . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġco Details . course N ma e . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . mip map . h ms ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( has htable Main Courses Model . containsKey ( co Details . main CategoryId )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( course DataModel Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObjects . requireNonNull ( has htable Main Courses Model [ co Details . main CategoryId ]) ?. course Data Models ?. add ( course DataModel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcourse Model List : ĠMutable List < Course DataModel > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcourse Model List . add ( course DataModel !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas htable Main Courses Model [ co Details . main CategoryId ] Ġ= ĠMain Courses Model ( hash Set Course Ids [ co Details . main CategoryId ] !! , Ġcourse Model List ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġhas htable Main Courses Model . forEach Ġ{ Ġid : ĠInt ?, Ġm Main Courses Model : ĠMain Courses Model ? Ġ-> Ġmain Courses Models . add ( m Main Courses Model ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠCourse Ġitem Ġclick . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ// Ġcourse Ġitem Ġclick ĊĠĠĠ Ġvar Ġcourse Item Click Ġ= Ġobject Ġ: ĠCourse Item Click Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcourse OnClick ( model : ĠCourse DataModel ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( Objects . requireNonNull ( activity ) Ġas ĠBase Activity ). app Analytics !!. course Click Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAnalytics Constants . HOME _ SCREEN , Ġmodel ?. name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( activity , ĠCourse Details Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Constants . CO URSE _ NAME , Ġ"" Ġ+ Ġmodel ?. name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Constants . CO URSE _ ID , Ġmodel ?. course Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġset Ġbanner Ġdata ĊĠĠĠ Ġprivate Ġfun Ġset Banner Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġbanner Model List . clear () ĊĠĠĠĠĠĠĠ Ġval Ġnames Ġ= Ġresources . getString Array ( R . array . b ann ern mes ) ĊĠĠĠĠĠĠĠ Ġval Ġurls Ġ= Ġresources . getString Array ( R . array . urls ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġnames . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbanner Model List . add ( Banner Model ( names [ i ], Ġurls [ i ], Ġimages [ i ])) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġbanner Ġitem Ġclick ĊĠĠĠ Ġvar Ġbanner Item Click Ġ= Ġobject Ġ: ĠBanner Item Click Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbanner Click ( data : ĠBanner Model ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( activity , ĠDocument View Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Constants . CO URSE _ NAME , Ġdata ?. banner Url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Constants . CO URSE _ DOCUMENT URL , Ġdata ?. banner Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNew Ġinstance Ġhome Ġfragment . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġthe Ġhome Ġfragment ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance (): ĠHome Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠHome Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġargs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }