package Ġcom . al yn va . dr inks . dr inks . scenarios . main ĊĊ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ Ċ import Ġcom . al yn va . dr inks . dr inks . R Ċ import Ġcom . al yn va . dr inks . dr inks . entities . Dr ink Ċ import Ġcom . al yn va . dr inks . dr inks . entities . Ingredient Ċ import Ġcom . al yn va . dr inks . dr inks . utils . G lide App Ċ import Ġkotlinx . android . synt hetic . main . fragment _ dr inks _ detail .* Ċ import Ġkotlinx . android . synt hetic . main . fragment _ dr inks _ list .* ĊĊ Ċ class ĠD rink s Detail Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠARG _ DR INK Ġ= Ġ" arg _ dr ink " ĊĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( dr ink Ġ: ĠD rink ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD rink s Detail Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Serializable ( ARG _ DR INK , Ġdrink ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ dr inks _ detail , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdrink Ġ= Ġget Dr ink () ĊĊĠĠĠĠĠĠĠ Ġactivity ?. let Ġ{ Ġthat Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide App . with ( that ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( dr ink . str Dr ink Thumb ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . no _ image _ icon _ 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( iv _ dr ink _ detail _ img ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtv _ dr ink _ detail _ nome . text Ġ= Ġdrink . str Dr ink ĊĠĠĠĠĠĠĠ Ġtv _ dr ink _ detail _ id . text Ġ= Ġ"# ${ dr ink . id Dr ink . toString () }" ĊĠĠĠĠĠĠĠ Ġtv _ dr ink _ detail _ cat _ al co . text Ġ= Ġ"${ dr ink . str Category } ĠâĢ¢ Ġ${ dr ink . str Al co h olic }" ĊĠĠĠĠĠĠĠ Ġtv _ dr ink _ detail _ glass . text Ġ= Ġdrink . str G lass ĊĠĠĠĠĠĠĠ Ġtv _ dr ink _ detail _ instr u . text Ġ= Ġdrink . str Instructions ĊĠĠĠĠĠĠĠ Ġtv _ dr ink _ detail _ date . text Ġ= Ġdrink . date Modified ĊĊĊĠĠĠĠĠĠĠ Ġval Ġingredients Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 1 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 1 !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 2 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 2 !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 3 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 3 !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 4 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 4 !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 5 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 5 !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 6 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 6 !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 7 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 7 !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 8 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 8 !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 9 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 9 !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 1 0 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 1 0 !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 1 1 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 1 1 !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 1 2 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 1 2 !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 1 3 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 1 3 !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 1 4 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 1 4 !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIng redient ( dr ink . str Ingredient 1 5 !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrink . str Measure 1 5 !! ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġload Ing redients List ( ingredients ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Ing redients List ( ingredients : ĠList < Ingredient >) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġactivity . let Ġ{ Ġthat Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠIng redient Adapter ( ingredients ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayout Manager Ġ= ĠLinearLayoutManager ( that ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrv Ing redients . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrv Ing redients . layout Manager Ġ= Ġlayout Manager ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Dr ink () Ġ: ĠD rink Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdrink Ġ= Ġarguments ?. get Serializable ( ARG _ DR INK ) Ġas ĠD rink ? ĊĠĠĠĠĠĠĠ Ġif Ġ( dr ink Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠNullPointerException (" Dr ink Ġcan Ġnot Ġbe Ġnull ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdrink ĊĠĠĠ Ġ} Ċ } Ċ