package Ġcom . vin ners . cube _ v ish w ak arma . ui . documents Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . content . res . Resources Compat Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġco il . api . load Ċ import Ġcom . vin ners . cube _ v ish w ak arma . R Ċ import Ġcom . vin ners . cube _ v ish w ak arma . base . App Info Ċ Ċ import Ġcom . vin ners . cube _ v ish w ak arma . data . models . documents . Documents Response ĊĊĊ Ċ interface Ġ ĠDocuments Details ClickListener Ġ{ ĊĊĠĠĠ Ġfun ĠOn Documents Click ( documents Response : ĠDocuments Response ) Ċ } Ċ Ċ class ĠDocument Details Recycler Adapter () Ġ: ĠRecyclerView . Adapter < Document Details Recycler Adapter . Document Details Recycler Holder >() Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġdocuments List Ġ= ĠlistOf < Documents Response >() ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcontext : ĠContext ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġapp Info Ġ: ĠApp Info ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdocuments Details ClickListener : ĠDocuments Details ClickListener ĊĊĊĊĠĠĠ Ġfun Ġupdate View List Ġ( documents List : ĠList < Documents Response >, app Info : ĠApp Info ){ ĊĠĠĠĠĠĠĠ Ġthis . documents List Ġ= Ġdocuments List ĊĠĠĠĠĠĠĠ Ġthis . app Info Ġ= Ġapp Info ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠDocument Details Recycler Holder Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . context Ġ= Ġparent . context ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . tutorials _ list _ layout , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠDocument Details Recycler Holder ( view ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠDocument Details Recycler Holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . on Bind ( documents List [ position ]) ĊĊĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdocuments List . size ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġposition . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Documents Listener ( documents Details ClickListener : ĠDocuments Details ClickListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . documents Details ClickListener Ġ= Ġdocuments Details ClickListener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . getItem ViewType ( position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠDocument Details Recycler Holder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġname Ġ= ĠitemView . findViewById < TextView >( R . id . name ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġpath Ġ= ĠitemView . findViewById < ImageView >( R . id . path ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdescription Ġ= ĠitemView . findViewById < TextView >( R . id . description ) ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdocuments Details ClickListener . On Documents Click ( documents List [ adapter Position ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġfun Ġon Bind ( documents List : ĠDocuments Response ){ Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsanit izer : ĠUrl Query Sanit izer Ġ= ĠUrl Query Sanit izer () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġsanit izer . set Allow Un registered Param aters ( true ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġsanit izer . parse Url ( documents List . path ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl path Ġ Ġ= Ġsanit izer . getValue (" v ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpath url Ġ= Ġdocuments List . path ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlink Ġ= Ġpath url ?. substring After (".") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( link . equals (" ppt ") Ġ|| Ġlink . equals (" ppt x ")){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath . setImage Drawable ( Resources Compat . get Drawable ( context . getResources (), ĠR . drawable . default _ ppt , Ġnull )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else Ġif Ġ( link . equals (" pdf ")){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath . setImage Drawable ( Resources Compat . get Drawable ( context . getResources (), ĠR . drawable . default _ pdf , Ġnull )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath . load ( app Info . getFull Attachment Url ( documents List . path !! )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage Ġ= Ġapp Info . getFull Attachment Url ( documents List . path !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" jh ug ", image ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname . text Ġ= Ġ"${ documents List . name }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . text Ġ= Ġdocuments List . description ĊĊĊĊ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊ Ċ }