package Ġcom . l ud ov ic . vim ont . random cock tail . random Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . l ud ov ic . vim ont . random cock tail . R Ċ import Ġcom . l ud ov ic . vim ont . random cock tail . model . Dr ink Item Ċ import Ġcom . l ud ov ic . vim ont . random cock tail . ui . adapter . Ingredient Adapter Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġandroidx . recyclerview . widget . Divider Item Decoration Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . l ud ov ic . vim ont . random cock tail . model . Constants Ċ Ċ class ĠRandom Activity Ġ: ĠAppCompatActivity (), ĊĠĠĠ ĠRandom View Ġ{ ĊĠĠĠ Ġprivate Ġval Ġrandom Presenter Ġ= ĊĠĠĠĠĠĠĠ ĠRandom Presenter ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRandom Interactor () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠtextView Dr ink Name : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠimageView Dr ink Image : ĠImageView ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠtextView Dr ink Instructions : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġre cyclerView Ing redients : ĠRecyclerView ĊĊĠĠĠ Ġ// ĠTODO : Ġdisplay Ġstate ful Ġloading ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ random ) ĊĊĠĠĠĠĠĠĠ ĠtextView Dr ink Name Ġ= ĠfindViewById ( R . id . text _ view _ dr ink _ name ) ĊĠĠĠĠĠĠĠ ĠimageView Dr ink Image Ġ= ĠfindViewById ( R . id . image _ view _ dr ink _ image ) ĊĠĠĠĠĠĠĠ ĠtextView Dr ink Instructions Ġ= ĠfindViewById ( R . id . text _ view _ dr ink _ instructions ) ĊĠĠĠĠĠĠĠ Ġre cyclerView Ing redients Ġ= ĠfindViewById ( R . id . recycler _ view _ ingredients ) ĊĠĠĠĠĠĠĠ Ġadd I em Decoration To RecyclerView () ĊĊĠĠĠĠĠĠĠ ĠonCreate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd I em Decoration To RecyclerView () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Decoration Ġ= ĠDiv ider Item Decoration ( application Context , ĠDiv ider Item Decoration . VERTICAL ) ĊĠĠĠĠĠĠĠ Ġval Ġdrawable Ġ= ĠContext Compat . get Drawable ( application Context , ĠR . drawable . recycler _ view _ divider ) ĊĠĠĠĠĠĠĠ Ġdrawable ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Decoration . set Drawable ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġre cyclerView Ing redients . addItem Decoration ( item Decoration ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġrandom Presenter . load Dr ink ( application Context , Ġintent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . random _ activity _ action _ bar _ menu , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . item _ action _ refresh Ġ-> Ġon Refresh () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Refresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( intent . has Extra ( Constants . KEY _ DR INK _ ITEM )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . remove Extra ( Constants . KEY _ DR INK _ ITEM ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrandom Presenter . load Dr ink ( application Context , Ġintent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠTODO : Ġincrease Ġsize Ġtext ĊĠĠĠ Ġoverride Ġfun Ġdisplay C ock tail ( dr ink Item : ĠD rink Item ) Ġ{ ĊĠĠĠĠĠĠĠ ĠtextView Dr ink Name . text Ġ= Ġdrink Item . getName () ĊĠĠĠĠĠĠĠ ĠPic asso . get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( dr ink Item . getImage ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . ic _ placeholder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( imageView Dr ink Image ) ĊĠĠĠĠĠĠĠ ĠtextView Dr ink Instructions . text Ġ= Ġdrink Item . get Instructions () ĊĠĠĠĠĠĠĠ Ġre cyclerView Ing redients . adapter Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink Item . get Ing redients () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġre cyclerView Ing redients . layout Manager Ġ= ĠLinearLayoutManager ( application Context , ĠRecyclerView . VERTICAL , Ġfalse ) ĊĠĠĠ Ġ} Ċ }