package Ġcom . example . mov ied b . ui . screen . movie detail Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġandroidx . navigation . fragment . nav Args Ċ import Ġcom . example . mov ied b . R Ċ import Ġcom . example . mov ied b . data . model . Movie Ċ import Ġcom . example . mov ied b . databinding . Fragment Movie Detail Binding Ċ import Ġcom . example . mov ied b . ui . base . Base Fragment Ċ import Ġkotlinx . android . synt hetic . main . fragment _ movie _ detail .* Ċ import Ġorg . k oin . android x . view model . ext . viewModel Ċ Ċ class ĠMovie Detail Fragment Ġ: ĠBase Fragment < Fragment Movie Detail Binding , ĠMovie Detail ViewModel >() Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMOV IE Ġ= Ġ" MOV IE " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG Ġ= Ġ" Movie Detail Fragment " ĊĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( movie : ĠMovie ) Ġ= ĠMovie Detail Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Parcelable ( MOV IE , Ġmovie ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġlayout Id : ĠInt Ġ= ĠR . layout . fragment _ movie _ detail ĊĊĠĠĠ Ġoverride Ġval ĠviewModel : ĠMovie Detail ViewModel Ġby ĠviewModel () ĊĊĠĠĠ Ġval Ġargs : ĠMovie Detail Fragment Args Ġby Ġnav Args () ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbutton _ favorite ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . favorite Movie () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġimage _ back ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate Up () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewModel . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . movie . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmovie . value Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Favorite ( it . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }