package Ġcom . example . android . air quality pol len . presentation . details Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġcom . example . android . air quality pol len . business . air quality . entity . Air Quality Ċ import Ġjava . text . Decimal Format Ċ Ċ @ Binding Adapter (" current Location ") Ċ fun Ġbind Current Location ( location TV : ĠTextView , Ġair Quality : ĠAir Quality ?) Ġ{ ĊĠĠĠ Ġlocation TV . text Ġ= Ġif Ġ( air Quality Ġ!= Ġnull ) Ġ"${ air Quality . lat }, Ġ${ air Quality . lng }" Ġelse Ġ"" Ċ } Ċ Ċ @ Binding Adapter (" current Description ") Ċ fun Ġbind Current Description ( description TV : ĠTextView , Ġair Quality : ĠAir Quality ?) Ġ{ ĊĠĠĠ Ġval Ġdata Ġ= ĠArrayList < String >() ĊĠĠĠ Ġif Ġ( air Quality Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdescription TV . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( air Quality . place Name Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . add ( air Quality . place Name ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( air Quality . postal Code Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . add ( air Quality . postal Code ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( air Quality . division Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . add ( air Quality . division ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( air Quality . state Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . add ( air Quality . state ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( air Quality . country Code Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . add ( air Quality . country Code ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġdescription TV . text Ġ= Ġdata . join ToString ( separator Ġ= Ġ", Ġ") Ċ } Ċ Ċ @ Binding Adapter (" spinner G one If NotNull ") Ċ fun Ġspinner G one If NotNull ( view : ĠView , Ġit : ĠAny ?) Ġ{ ĊĠĠĠ Ġview . visibility Ġ= Ġif Ġ( it Ġ!= Ġnull ) ĠView . GONE Ġelse ĠView . VISIBLE Ċ } Ċ Ċ @ Binding Adapter (" format Decimal ") Ċ fun Ġformat Decimal ( value TV : ĠTextView , Ġvalue : ĠDouble ?) Ġ{ ĊĠĠĠ Ġval Ġdf Ġ= ĠDecimal Format (" ## 0 . 0 0 ") ĊĠĠĠ Ġvalue TV . text Ġ= Ġif Ġ( value Ġ!= Ġnull ) Ġdf . format ( value ) Ġelse Ġ"" Ċ } Ċ Ċ @ Binding Adapter (" format Integer ") Ċ fun Ġformat Integer ( value TV : ĠTextView , Ġvalue : ĠInt ?) Ġ{ ĊĠĠĠ Ġvalue TV . text Ġ= Ġvalue ?. toString () Ġ?: Ġ"" Ċ } Ċ