package Ġcom . e ights ines . work lif eb alance . screen . go aled itor Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Handler Ċ import Ġandroid . support . v 7 . app . AlertDialog Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġcom . e ights ines . work lif eb alance . R Ċ import Ġcom . e ights ines . work lif eb alance . core . app . Base Activity Ċ import Ġcom . e ights ines . work lif eb alance . core . di . App Component Ċ import Ġcom . e ights ines . work lif eb alance . core . di . qual ifiers . Is Ui Handler Ċ import Ġcom . e ights ines . work lif eb alance . screen . go aled itor . di . Goal Editor Module Ċ import Ġkotlinx . android . synt hetic . main . go aled itor __ activity .* Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠGoal Editor Activity Ġ: ĠBase Activity < Goal Editor Presenter >() Ġ{ ĊĠĠĠ Ġ@ Inject Ġoverride Ġlateinit Ġvar Ġpresenter Ġ: ĠGoal Editor Presenter ĊĠĠĠ Ġ@ field :[ Inject ĠIs Ui Handler ] Ġlateinit Ġvar Ġui Handler Ġ: ĠHandler ĊĊĠĠĠ Ġprivate Ġvar Ġis Menu Items Visible Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState Ġ: ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . go aled itor __ activity ) ĊĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar View ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Show Home Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Home As Up Enabled ( true ) ĊĊĠĠĠĠĠĠĠ Ġsave Btn View . setOnClickListener Ġ{ Ġpresenter . on Save Clicked () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinject ( component Ġ: ĠApp Component ) Ġ= Ġcomponent . plus ( Goal Editor Module ( this )). inject ( this ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu Ġ: ĠMenu ) Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . go aled itor , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Prepare Options Menu ( menu Ġ: ĠMenu ) Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu . find Item ( R . id . clear MenuItem ). isVisible Ġ= Ġis Menu Items Visible ĊĠĠĠĠĠĠĠ Ġmenu . find Item ( R . id . delete MenuItem ). isVisible Ġ= Ġis Menu Items Visible ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Prepare Options Menu ( menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item Ġ: ĠMenuItem ) Ġ: ĠBoolean Ġ= Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠ ĠR . id . clear MenuItem Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui Handler . post Ġ{ Ġpresenter . on Clear Clicked () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠR . id . delete MenuItem Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui Handler . post Ġ{ Ġpresenter . onDelete Clicked () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . on Back Pressed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset MenuItem Visibility ( visible Ġ: ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis Menu Items Visible Ġ= Ġvisible ĊĠĠĠĠĠĠĠ Ġinvalidate Options Menu () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Goal Name ( name Ġ: ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġgoal Name View . setText ( name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Goal Name () Ġ= Ġgoal Name View . text . toString () ĊĊĠĠĠ Ġfun Ġset Desired Time ( desired Time Ġ: ĠTrip le < String , ĠString , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdesired Time 1 View . setText ( desired Time . first ) ĊĠĠĠĠĠĠĠ Ġdesired Time 2 View . setText ( desired Time . second ) ĊĠĠĠĠĠĠĠ Ġdesired Time 3 View . setText ( desired Time . third ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Desired Time () Ġ= ĠTrip le ( desired Time 1 View . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdesired Time 2 View . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdesired Time 3 View . text . toString ()) ĊĊĠĠĠ Ġfun Ġset Total Time ( total Time Ġ: ĠTrip le < String , ĠString , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġtotal Time 1 View . setText ( total Time . first ) ĊĠĠĠĠĠĠĠ Ġtotal Time 2 View . setText ( total Time . second ) ĊĠĠĠĠĠĠĠ Ġtotal Time 3 View . setText ( total Time . third ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetTotal Time () Ġ= ĠTrip le ( total Time 1 View . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Time 2 View . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Time 3 View . text . toString ()) ĊĊĠĠĠ Ġfun Ġshow Clear Confirm () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( dialog Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdialog Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( R . string . go aled itor __ confirm _ clear ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( R . string . common __ ok , Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . on Clear Confirmed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( R . string . common __ cancel , Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Delete Confirm () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( dialog Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdialog Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( R . string . go aled itor __ confirm _ delete ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( R . string . common __ ok , Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . onDelete Confirmed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( R . string . common __ cancel , Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠ Ġ} Ċ } Ċ