package Ġorg . apache . fin er act . ui . online . groups . create group Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . step stone . step per . Step per Layout Ċ import Ġcom . step stone . step per . Verification Error Ċ import Ġkotlinx . android . synt hetic . main . activity _ create _ group .* Ċ import Ġorg . apache . fin er act . R Ċ import Ġorg . apache . fin er act . data . Status Ċ import Ġorg . apache . fin er act . data . models . Group Ċ import Ġorg . apache . fin er act . data . models . customer . Address Ċ import Ġorg . apache . fin er act . ui . base . Fin er act Base Activity Ċ import Ġorg . apache . fin er act . ui . base . To aster Ċ import Ġorg . apache . fin er act . ui . online . groups . Group Action Ċ import Ġorg . apache . fin er act . ui . online . groups . group list . Group ViewModel Factory Ċ import Ġorg . apache . fin er act . ui . online . groups . group list . Group ViewModel Ċ import Ġorg . apache . fin er act . utils . Constants Ċ import Ġorg . apache . fin er act . utils . Date Utils Ċ import Ġjavax . inject . Inject Ċ Ċ /* Ċ Ġ* ĠCreated Ġby Ġs ak sh am Ġon Ġ 0 2 / July / 2 0 1 9 Ċ */ Ċ Ċ class ĠCreate Group Activity Ġ: ĠFin er act Base Activity (), ĠStep per Layout . Step per Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġgroup Ġ= ĠGroup () ĊĠĠĠ Ġprivate Ġvar Ġgroup Action Ġ= ĠGroup Action . CREATE ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġgroup ViewModel Factory : ĠGroup ViewModel Factory ĊĊĠĠĠ Ġlateinit Ġvar ĠviewModel : ĠGroup ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ create _ group ) ĊĠĠĠĠĠĠĠ Ġactivity Component . inject ( this ) ĊĠĠĠĠĠĠĠ Ġgroup Action Ġ= Ġintent . get Serializable Extra ( Constants . GROUP _ ACTION ) Ġas ĠGroup Action ĊĠĠĠĠĠĠĠ Ġwhen Ġ( group Action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGroup Action . CREATE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Toolbar Title ( getString ( R . string . create _ group )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGroup Action . EDIT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Toolbar Title ( getString ( R . string . edit _ group )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent ?. extras ?. get Parcelable < Group >( Constants . GROUP )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Providers . of ( this , Ġgroup ViewModel Factory ). get ( Group ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġsubscribe UI () ĊĠĠĠĠĠĠĠ Ġshow Back Button () ĊĠĠĠĠĠĠĠ Ġsl Create Group . adapter Ġ= ĠCreate Group Adapter ( support FragmentManager , Ġthis , Ġgroup Action ) ĊĠĠĠĠĠĠĠ Ġsl Create Group . set Off screen Page Limit ( sl Create Group . adapter . count ) ĊĠĠĠĠĠĠĠ Ġsl Create Group . set Listener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Step Selected ( new Step Position : ĠInt ) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun ĠonError ( verification Error : ĠVerification Error ?) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġon Return () Ġ{} ĊĊĠĠĠ Ġprivate Ġfun Ġsubscribe UI () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . status . observe ( this , ĠObserver Ġ{ Ġstatus Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . LOADING Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( group Action Ġ== ĠGroup Action . CREATE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow M if os Progress Dialog ( getString ( R . string . create _ group )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow M if os Progress Dialog ( getString ( R . string . updating _ group _ please _ wait )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . ERROR Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide M if os Progress Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( group Action Ġ== ĠGroup Action . CREATE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTo aster . show ( findViewById ( android . R . id . content ), ĠR . string . error _ while _ creating _ group , ĠToast . LENGTH _ SHORT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTo aster . show ( findViewById ( android . R . id . content ), ĠR . string . error _ while _ updating _ group _ status , ĠToast . LENGTH _ SHORT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . DONE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide M if os Progress Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( group Action Ġ== ĠGroup Action . CREATE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , ĠgetString ( R . string . group _ identifier _ updated _ successfully , Ġgroup . identifier ), ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , ĠgetString ( R . string . group _ identifier _ updated _ successfully , Ġgroup . identifier ), ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Completed ( complete Button : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( group Action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGroup Action . EDIT Ġ-> Ġgroup . identifier ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . update Group ( it , Ġgroup ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGroup Action . CREATE Ġ-> ĠviewModel . create Group ( group ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Group Details ( identifier : ĠString , Ġgroup Definition Identifier : ĠString , Ġname : ĠString , Ġoffice : ĠString , Ġassigned Employee : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġgroup . identifier Ġ= Ġidentifier ĊĠĠĠĠĠĠĠ Ġgroup . group Definition Identifier Ġ= Ġgroup Definition Identifier ĊĠĠĠĠĠĠĠ Ġgroup . name Ġ= Ġname ĊĠĠĠĠĠĠĠ Ġgroup . office Ġ= Ġoffice ĊĠĠĠĠĠĠĠ Ġgroup . assigned Employee Ġ= Ġassigned Employee ĊĠĠĠĠĠĠĠ Ġgroup . weekday Ġ= ĠDate Utils . get Week Day Index ( Date Utils . get Present Day ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Members ( members : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġgroup . members Ġ= Ġmembers ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Le aders ( le aders : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġgroup . le aders Ġ= Ġle aders ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Group Address ( street : ĠString , Ġcity : ĠString , Ġregion : ĠString , Ġpostal Code : ĠString , Ġcountry : ĠString , Ġcountry Code : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaddress Ġ= ĠAddress () ĊĠĠĠĠĠĠĠ Ġaddress . street Ġ= Ġstreet ĊĠĠĠĠĠĠĠ Ġaddress . city Ġ= Ġcity ĊĠĠĠĠĠĠĠ Ġaddress . region Ġ= Ġregion ĊĠĠĠĠĠĠĠ Ġaddress . postal Code Ġ= Ġpostal Code ĊĠĠĠĠĠĠĠ Ġaddress . country Ġ= Ġcountry ĊĠĠĠĠĠĠĠ Ġaddress . country Code Ġ= Ġcountry Code ĊĠĠĠĠĠĠĠ Ġgroup . address Ġ= Ġaddress ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Group (): ĠGroup Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġgroup ĊĠĠĠ Ġ} Ċ }