package Ġcom . macro _ manager . macro app Ċ Ċ import ĠList eners . Recipe Listener Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . android . vol ley . toolbox . String Request Ċ import Ġcom . android . vol ley . toolbox . Vol ley Ċ import Ġcom . google . android . material . floating action button . Floating ActionButton Ċ Ċ class ĠRecipe Ġ: ĠAppCompatActivity (), ĠRecipe Listener Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġre cyclerView : ĠRecyclerView ĊĠĠĠ Ġlateinit Ġvar Ġ Ġfloating ActionButton Ġ: ĠFloating ActionButton ĊĠĠĠ Ġlateinit Ġvar Ġbtn Pro ceed Ġ: ĠFloating ActionButton ĊĠĠĠ Ġlateinit Ġvar Ġrecipe Ids Ġ: ĠArrayList < Int > ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . main _ list ) ĊĠĠĠĠĠĠĠ Ġvar Ġdi ary String Ġ: ĠString Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġbtn Pro ceed Ġ= ĠfindViewById ( R . id . fab Pro ceed ) ĊĠĠĠĠĠĠĠ Ġbtn Pro ceed . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġfloating ActionButton Ġ= ĠfindViewById ( R . id . floating ActionButton ) ĊĠĠĠĠĠĠĠ Ġif Ġ( intent . has Extra (" Di ary ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( intent . getString Extra (" Di ary ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" New " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Pro ceed . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Pro ceed . setOnClickListener Ġ{ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! recipe Ids . isNull OrEmpty ()) Ġbtn Pro ceed ( recipe Ids , Ġ" New ", Ġintent . getString Extra (" ID "). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠToast . makeText ( this ," Please Ġselect Ġa Ġrecipe ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e Ġ: ĠUn initialized Property AccessException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this ," Please Ġselect Ġa Ġrecipe ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfloating ActionButton . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdi ary String Ġ= Ġ" New " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Update " Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Pro ceed . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdi ary String Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfloating ActionButton . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ= ĠIntent ( this , ĠFood :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . putExtra (" Recipe ", Ġ" New ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . startActivity ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfloating ActionButton . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ= ĠIntent ( this , ĠFood :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . putExtra (" Recipe ", Ġ" New ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . startActivity ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġre cyclerView Ġ= ĠfindViewById ( R . id . re cyclerView L unch ) ĊĊĠĠĠĠĠĠĠ Ġval Ġqueue Ġ= ĠVol ley . new Request Queue ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġstring Request Ġ: ĠString Request Ġ= ĠRequests . Recipe . getRequest ( re cyclerView , Ġdi ary String , Ġthis ) ĊĠĠĠĠĠĠĠ Ġqueue . add ( string Request ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbtn Pro ceed ( recipe Ids : ĠArrayList < Int >, Ġdi ary : ĠString , Ġid : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġi Ġ= ĠIntent ( this , ĠNew Di ary Entry :: class . java ) ĊĠĠĠĠĠĠĠ Ġi . putExtra (" Di ary ", Ġdi ary ) ĊĠĠĠĠĠĠĠ Ġi . putExtra (" IDs ", Ġrecipe Ids ) ĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ!= Ġ" 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi . putExtra (" ID ", Ġid ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . startActivity ( i ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Recipe Change ( array List : ĠArrayList < Int >) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Recipe Change ( array List ) ĊĠĠĠĠĠĠĠ Ġthis . recipe Ids Ġ= Ġarray List ĊĠĠĠ Ġ} Ċ Ċ } Ċ