package Ġcom . sp itch enko . photo editor . feature . main . presentation . view model . bindings Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġcom . sp itch enko . photo editor . BR Ċ import Ġcom . sp itch enko . photo editor . R Ċ import Ġcom . sp itch enko . photo editor . feature . main . presentation . view model . Main ViewModel Ċ import Ġcom . sp itch enko . presentation . view model . binding . Binding Class Ċ Ċ class ĠItem Controller Binding ( ĊĠĠĠ Ġoverride Ġval ĠitemId : ĠLong , ĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠMain ViewModel , ĊĠĠĠ Ġval Ġimage : ĠBitmap ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġprogress : ĠInt ? Ġ= Ġnull Ċ ) Ġ: ĠBinding Class Ġ{ ĊĠĠĠ Ġoverride Ġval Ġlayout Id : ĠInt Ġ= ĠR . layout . item _ controller ĊĊĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġother Controller Ġ= Ġother Ġas ? ĠItem Controller Binding Ġ?: Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġimage ?. same As ( other Controller . image ) Ġ== Ġtrue Ġ&& Ġprogress Ġ== Ġother Controller . progress ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( view Data Binding : ĠView Data Binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview Data Binding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Variable ( BR . image , Ġimage ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Variable ( BR . viewModel , ĠviewModel ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Variable ( BR . progress , Ġprogress ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Variable ( BR . image Ready , Ġimage Ġ!= Ġnull Ġ&& Ġprogress Ġ== Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }