package Ġcom . pol idea . cock pit . sample . sample params Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġcom . pol idea . cock pit . cock pit . C ock pit Ċ import Ġcom . pol idea . cock pit . sample . Style Ċ import Ġcom . pol idea . cock pit . sample . model . Item Ċ import Ġjava . text . NumberFormat Ċ import Ġjava . util .* Ċ Ċ abstract Ġclass ĠSample Base Presenter ( open Ġval Ġsample View : ĠSample Base Contract . View <* >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Ġval Ġsample Model : ĠSample Base Contract . Model ) Ġ: ĠSample Base Contract . Presenter Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcurrency Format Ġ= ĠNumber Format . getC urrency Instance ( Locale . US ) ĊĊĠĠĠ Ġoverride Ġfun Ġstart () Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Views () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstop () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġinit Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġsample View . setStyle ( Style . for Value ( C ock pit . getStyle Selected Value ())) ĊĠĠĠĠĠĠĠ Ġsample View . set Total Price FontSize ( C ock pit . getTotal Price FontSize (). toFloat ()) ĊĠĠĠĠĠĠĠ Ġsample View . set Heading Text ( C ock pit . get Heading Text ()) ĊĠĠĠĠĠĠĠ Ġsample View . set Footer Text ( C ock pit . get Footer ()) ĊĠĠĠĠĠĠĠ Ġsample View . set Footer TextColor ( Color . parse Color ( C ock pit . get Footer Font Color ())) ĊĠĠĠĠĠĠĠ Ġsample View . show Footer ( true ) ĊĊĠĠĠĠĠĠĠ Ġupdate All () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinfo Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġsample View . show Info Dialog () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcheckout Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġsample Model . reset () ĊĠĠĠĠĠĠĠ Ġupdate All () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġupdate All () Ġ{ ĊĠĠĠĠĠĠĠ Ġsample Model . getItems (). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsample View . update Item ( it . name , Ġcurrency Format . format ( it . price ), Ġit . count . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsample View . update Total Price ( currency Format . format ( sample Model . getTotal Price ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġplus Clicked ( itemName : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġupdate Item ( itemName ) Ġ{ Ġitem Ġ-> Ġ++ item . count Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġminus Clicked ( itemName : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġupdate Item ( itemName ) Ġ{ Ġitem Ġ-> Ġitem . count Ġ= ĠMath . max ( item . count Ġ- Ġ 1 , Ġ 0 ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Item ( itemName : ĠString , Ġoperation : Ġ( Item ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġsample Model . getItem ( itemName ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġoperation ( item ) ĊĠĠĠĠĠĠĠ Ġsample Model . update Item ( item ) ĊĠĠĠĠĠĠĠ Ġsample View . update Item ( itemName , Ġcurrency Format . format ( item . price ), Ġitem . count . toString ()) ĊĠĠĠĠĠĠĠ Ġsample View . update Total Price ( currency Format . format ( sample Model . getTotal Price ())) ĊĠĠĠ Ġ} Ċ }