package Ġcom . air bnb . mv rx . dog s Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . air bnb . mv rx . Base Mv Rx Fragment Ċ import Ġcom . air bnb . mv rx . Mv Rx Ċ import Ġcom . air bnb . mv rx . activity ViewModel Ċ import Ġcom . air bnb . mv rx . args Ċ import Ġcom . air bnb . mv rx . dog s . databinding . Dog Detail Fragment Binding Ċ import Ġcom . air bnb . mv rx . dog s . views . Dog Detail Fragment Handler Ċ import Ġcom . air bnb . mv rx . with State Ċ Ċ class ĠDog Detail Fragment Ġ: ĠBase Mv Rx Fragment (), ĠDog Detail Fragment Handler Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠDog ViewModel Ġby Ġactivity ViewModel () ĊĠĠĠ Ġprivate Ġval Ġdog Id : ĠLong Ġby Ġargs () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠDog Detail Fragment Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠDog Detail Fragment Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġbinding . handler Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Lo ve Clicked () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . love Dog ( dog Id ) ĊĠĠĠĠĠĠĠ Ġfind Nav Controller (). pop Back Stack () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinvalidate () Ġ= Ġwith State ( viewModel ) Ġ{ Ġstate Ġ-> ĊĠĠĠĠĠĠĠ Ġbinding . dog Ġ= Ġstate . dog ( dog Id ) Ġ?: Ġerror (" Cannot Ġfind Ġdog Ġwith Ġid Ġ$ dog Id ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġarg ( dog Id : ĠLong ) Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Long ( Mv Rx . KEY _ ARG , Ġdog Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }