package Ġcom . p all aw . firebase gallery Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . p all aw . firebase gallery . Util . load Image Ċ import Ġcom . p all aw . firebase gallery . view model . Photo ViewModel Ċ import Ġcom . p all aw . firebase gallery . view model . factory . Photo ViewModel Factory Ċ import Ġkotlinx . android . synt hetic . main . fragment _ gallery _ zoom .* Ċ Ċ /** Ċ Ġ* ĠA Ġsimple Ġ[ Fragment ] Ġsubclass . Ċ Ġ*/ Ċ class ĠGallery Zoom Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠPhoto ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ gallery _ zoom , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġ// init ĠviewModel ĊĠĠĠĠĠĠĠ Ġinit ViewModel () ĊĊĠĠĠĠĠĠĠ Ġarguments ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfrom Bundle Ġ= ĠGallery Zoom Fragment Args . from Bundle ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġphoto Ġ= Ġfrom Bundle . photo ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . update Title ( photo . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . enable Fab ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . enable Back Button ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphoto _ zoom . load Image ( photo . url ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit ViewModel () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . viewModel Store , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPhoto ViewModel Factory ( it . application ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). get ( Photo ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ