/* Ċ Ġ* Ġ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 . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . hu awei . training . kotlin . activities . Base Activity Ċ import Ġcom . hu awei . training . kotlin . activities . Document View Activity Ċ import Ġcom . hu awei . training . kotlin . adapters . Course Content Details ListAdapter Ċ import Ġcom . hu awei . training . databinding . Fragment Code Labs Binding Ċ import Ġcom . hu awei . training . kotlin . listeners . Course Content Item Click Ċ import Ġcom . hu awei . training . kotlin . models . Course Content DataModel Ċ import Ġcom . hu awei . training . kotlin . utils . video . Constants Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* Ġ@ since Ġ 2 0 2 0 Ċ Ġ* Ġ@ author ĠHu awei ĠDT SE ĠIn dia Ċ Ġ*/ Ċ class ĠCode Labs Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠBinding . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġbinding : ĠFragment Code Labs Binding ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠMy Ġlist Ġdata . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġmy List Data : ĠArrayList < Course Content DataModel ?> ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠRe cycler Ġview . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġre cyclerView : ĠRecyclerView ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġif Ġ( arguments Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmy List Data Ġ= Ġarguments !!. get Parcelable ArrayList ( ARG _ PARAM 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFragment Code Labs Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġre cyclerView Ġ= Ġbinding ?. recyclerview C odel abs list ĊĠĠĠĠĠĠĠ Ġbinding ?. recyclerview C odel abs list ?. set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠ Ġbinding ?. recyclerview C odel abs list ?. layout Manager Ġ= ĠLinearLayoutManager ( activity ) ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠCourse Content Details ListAdapter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy List Data , Ġcourse Item Click ) ĊĠĠĠĠĠĠĠ Ġre cyclerView ?. adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding ?. root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠCourse Ġitem Ġclick . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ// Ġcourse Ġitem Ġclick ĊĠĠĠ Ġvar Ġcourse Item Click Ġ= Ġobject Ġ: ĠCourse Content Item Click Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcourse OnClick ( model : ĠCourse Content DataModel ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( Objects . requireNonNull ( activity ) Ġas ĠBase Activity ). app Analytics !!. code Lab Click Event ( model ?. course Id , Ġmodel ?. course Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( activity , ĠDocument View Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Constants . CO URSE _ DOCUMENT URL , Ġ"" Ġ+ Ġmodel ?. course Url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Constants . CO URSE _ NAME , Ġ"" Ġ+ Ġmodel ?. course Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ PARAM 1 Ġ= Ġ" param 1 " ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNew Ġinstance Ġcode Ġl abs Ġfragment . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġmy List Data Ġthe Ġmy Ġlist Ġdata ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġthe Ġcode Ġl abs Ġfragment ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( my List Data : ĠArrayList < Course Content DataModel >): ĠCode Labs Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Labs Fragment Ġ= ĠCode Labs Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcode Labs Args Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Labs Args . put Parcelable ArrayList ( ARG _ PARAM 1 , Ġmy List Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcode Labs Fragment . arguments Ġ= Ġcode Labs Args ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcode Labs Fragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }