package Ġco . example . the mov ied b . the mov ied b app . home Ċ Ċ import Ġandroid . databinding . Binding Adapter Ċ import Ġandroid . support . design . widget . Snackbar Ċ import Ġandroid . support . v 4 . widget . Swipe Refresh Layout Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġco . example . the mov ied b . the mov ied b app . R Ċ import Ġco . example . the mov ied b . the mov ied b app . data . Resource Ċ import Ġco . example . the mov ied b . the mov ied b app . data . Status Ċ import Ġco . example . the mov ied b . the mov ied b app . home . model . ListItem Ċ Ċ /** Ċ Ġ* ĠUtility Ġobject Ġthat Ġhandle Ġ[ Binding Adapter ] Ġfor ĠHome Ġsection Ċ Ġ* Ċ Ġ* Ġ@ author Ġs anti ago al vare z Ċ Ġ*/ Ċ object ĠHome Bindings Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġthe Ġ[ Resource < List >] Ġto Ġthe Ġ[ re cyclerView ] Ġadapter ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Binding Adapter (" resource ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġset Items ( re cyclerView : ĠRecyclerView ?, Ġresource : ĠResource < List <* >> ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( re cyclerView Ġ== Ġnull Ġ|| Ġresource ?. data Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠ Ġwith ( re cyclerView . adapter Ġas ĠHome RecyclerView Adapter ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Data ( resource . data Ġas ĠList < ListItem >) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( resource . status Ġ== ĠStatus . ERROR ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( re cyclerView , ĠR . string . general _ error , ĠSn ackbar . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġthe Ġ[ Swipe Refresh Layout . On Refresh Listener ] Ġto Ġthe Ġ[ Swipe Refresh Layout ] Ġand Ġnotify Ġto Ġ[ User Interaction Listener ] ĊĠĠĠĠ Ġ* Ġof Ġrefresh Ġactions ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Binding Adapter (" refresh Listener ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġset Swipe Refresh Listener ( refresh Layout : ĠSw ipe Refresh Layout ?, Ġuser Interaction Listener : ĠUser Interaction Listener ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( refresh Layout Ġ== Ġnull Ġ|| Ġuser Interaction Listener Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠ Ġrefresh Layout . setOn Refresh Listener ( Swipe Refresh Layout . On Refresh Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser Interaction Listener . on Refresh () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġrefresh ing Ġto Ġthe Ġ[ Swipe Refresh Layout ] Ġdepending Ġof Ġthe Ġ[ Resource ] Ġstate ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Binding Adapter (" set Refresh ing ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġset Refresh ing ( refresh Layout : ĠSw ipe Refresh Layout ?, Ġresource : ĠResource < *> ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( refresh Layout Ġ== Ġnull Ġ|| Ġresource Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠ Ġwith ( refresh Layout ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Refresh ing Ġ= Ġresource . status Ġ== ĠStatus . LOADING ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }