package Ġla ure ny ew . image browser . browser . activities Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . view . MenuItem Ċ import Ġkotlinx . android . synt hetic . main . image _ detail _ activity .* Ċ import Ġla ure ny ew . image browser . base . feature Managers . Feature Module Manager Controller Ċ import Ġla ure ny ew . image browser . browser . Image Browser Feature Module Manager Ċ import Ġla ure ny ew . image browser . browser . R Ċ import Ġla ure ny ew . image browser . browser . contracts . Image Browser Feature Module Contract Ċ import Ġla ure ny ew . image browser . browser . contracts . Image Detail Contract Ċ Ċ /** Ċ Ġ* Ġ@ author ĠLa uren ĠY ew Ġon Ġ 0 4 / 2 9 / 2 0 1 8 . Ċ Ġ* Ċ Ġ* ĠAn Ġactivity Ġrepresenting Ġa Ġsingle Ġimage Detail Ġdetail Ġscreen . ĠThis Ċ Ġ* Ġactivity Ġis Ġonly Ġused Ġon Ġnarrow Ġwidth Ġdevices . ĠOn Ġtablet - size Ġdevices , Ċ Ġ* Ġitem Ġdetails Ġare Ġpresented Ġside - by - side Ġwith Ġa Ġlist Ġof Ġitems Ċ Ġ* Ġin Ġa Ġ[ Image Browser Activity ]. Ċ Ġ*/ Ċ open Ġclass ĠImage Detail Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( context : ĠContext , ĠitemId : ĠString , Ġitem ImageUrl : ĠString , Ġitem Title : ĠString ? Ġ= Ġnull ): ĠIntent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( context , ĠImage Detail Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Image Detail Contract . View . ARG _ ITEM _ ID , ĠitemId ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Image Detail Contract . View . ARG _ ITEM _ IMAGE _ URL , Ġitem ImageUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Title Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Image Detail Contract . View . ARG _ ITEM _ IMAGE _ TITLE , Ġitem Title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . image _ detail _ activity ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠShow Ġthe ĠUp Ġbutton Ġin Ġthe Ġaction Ġbar . ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmodule : ĠImage Browser Feature Module Contract . Views Ġ= ĠFeature Module Manager Controller . get Feature Module Manager ( Image Browser Feature Module Contract . Views :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠImage Browser Feature Module Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠitemId Ġ= Ġintent . getString Extra ( Image Detail Contract . View . ARG _ ITEM _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠimageUrl Ġ= Ġintent . getString Extra ( Image Detail Contract . View . ARG _ ITEM _ IMAGE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Title Ġ= Ġintent . getString Extra ( Image Detail Contract . View . ARG _ ITEM _ IMAGE _ TITLE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdetail Fragment Ġ= Ġmodule . getImage Detail View ( itemId , ĠimageUrl , Ġitem Title ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( detail Fragment Ġis ĠFragment ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( R . id . image Detail Container , Ġdetail Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate Up To ( Intent ( this , ĠImage Browser Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ }