package Ġteam . hack _ re va . cook labs Ċ Ċ import Ġandroid . app . Progress Dialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . ProgressBar Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . core . content . Context Compat . startActivity Ċ import Ġandroidx . core . net . to Uri Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġandroidx . swiper ef resh layout . widget . Circular Progress Drawable Ċ import Ġcom . google . firebase . dynamic links . k tx . android Parameters Ċ import Ġcom . google . firebase . dynamic links . k tx . dynamic Link Ċ import Ġcom . google . firebase . dynamic links . k tx . dynamic Links Ċ import Ġcom . google . firebase . dynamic links . k tx . short Link Async Ċ import Ġcom . google . firebase . dynamic links . k tx . component 1 Ċ import Ġcom . google . firebase . dynamic links . k tx . component 2 Ċ import Ġcom . google . firebase . k tx . Firebase Ċ import Ġcom . squareup . pic asso . Callback Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġde . hd od enh of . circle image view . Circle ImageView Ċ import Ġorg . json . JSONObject Ċ import Ġteam . hack _ re va . cook labs . Launcher Activity . Companion . name Of user Of The App Ċ import Ġteam . hack _ re va . cook labs . Launcher Activity . Companion . reference _ path _ to _ play _ the _ lab Ċ import Ġjava . io . File Ċ Ċ class ĠPost Adapter MainActivity ( private Ġvar Ġposts List : List < Posts >): Ċ RecyclerView . Adapter < Post Adapter MainActivity . My ViewHolder > (){ ĊĠĠĠ Ġlateinit Ġvar Ġcontext : Context ĊĠĠĠ Ġlateinit Ġvar Ġprogress Dialog RecyclerView : Progress Dialog ĊĠĠĠ Ġinner Ġclass ĠMy ViewHolder ( view : ĠView ): RecyclerView . ViewHolder ( view ){ ĊĠĠĠĠĠĠĠ Ġvar Ġtitle : TextView Ġ= Ġview . findViewById ( R . id . item _ heading ) ĊĠĠĠĠĠĠĠ Ġvar Ġbackground Image Ġ= Ġview . findViewById < ImageView >( R . id . background _ image ) ĊĠĠĠĠĠĠĠ Ġvar Ġprofile image Ġ= Ġview . findViewById < Circle ImageView >( R . id . prop ic _ icon ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMy ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠitemView Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . item _ cook labs _ main _ activity , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġcontext Ġ= Ġparent . context ĊĊĠĠĠĠĠĠĠ Ġreturn ĠMy ViewHolder ( item View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMy ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpost Ġ= Ġposts List [ position ] ĊĠĠĠĠĠĠĠ Ġholder . title . text Ġ= Ġpost . heading _ text ĊĠĠĠĠĠĠĠ Ġval Ġd Ġ= Ġpost . background _ pic _ url ĊĠĠĠĠĠĠĠ ĠLog . d (" CHECK ", Ġ" ADAPTER Ġ$ d ") ĊĠĠĠĠĠĠĠ Ġholder . profile image . setImage Resource ( R . drawable . ic _ baseline _ account _ circle _ 2 4 ) ĊĠĠĠĠĠĠĠ Ġholder . background Image . setImage Resource ( R . drawable . p ics art _ 1 1 _ 0 5 _ 0 7 _ 5 1 _ 5 4 ) ĊĠĠĠĠĠĠĠ Ġif ( post . user _ pic _ url ! =" "){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . get (). load ( post . user _ pic _ url ). placeholder ( R . drawable . ic _ baseline _ account _ circle _ 2 4 ). into ( holder . profile image ) ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . profile image . setImage Resource ( R . drawable . ic _ baseline _ account _ circle _ 2 4 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif ( post . background _ pic _ url ! =" "){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . get (). load ( post . background _ pic _ url ). placeholder ( R . drawable . p ics art _ 1 1 _ 0 5 _ 0 7 _ 5 1 _ 5 4 ). into ( holder . background Image ) ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . background Image . setImage Resource ( R . drawable . p ics art _ 1 1 _ 0 5 _ 0 7 _ 5 1 _ 5 4 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarray Ġ= Ġmutable ListOf < String >( post . heading _ text , post . reference , post . uid _ of _ author , post . author , post . user _ pic _ url ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference _ path _ to _ play _ the _ lab Ġ= Ġ" https :// m om touch - cook books . com / array =$ array " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( Intent ( context , ĠPlay Cook Labs :: class . java )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . item View . setOn Long ClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog RecyclerView Ġ= ĠProgress Dialog ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog RecyclerView . setMessage (" Generating Ġthe Ġlink Ġfor Ġthe Ġpost , Ġselected .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog RecyclerView . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠHere Ġi Ġneed Ġto Ġcreate Ġa Ġjson Ġdata Ġmake Ġis Ġserial is able Ġand Ġsend Ġit Ġto Ġgen Ġdynamic Ġarray ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarray Ġ= Ġmutable ListOf < String >( post . heading _ text , post . reference , post . uid _ of _ author , post . author , post . user _ pic _ url ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGenerate Dynamic Link (" https :// m om touch - cook books . com / array =$ array ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġposts List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠGenerate Dynamic Link ( reference _ path : String ){ ĊĠĠĠĠĠĠĠ Ġval Ġdynamic Link Ġ= ĠFirebase . dynamic Links . dynamic Link Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= ĠUri . parse ( reference _ path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdomain Uri Prefix Ġ= Ġ" https :// cook labs . page . link " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOpen Ġlinks Ġwith Ġthis Ġapp Ġon ĠAndroid ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Parameters Ġ{ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOpen Ġlinks Ġwith Ġcom . example . ios Ġon ĠiOS ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġdynamic Link Uri Ġ= Ġdynamic Link . uri ĊĠĠĠĠĠĠĠ ĠLog . d (" TAG LONG PRESS ", Ġ" Long Ġlink Ġgeneration Ġ: Ġ"+ dynamic Link . toString ()) ĊĠĠĠĠĠĠĠ Ġprogress Dialog RecyclerView . setMessage (" Dynamic Ġlink Ġgenerated . ĠNow , Ġtrying Ġto Ġshort en Ġthe Ġlink ...") ĊĠĠĠĠĠĠĠ Ġval Ġshort Link Task Ġ= ĠFirebase . dynamic Links . short Link Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlong Link Ġ= ĠUri . parse ( dynamic Link Uri . toString ()) ĊĠĠĠĠĠĠĠ Ġ}. add On Success Listener Ġ{ Ġ( short Link , Ġflow Chart Link ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠYou 'll Ġneed Ġto Ġimport Ġcom . google . firebase . dynamic links . k tx . component 1 Ġand ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcom . google . firebase . dynamic links . k tx . component 2 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" TAG LONG PRESS ", Ġ" Short Ġlink Ġgeneration Ġ: Ġ"+ short Link . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSend Url Text ( short Link . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog RecyclerView . dismiss () ĊĊĠĠĠĠĠĠĠ Ġ}. add On Failure Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠError ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog RecyclerView . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" ERROR ", Ġit . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Error Ġin Ġgenerating Ġthe Ġlink . ĠPlease Ġtry Ġagain .", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġfun ĠSend Url Text ( url : String ){ ĊĠĠĠĠĠĠĠ Ġval Ġstring Ġ= Ġ" H ey , ĠI Ġam Ġ$ name Of user Of The App .\ n \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠI Ġam Ġenjoy ing ĠM om 's ĠTouch - Cook books ĠApp ." Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" I Ġhave Ġshared Ġa Ġcook Ġlab Ġwith Ġyou . ĠFind Ġthe Ġlink Ġhere Ġand Ġprepare Ġa Ġgreat Ġdis h . Ġ$ url .\ n \ n Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" H aven 't Ġinstalled Ġthe Ġapp Ġyet ?. ĠNo Ġissues Ġjust Ġclick Ġon Ġthe Ġabove Ġlink Ġto Ġdownload Ġthe Ġapp ." Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" You Ġcan Ġalso Ġdownload Ġthe Ġapp Ġfrom Ġgithub Ġreleases .\ n https :// github . com / Team - Hack - Re va / RE VA - Hack - Submission / releases / tag / 1 . 0 . 1 " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsend Intent : ĠIntent Ġ= ĠIntent (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= ĠIntent . ACTION _ SEND ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Intent . EXTRA _ TEXT , Ġstring ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ" text / plain " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġshare Intent Ġ= ĠIntent . create Chooser ( send Intent , Ġnull ) ĊĠĠĠĠĠĠĠ Ġcontext . startActivity ( share Intent ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ data Ġclass ĠPosts ( var Ġuser _ pic _ url : String , Ġvar Ġbackground _ pic _ url : String , Ġvar Ġheading _ text : String , Ġvar Ġreference : String , Ġvar Ġstep _ count : Double , var Ġauthor : String , Ġvar Ġuid _ of _ author : String )