package Ġcom . flickr . gallery . android . fragments Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġandroid . text . util . Link ify Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . flickr . gallery . android . R Ċ import Ġcom . flickr . gallery . android . models . Feed Content Ċ import Ġcom . flickr . gallery . android . utils . G lide Utils Ċ import Ġkotlinx . android . synt hetic . main . feed _ details .* Ċ import Ġandroid . widget . TextView Ċ import Ġjava . util . regex . Pattern Ċ Ċ /** Ċ Ġ* ĠThis Ġdialog Ġis Ġresponsible Ġto Ġshow Ġfeed Ġdetails Ġwhen Ġuser Ġclicks Ġon Ġany Ġfeed Ġfrom ĠGallery Ċ Ġ*/ Ċ class ĠFeed Details Dialog Fragment Ġinternal Ġconstructor () Ġ: Ġandroidx . fragment . app . Dialog Fragment () Ġ{ ĊĊĊĠĠĠ Ġfun Ġnew Frag Instance ( frag Title Ġ: ĠString , Ġfeed Details Ġ: ĠFeed Content ) Ġ: ĠFeed Details Dialog Fragment { ĊĠĠĠĠĠĠĠ Ġval Ġfrag Instance Ġ= ĠFeed Details Dialog Fragment () ĊĠĠĠĠĠĠĠ Ġval Ġbundle Args Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġbundle Args . putString (" frag Title ", Ġfrag Title Ġ) ĊĠĠĠĠĠĠĠ Ġbundle Args . put Serializable (" feed Details ", Ġfeed Details ) ĊĠĠĠĠĠĠĠ Ġfrag Instance . arguments Ġ= Ġbundle Args ĊĠĠĠĠĠĠĠ Ġreturn Ġfrag Instance ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . feed _ details , Ġcontainer ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġarguments !!. getString (" frag Title ", Ġ" Feed ĠDetails ") ĊĠĠĠĠĠĠĠ Ġdialog !!. setTitle ( title ) ĊĠĠĠĠĠĠĠ Ġval Ġfeed Details Ġ= Ġarguments !!. get Serializable (" feed Details ") Ġas ĠFeed Content ĊĠĠĠĠĠĠĠ Ġfeed _ details _ author _ tv . text Ġ= Ġfeed Details . author ĊĠĠĠĠĠĠĠ Ġ// feed _ details _ feed title _ tv . text Ġ= Ġ Ġfeed Details . feed Title ĊĠĠĠĠĠĠĠ Ġfeed _ details _ author _ url _ tv . text Ġ= Ġfeed Details . feed Author URI ĊĠĠĠĠĠĠĠ Ġ// add Link ( feed _ details _ author _ url _ tv , Ġ" Profile ", Ġfeed Details . feed Author URI !! Ġ) ĊĠĠĠĠĠĠĠ Ġfeed _ details _ img _ desc _ tv . text Ġ= Ġfeed Details . posted Image Title ĊĠĠĠĠĠĠĠ Ġval Ġtime Ġ= Ġfeed Details . feed Date !!. sub Sequence ( 1 1 , feed Details . feed Date !!. length - 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġ( feed Details . feed Date !!. sub Sequence ( 0 , 1 0 )) ĊĠĠĠĠĠĠĠ Ġfeed _ details _ posted _ by _ tv . text Ġ= Ġ" Posted Ġby Ġ"+ feed Details . post edBy Ġ+" Ġon Ġ" +" $ date , Ġ$ time " ĊĠĠĠĠĠĠĠ Ġfeed _ details _ close _ iv . setOnClickListener ( View . OnClickListener Ġ{ Ġdialog !!. dismiss () Ġ}) ĊĠĠĠĠĠĠĠ ĠG lide Utils . load Feed Thumbnail ( R . mip map . ic _ launcher , Ġfeed _ details _ posted _ img _ iv , Ġcontext !! , Ġfeed Details . photo URI !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= Ġdialog ĊĠĠĠĠĠĠĠ Ġif Ġ( dialog Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwidth Ġ= ĠViewGroup . LayoutParams . MATCH _ PARENT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheight Ġ= ĠViewGroup . LayoutParams . MATCH _ PARENT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog !!. getWindow (). setLayout ( width , Ġheight ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Link ( ĊĠĠĠĠĠĠĠ ĠtextView : ĠTextView , Ġpattern To Match : ĠString , ĊĠĠĠĠĠĠĠ Ġlink : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfilter Ġ= ĠLink ify . Transform Filter Ġ{ Ġmatch , Ġurl Ġ-> Ġlink Ġ} ĊĠĠĠĠĠĠĠ ĠLink ify . add Links ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView , ĠPattern . compile ( pattern To Match ), Ġnull , Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ Ċ }