package Ġcom . obs . sample . adapter Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . obs . sample . Gallery Activity Ċ import Ġcom . obs . sample . R Ċ import Ġcom . obs . sample . S 3 File Ċ import Ġkotlinx . android . synt hetic . main . item _ dashboard _ layout . view .* Ċ Ċ open Ġclass ĠPicture Adapter ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġvar Ġlist : ĠArrayList < S 3 File >, ĊĠĠĠ Ġprivate Ġvar ĠActivity : ĠGallery Activity Ċ ) Ġ: ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMy ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ dashboard _ layout , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠBind s Ġeach Ġitem Ġin Ġthe ĠArrayList Ġto Ġa Ġview ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠCalled Ġwhen ĠRecyclerView Ġneeds Ġa Ġnew Ġ{@ link ĠViewHolder } Ġof Ġthe Ġgiven Ġtype Ġto Ġrepresent ĊĠĠĠĠ Ġ* Ġan Ġitem . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThis Ġnew ĠViewHolder Ġshould Ġbe Ġconstructed Ġwith Ġa Ġnew ĠView Ġthat Ġcan Ġrepresent Ġthe Ġitems ĊĠĠĠĠ Ġ* Ġof Ġthe Ġgiven Ġtype . ĠYou Ġcan Ġeither Ġcreate Ġa Ġnew ĠView Ġmanually Ġor Ġinf late Ġit Ġfrom Ġan ĠXML ĊĠĠĠĠ Ġ* Ġlayout Ġfile . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ Ġ= Ġlist [ position ] ĊĊĠĠĠĠĠĠĠ Ġif Ġ( holder Ġis ĠMy ViewHolder ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( context ). load ( file . path ). into ( holder . item View . iv _ dashboard _ item _ image ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Name : Ġ${ file . key }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ). show () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage (" Do Ġyou Ġwant Ġto Ġdelete Ġthis Ġfile Ġfrom Ġthe Ġbucket Ġ? ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button (" Yes ") Ġ{ Ġdialog , Ġid Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity . delete files ( file , Ġposition , Ġlist ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button (" No ") Ġ{ Ġdialog , Ġid Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDis miss Ġthe Ġdialog ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġalert Ġ= Ġbuilder . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalert . show () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): Int Ġ= Ġlist . size ĊĊ Ċ } ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġthe Ġnumber Ġof Ġitems Ġin Ġthe Ġlist ĊĠĠĠĠ Ġ*/ ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA ĠViewHolder Ġdescribes Ġan Ġitem Ġview Ġand Ġmetadata Ġabout Ġits Ġplace Ġwithin Ġthe ĠRecyclerView . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠMy ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) ĊĊĊ