package Ġcom . user . in vo ic eman agement . view . fragment . dialog Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Dialog Fragment Ċ import Ġandroid . support . v 7 . app . AlertDialog Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . EditText Ċ import Ġcom . user . in vo ic eman agement . R Ċ import Ġcom . user . in vo ic eman agement . model . data . Weight Enum Ċ import Ġcom . user . in vo ic eman agement . model . dto . Product Ċ import Ġcom . user . in vo ic eman agement . other . Constant Ċ import Ġcom . user . in vo ic eman agement . view . interfaces . Saver ĊĊ Ċ class ĠSet Weight Dialog Fragment Ġ: ĠDialog Fragment () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġed t New Weight : ĠEditText ĊĠĠĠ Ġlateinit Ġvar Ġbutton : ĠButton ĊĠĠĠ Ġlateinit Ġvar Ġproduct : ĠProduct ĊĠĠĠ Ġlateinit Ġvar Ġweight Enum : ĠWeight Enum ĊĠĠĠ Ġvar Ġfragment : ĠS aver ? Ġ= Ġnull ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( activity ) ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= Ġactivity . layout Inflater ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . dialog _ set _ weight , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġed t New Weight Ġ= Ġview . findViewById ( R . id . ed t New Weight ) ĊĊĠĠĠĠĠĠĠ Ġview . findViewById < Button >( R . id . btn Weight Minus ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠoldValue Ġ= Ġprepare String ( button . text . toString ()). toFloat OrNull () Ġ?: Ġ 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġprepare String ( ed t New Weight . text . toString ()). toFloat OrNull () Ġ?: Ġ 0 f ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Product Weight ( product , ĠoldValue Ġ- Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton . text Ġ= ĠConstant . price Format . format ( oldValue Ġ- Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment ?. save All () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġview . findViewById < Button >( R . id . btn Weight Reset ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Product Weight ( product , Ġ 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton . text Ġ= Ġ" 0 . 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment ?. save All () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġview . findViewById < Button >( R . id . btn Weight Plus ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠoldValue Ġ= Ġprepare String ( button . text . toString ()). toFloat OrNull () Ġ?: Ġ 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġprepare String ( ed t New Weight . text . toString ()). toFloat OrNull () Ġ?: Ġ 0 f ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Product Weight ( product , ĠoldValue Ġ+ Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton . text Ġ= ĠConstant . price Format . format ( oldValue Ġ+ Ġvalue ). replace (',', Ġ'.') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment ?. save All () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbuilder . setView ( view ). set Cancel able ( true ). create () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Product Weight ( product : ĠProduct , Ġweight Value : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( weight Enum ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWeight Enum . WEIGHT _ 1 Ġ-> Ġ{ Ġproduct . weight On Store Ġ= Ġweight Value Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWeight Enum . WEIGHT _ 2 Ġ-> Ġ{ Ġproduct . weight In F ridge Ġ= Ġweight Value Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWeight Enum . WEIGHT _ 3 Ġ-> Ġ{ Ġproduct . weight In Storage Ġ= Ġweight Value Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWeight Enum . WEIGHT _ 4 Ġ-> Ġ{ Ġproduct . weight 4 Ġ= Ġweight Value Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWeight Enum . WEIGHT _ 5 Ġ-> Ġ{ Ġproduct . weight 5 Ġ= Ġweight Value Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare String ( string : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġstring . trim () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace (',', Ġ'.') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( Constant . white Space Regex , Ġ"") ĊĠĠĠ Ġ} Ċ }