package Ġcom . ric ard ote ix e ira . app . presentation . list cities Ċ Ċ import Ġandroid . view . View Ċ import Ġcom . ric ard ote ix e ira . domain . models . current . Current Weather Entity Model Ċ Ċ data Ġclass ĠList C ities ViewState ( ĊĠĠĠ Ġval Ġis Showing Sn ackBar : ĠBoolean , ĊĠĠĠ Ġval Ġerror : ĠString ?, ĊĠĠĠ Ġval Ġresult : ĠList < Current Weather Entity Model >, ĊĠĠĠ Ġval Ġresponse Type : ĠResponse Type Ċ ) Ċ Ċ data Ġclass ĠResponse Type ( ĊĠĠĠ Ġval Ġui ComponentType : ĠUI ComponentType , ĊĠĠĠ Ġval Ġmessage Type : ĠMessageType Ċ ) Ċ Ċ sealed Ġclass ĠUI ComponentType Ġ{ ĊĊĠĠĠ Ġclass ĠToast ( val Ġmessage : ĠString ?) Ġ: ĠUI ComponentType () ĊĊĠĠĠ Ġclass ĠDialog Ġ: ĠUI ComponentType () ĊĊĠĠĠ Ġclass ĠAre You S ure Dialog ( val Ġcallback : ĠAre You S ure Callback ) Ġ: ĠUI ComponentType () ĊĊĠĠĠ Ġclass ĠSn ackBar ( ĊĠĠĠĠĠĠĠ Ġval Ġmessage : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġundo Callback : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġval Ġon Dismiss Callback : ĠTo Do Callback ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ: ĠUI ComponentType () ĊĊĠĠĠ Ġclass ĠNone Ġ: ĠUI ComponentType () Ċ Ċ } Ċ Ċ sealed Ġclass ĠMessageType Ġ{ ĊĠĠĠ Ġclass ĠSuccess Ġ: ĠMessageType () ĊĊĠĠĠ Ġclass ĠError Ġ: ĠMessageType () ĊĊĠĠĠ Ġclass ĠInfo Ġ: ĠMessageType () ĊĊĠĠĠ Ġclass ĠNone Ġ: ĠMessageType () Ċ } Ċ Ċ interface ĠAre You S ure Callback Ġ{ ĊĊĠĠĠ Ġfun Ġproceed () ĊĊĠĠĠ Ġfun Ġcancel () Ċ } Ċ Ċ interface ĠSn ackBar Undo Callback Ġ{ ĊĊĠĠĠ Ġfun Ġundo () Ċ } Ċ Ċ class ĠSn ackbar Undo Listener Ċ constructor ( ĊĠĠĠ Ġprivate Ġval Ġsn ackbar Undo Callback : ĠSn ackBar Undo Callback ? Ċ ) Ġ: ĠView . OnClickListener Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsn ackbar Undo Callback ?. undo () ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ interface ĠTo Do Callback Ġ{ ĊĊĠĠĠ Ġfun Ġexecute () Ċ } ĊĊ