package Ġcom . example . jak ub ve ver ka . sport app . ViewModels Ċ Ċ import Ġandroid . support . v 4 . app . Fragment Activity Ċ import Ġcom . example . jak ub ve ver ka . sport app . Activities . Launcher Activity Ċ import Ġcom . example . jak ub ve ver ka . sport app . Fragments . Create Event Fragment Ċ import Ġcom . example . jak ub ve ver ka . sport app . Fragments . Events Fragment Ċ import Ġcom . example . jak ub ve ver ka . sport app . R Ċ import Ġcom . example . jak ub ve ver ka . sport app . Utils . Users Manager Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġjak ub ve ver ka Ġon Ġ 1 3 . 0 6 . 1 7 . Ċ Ġ*/ Ċ class ĠS port Events Activity ViewModel ( val Ġm Activity : ĠFragment Activity ) Ġ{ ĊĊĠĠĠ Ġval ĠTAG _ CREATE _ EVENT _ FRAGMENT Ġ= Ġ" create _ event _ fragment " ĊĠĠĠ Ġval ĠTAG _ EVENTS _ FRAGMENT Ġ= Ġ" events _ fragment " ĊĊĠĠĠ Ġprivate Ġvar Ġm Create Event Fragment : ĠCreate Event Fragment ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġm Events Fragment : ĠEvents Fragment ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMethod Ġhandles Ġclick Ġon Ġnav Ġmenu Ġitems . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġprocess Navigation ItemSelected ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ== ĠR . id . nav _ sign _ out ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUsers Manager . sign Out User ( m Activity . application Context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Activity . startActivity ( Launcher Activity . create Intent ( m Activity )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Activity . finish () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif ( id Ġ== ĠR . id . nav _ create _ event Ġ&& Ġ! m Create Event Fragment !!. isVisible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġm Activity . support FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . replace ( R . id . body _ fragment _ container , Ġm Create Event Fragment , ĠTAG _ CREATE _ EVENT _ FRAGMENT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . addTo Back Stack ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . commit () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif ( id Ġ== ĠR . id . nav _ events _ list Ġ&& Ġm Create Event Fragment !!. isVisible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** Ġshow Ġevents Ġlist Ġjust Ġby Ġpop ping Ġback Ġstack Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Activity . support FragmentManager . pop Back Stack Immediate () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMethod Ġfor Ġrest oring Ġ( if Ġfragment Ġcan Ġbe Ġrestored ) Ġand Ġdisplaying Ġrequired Ġfragment ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġrestore And Show Fragments () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfm Ġ= Ġm Activity . support FragmentManager ĊĠĠĠĠĠĠĠ Ġm Create Event Fragment Ġ= Ġfm . find Fragment By Tag ( TAG _ CREATE _ EVENT _ FRAGMENT ) Ġas ? ĠCreate Event Fragment ĊĠĠĠĠĠĠĠ Ġm Events Fragment Ġ= Ġfm . find Fragment By Tag ( TAG _ EVENTS _ FRAGMENT ) Ġas ? ĠEvents Fragment ĊĊĠĠĠĠĠĠĠ Ġif ( m Events Fragment Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Events Fragment Ġ= ĠEvents Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfm . beginTransaction (). add ( R . id . body _ fragment _ container , Ġm Events Fragment , ĠTAG _ EVENTS _ FRAGMENT ). commit () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif ( m Create Event Fragment Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Create Event Fragment Ġ= ĠCreate Event Fragment () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Date Selected ( year : ĠInt , Ġmonth : ĠInt , Ġday : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Create Event Fragment ?. setDate ( year , Ġmonth , Ġday ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Time Selected ( hour : ĠInt , Ġminute : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Create Event Fragment ?. setTime ( hour , Ġminute ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIf Ġevent Ġis Ġcreated , Ġpop Ġback Ġstack Ġto Ġshow Ġevents Ġlist Ġfragment Ġand Ġreload Ġits Ġdata ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġon Event Created () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Activity . support FragmentManager . pop Back Stack Immediate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ Ġget LoggedIn Text (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠString . format ( m Activity . getString ( R . string . logged _ in _ as ), ĠUsers Manager . get Users LoggedIn Name ()) ĊĠĠĠ Ġ} Ċ Ċ } Ċ