package Ġcom . example . city search . ui Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġcom . example . city search . R Ċ import Ġcom . example . city search . reactive . View Binder Ċ import Ġcom . example . city search . reactive . View Binder Imp Ċ import Ġcom . example . city search . view models . City SearchResult ViewModel Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ Ċ /** Ċ Ġ* ĠView Ġfor ĠCity SearchResult ĠMV VM . Ċ Ġ* Ċ Ġ* ĠHandles Ġbinding Ġto Ġthe Ġview - model Ċ Ġ*/ Ċ class ĠCity SearchResult Cell ( ĊĠĠĠ Ġoverride Ġval Ġview : ĠConstraint Layout , ĊĠĠĠ Ġprivate Ġval Ġtitle Label : ĠTextView , ĊĠĠĠ Ġprivate Ġval ĠimageView : ĠImageView , ĊĠĠĠ Ġprivate Ġval Ġbinder : ĠView Binder Ċ ): ĠRe cycler Cell < City SearchResult ViewModel > Ġ{ ĊĊĠĠĠ Ġconstructor ( view : ĠView ) Ġ: Ġthis ( view Ġas ĠConstraint Layout ) ĊĊĠĠĠ Ġconstructor ( view : ĠConstraint Layout ) Ġ: Ġthis ( view , Ġview . findViewById ( R . id . title Label ), Ġview . findViewById ( R . id . imageView ), ĠView Binder Imp ()) ĊĊĠĠĠ Ġoverride Ġvar ĠviewModel : ĠCity SearchResult ViewModel ? Ġ= Ġnull ĊĠĠĠ Ġset ( value ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĊĠĠĠĠĠĠĠ Ġun bind () ĊĊĠĠĠĠĠĠĠ Ġif ( value Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĊĠĠĠĠĠĠĠ Ġbind To ViewModel ( value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġtitle Binding : ĠDis posable ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġimage Binding : ĠDis posable ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠ ĠimageView . clip To Outline Ġ= Ġtrue Ġ// ĠL OL : Ġhttps :// issue tracker . google . com / issues / 3 7 0 3 6 7 2 8 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbind To ViewModel ( viewModel : ĠCity SearchResult ViewModel ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġtitle Binding Ġ= Ġbinder . bind TextView ( title Label , ĠviewModel . title ) ĊĠĠĠĠĠĠĠ Ġimage Binding Ġ= Ġbinder . bind ImageView ( imageView , ĠviewModel . icon Image ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġun bind () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġtitle Binding ?. dispose () ĊĠĠĠĠĠĠĠ Ġtitle Binding Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġimage Binding ?. dispose () ĊĠĠĠĠĠĠĠ Ġimage Binding Ġ= Ġnull ĊĠĠĠ Ġ} Ċ }