package Ġcom . x plo re . groups . create Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . app . DatePicker Dialog Ċ import Ġandroid . app . Time Picker Dialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . DatePicker Ċ import Ġandroid . widget . Toast Ċ import Ġcom . google . firebase . database .* Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġcom . x plo re .* Ċ import Ġcom . x plo re . General . current UserId Ċ import Ġcom . x plo re . R Ċ import Ġcom . x plo re . base . Base AppCompatActivity Ċ import Ġcom . x plo re . database . DB Manager Ċ import Ġcom . x plo re . groups . Group Ċ import Ġcom . x plo re . maps . Group Map Activity Ċ import Ġcom . x plo re . maps . Set Destination Map Activity Ċ import Ġcom . x plo re . reserve . Reserve Info Activity Ċ import Ġcom . x plo re . user . User Ċ import Ġkotlinx . android . synt hetic . main . create _ group .* Ċ import Ġjava . util . ArrayList Ċ import Ġkotlin . collections . HashMap Ċ import Ġcom . x plo re . util . Firebase Util . groups Ref Ċ import Ġcom . x plo re . util . Firebase Util . getUser Ref Ċ import Ġcom . x plo re . util . Firebase Util . getCurrent User Ref Ċ import Ġcom . x plo re . util . Firebase Util . F _ GROUP _ IDS Ċ import Ġcom . x plo re . util . Firebase Util . F _ INV IT ED _ GROUP _ IDS Ċ import Ġcom . x plo re . util . Map Util Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠN ika oto Ġon Ġ 2 / 1 8 / 2 0 1 7 . ĊĊ Ġ* Ġ áĥĲáĥ ¦ áĥ ¬ áĥĶáĥ ł áĥĲ : Ċ Ġ* Ġáĥ Ķ áĥ ¡ Ġáĥ ¤ áĥ ł áĥĲáĥ Ĵ áĥ Ľ áĥĶáĥ ľ áĥ ¢ áĥĺ Ġ áĥĺáĥ ® áĥ ¡ áĥ ľ áĥĶáĥ ĳ áĥĲ Ġáĥ ł áĥ Ŀ áĥ ª áĥĲ Ġáĥ Ľ áĥ Ŀ áĥ Ľ áĥ ® áĥ Ľ áĥĲáĥ ł áĥĶáĥ ĳ áĥĶáĥ ļ áĥĺ Ġ áĥĲáĥ ® áĥĲáĥ ļ Ġáĥ Ĵ áĥ £ áĥ ľ áĥ ĵ áĥ ¡ Ġáĥ ¥ áĥ Ľ áĥ ľ áĥĺáĥ ¡ . Ġáĥ Ķ áĥ ¡ Ġáĥ Ļ áĥ ļ áĥĲáĥ ¡ áĥĺ Ġ áĥĲáĥ Ľ áĥ Ŀ áĥ ¬ áĥ Ľ áĥĶáĥ ĳ áĥ ¡ Ġáĥ Ľ áĥ Ŀ áĥ Ľ áĥ ® áĥ Ľ áĥĲáĥ ł áĥĶáĥ ĳ áĥ ļ áĥĺáĥ ¡ Ġáĥ ¨ áĥĶáĥ ª áĥ ĵ áĥ Ŀ áĥ Ľ áĥĶáĥ ĳ áĥ ¡ Ċ Ġ* Ġáĥ ¤ áĥ Ŀ áĥ ł áĥ Ľ áĥĺáĥ ¡ Ġáĥ ¨ áĥĶáĥ ķ áĥ ¡ áĥĶáĥ ĳ áĥĺáĥ ¡ áĥĲáĥ ¡ Ġáĥ ĵ áĥĲ Ġ" áĥ ĵ áĥĲáĥ ¡ áĥ ¢ áĥ £ áĥ ł áĥ ĸ áĥĶ " Ġáĥ ĵ áĥĲáĥ Ń áĥĶáĥ ł áĥĺáĥ ¡ Ġáĥ ¨ áĥĶáĥ Ľ áĥ ĵ áĥ Ĵ áĥ Ŀ áĥ Ľ Ġáĥ ¢ áĥ ķ áĥĺáĥ ł áĥ Ĺ áĥĲáĥ ķ áĥ ¡ Ġ áĥĲáĥ ® áĥĲáĥ ļ Ġáĥ Ĵ áĥ £ áĥ ľ áĥ ĵ áĥ ¡ ĠFirebase - áĥ ¡ Ġáĥ ĳ áĥĲáĥ ĸ áĥĲáĥ ¨ áĥĺ ĊĊ Ġ* ĠDescription : Ċ Ġ* ĠThis Ġfragment Ġopens Ġwhen Ġuser Ġis Ġcreating Ġa Ġgroup . ĠThis Ġclass Ġchecks Ġfor Ġany Ġerrors Ġin Ġuser 's Ċ Ġ* Ġgroup Ġinfo Ġand Ġwith Ġ" Done " Ġuploads Ġgroup Ġinfo Ġto Ġgroups ĠFire ab ase ĠDatabase ĊĊ Ġ*/ Ċ Ċ open Ġclass ĠCreate Group Activity Ġ: ĠBase AppCompatActivity (), ĠDate Picker Dialog . On Date Set Listener Ġ{ ĊĊĠĠĠ Ġ// Database ĊĠĠĠ Ġprivate Ġval Ġdb Manager : ĠDB Manager Ġby Ġlazy Ġ{ ĠDB Manager ( this ) Ġ} ĊĊĠĠĠ Ġ// Firebase ĊĠĠĠ Ġprivate Ġval Ġjoined Groups Ref : ĠDatabase Reference Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠgetCurrent User Ref (). child ( F _ GROUP _ IDS ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Request Ġcodes ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSEARCH _ DEST INATION _ REQ _ CODE Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSELECT _ FROM _ MAP _ REQ _ CODE Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSET _ ME ET UP _ LOCATION _ REQ _ CODE Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIN V ITE _ USERS _ REQ _ CODE Ġ= Ġ 4 ĊĊĠĠĠĠĠĠĠ Ġ// Limits Ġand Ġrestrictions Ġto Ġfields ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEX PER I ENCE _ ANS _ DEFAULT Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEX PER I ENCE _ ANS _ NO Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEX PER I ENCE _ ANS _ YES Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠG _ PRE FS _ CHAR _ MAX Ġ= Ġ 2 0 0 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠG _ PRE FS _ CHAR _ MIN Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠE _ INFO _ CHAR _ MAX Ġ= Ġ 2 0 0 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠE _ INFO _ CHAR _ MIN Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġ// MISC ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠME ET UP _ MARKER _ COLOR Ġ= Ġ" green " ĊĊĠĠĠĠĠĠĠ Ġ// Tags Ġfor Ġdate Ġand Ġtime Ġpick ers ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSE LECTION _ NONE Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSE LECTION _ START Ġ= Ġ" start " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSE LECTION _ END Ġ= Ġ" end " ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġget Start Intent ( context : ĠContext ) Ġ= ĠIntent ( context , ĠCreate Group Activity :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Setting Ġchosen Ġanswer Ġand Ġdestination Ġto Ġdefault ĊĠĠĠ Ġprivate Ġvar Ġchosen Dest Id Ġ= ĠGroup . DEST INATION _ DEFAULT ĊĠĠĠ Ġprivate Ġvar Ġexperience An s Ġ= ĠEX PER I ENCE _ ANS _ DEFAULT ĊĊĠĠĠ Ġprivate Ġvar Ġdestination Lat Ġ= Ġ 0 . 0 ĊĠĠĠ Ġprivate Ġvar Ġdestination Lng Ġ= Ġ 0 . 0 ĊĊĠĠĠ Ġprivate Ġvar Ġmeet up Lat Ġ= Ġ 0 . 0 ĊĠĠĠ Ġprivate Ġvar Ġmeet up Lng Ġ= Ġ 0 . 0 ĊĊĠĠĠ Ġprivate Ġvar Ġselecting Ġ= ĠSE LECTION _ NONE ĊĊĠĠĠ Ġprivate Ġvar Ġgroup ImageUrl Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar ĠgroupName Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġgroup Prefs Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġextra Info Ġ= Ġ"" ĊĊĠĠĠ Ġprivate Ġvar Ġinv ited Member Ids Ġ= ĠArrayList < String >() ĊĊĠĠĠ Ġval Ġdate Ġ= ĠHi ke Date () ĊĊĠĠĠ Ġ// TODO Ġremove Ġdependencies Ġand Ġinner Ġobjects / classes Ġas Ġmuch Ġas Ġpossible ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠTime Manager . refresh Global TimeStamp () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . create _ group ) ĊĊĠĠĠĠĠĠĠ ĠsetTitle ( R . string . activity _ create _ group _ title ) ĊĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġinit Member RecyclerView () ĊĠĠĠĠĠĠĠ Ġinit Click Events () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Member RecyclerView () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayout Manager Ġ= ĠLinearLayoutManager ( this , ĠLinearLayoutManager . HORIZONTAL , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġinv ited Member List . set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠ Ġinv ited Member List . layout Manager Ġ= Ġlayout Manager ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Click Events () Ġ{ ĊĊĠĠĠĠĠĠĠ ĠgroupName Help Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Help ( R . string . group _ name , ĠR . string . group _ name _ help , ĠR . string . ok ay ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġchoose Destination Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Set Destination Dialog () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġgroup ImageView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( chosen Dest Id Ġ!= ĠGroup . DEST INATION _ DEFAULT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Reserve Info Activity . getStart Intent ( this , Ġchosen Dest Id )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( group ImageUrl . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( destination Lat Ġ!= Ġ 0 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGroup Map Activity . new Intent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Create Group Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getString ( R . string . destination ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdestination Lat , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdestination Lng ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠstartDate Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow DatePicker ( SELECTION _ START ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠstartTime Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Time Picker ( SELECTION _ START ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmeet up Location Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Setting Me et up Location () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmeet up Location ImageView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Setting Me et up Location () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠendDate Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow DatePicker ( SELECTION _ END ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠendTime Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Time Picker ( SELECTION _ END ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinvite Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( Search Users Activity . getStart Intent ( this , Ġinv ited Member Ids ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIN V ITE _ USERS _ REQ _ CODE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprefs _ help . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Help ( R . string . group _ preferences , ĠR . string . group _ prefs _ help , ĠR . string . ok ay ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdescription _ help . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Help ( R . string . extra _ info , ĠR . string . extra _ info _ help , ĠR . string . ok ay ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġradio Group . setOn Checked ChangeListener Ġ{ Ġ_, Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ== ĠR . id . yes _ rb ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexperience An s Ġ= ĠEX PER I ENCE _ ANS _ YES ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( i Ġ== ĠR . id . no _ rb ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexperience An s Ġ= ĠEX PER I ENCE _ ANS _ NO ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdone Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGeneral . hide Keyboard ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Descriptions () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( check Fields ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġgroups Ref . push (). key ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupload GroupData ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Leader To Group ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend Inv ites ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , ĠR . string . group _ created , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Set Destination Dialog () Ġ{ ĊĠĠĠĠĠĠĠ ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( R . string . activity _ choose _ destination _ title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( R . string . choose _ from ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( R . string . activity _ library _ title ) Ġ{ _, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( this @ Create Group Activity , ĠSearch Destination Activity :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSEARCH _ DEST INATION _ REQ _ CODE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( R . string . activity _ maps _ title ) Ġ{ _, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( destination Lat Ġ!= Ġ 0 . 0 Ġ&& Ġdestination Lng Ġ!= Ġ 0 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSet Destination Map Activity . getStart Intent ( this , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getString ( R . string . destination ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdestination Lat , Ġdestination Lng ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT _ FROM _ MAP _ REQ _ CODE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( Set Destination Map Activity . getStart Intent ( this ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT _ FROM _ MAP _ REQ _ CODE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create (). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Setting Me et up Location () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( meet up Lat Ġ!= Ġ 0 . 0 Ġ&& Ġmeet up Lng Ġ!= Ġ 0 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSet Destination Map Activity . getStart Intent ( this , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getString ( R . string . meet up _ location ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmeet up Lat , Ġmeet up Lng ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSET _ ME ET UP _ LOCATION _ REQ _ CODE ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( Set Destination Map Activity . getStart Intent ( this ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSET _ ME ET UP _ LOCATION _ REQ _ CODE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow DatePicker ( code : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Time Manager . global TimeStamp Ġ!= Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselecting Ġ= Ġcode ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDate Picker Fragment ( this @ Create Group Activity , ĠTime Manager . global TimeStamp , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show ( fragment Manager , Ġ"") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Date Set ( view : ĠDate Picker , Ġyear : ĠInt , Ġreceived Month : ĠInt , Ġday : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmonth Ġ Ġ= Ġreceived Month Ġ+ Ġ 1 Ġ// + 1 Ġis Ġnecessary Ġbecause Ġ 0 Ġis ĠJanuary ĊĠĠĠĠĠĠĠ Ġwhen Ġ( select ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSE LECTION _ START Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselecting Ġ= ĠSE LECTION _ NONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate . set StartDate ( year , Ġmonth , Ġday ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartDate TextView . text Ġ= Ġdate . get StartDate String () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSE LECTION _ END Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselecting Ġ= ĠSE LECTION _ NONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate . set EndDate ( year , Ġmonth , Ġday ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠendDate TextView . text Ġ= Ġdate . get EndDate String () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Time Picker ( code : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġselecting Ġ= Ġcode ĊĠĠĠĠĠĠĠ ĠTime Picker Fragment ( on Time Set Listener ). show ( fragment Manager , Ġ"") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġon Time Set Listener Ġ= ĠTime Picker Dialog . On Time Set Listener Ġ{ Ġ_, Ġhour OfDay , Ġminute Ġ-> ĊĠĠĠĠĠĠĠ Ġwhen Ġ( select ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSE LECTION _ START Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselecting Ġ= ĠSE LECTION _ NONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate . set StartTime ( hour OfDay , Ġminute ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartTime TextView . text Ġ= Ġdate . get StartTime Text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSE LECTION _ END Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselecting Ġ= ĠSE LECTION _ NONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate . set EndTime ( hour OfDay , Ġminute ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠendTime TextView . text Ġ= Ġdate . get EndTime Text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! General . is Net Connected ( this )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGeneral . create Net Error Dialog ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( request Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSEARCH _ DEST INATION _ REQ _ CODE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchosen Dest Id Ġ= Ġdata . getInt Extra (" chosen _ destination _ id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGroup . DEST INATION _ DEFAULT ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb Manager . open Data Base () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( db Manager . getImage Id ( chosen Dest Id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( group ImageView ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb Manager . close () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT _ FROM _ MAP _ REQ _ CODE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchosen Dest Id Ġ= ĠGroup . DEST INATION _ DEFAULT ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// TODO Ġreplace Ġall Ġ 0 . 0 Ġs Ġwith ĠMap Util . DEFAULT _ LAT _ L NG ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Getting Ġimage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdestination Lat Ġ= Ġdata . getDouble Extra ( Set Destination Map Activity . RESULT _ DEST _ LAT , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdestination Lng Ġ= Ġdata . getDouble Extra ( Set Destination Map Activity . RESULT _ DEST _ L NG , Ġ 0 . 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Checking Ġif Ġdata Ġretrieval Ġfailed ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( destination Lat Ġ!= Ġ 0 . 0 Ġ|| Ġdestination Lng Ġ!= Ġ 0 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroup ImageUrl Ġ= ĠMap Util . getMap Url ( destination Lat , Ġdestination Lng ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . with ( this ). load ( group ImageUrl ). into ( group ImageView ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , ĠR . string . error , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSET _ ME ET UP _ LOCATION _ REQ _ CODE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// TODO Ġreplace Ġall Ġ 0 . 0 Ġs Ġwith ĠMap Util . DEFAULT _ LAT _ L NG ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Getting Ġchosen Ġmeet up Ġlocation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmeet up Lat Ġ= Ġdata . getDouble Extra ( Set Destination Map Activity . RESULT _ DEST _ LAT , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmeet up Lng Ġ= Ġdata . getDouble Extra ( Set Destination Map Activity . RESULT _ DEST _ L NG , Ġ 0 . 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Checking Ġif Ġlocations Ġaren 't Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( meet up Lat Ġ!= Ġ 0 . 0 Ġ|| Ġmeet up Lng Ġ!= Ġ 0 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( Map Util . get Me et up Map Url ( meet up Lat , Ġmeet up Lng )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( meet up Location ImageView ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , ĠR . string . error , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIN V ITE _ USERS _ REQ _ CODE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinv ited Member Ids Ġ= Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getString ArrayList Extra ( Search Users Activity . ARG _ INV IT ED _ MEMBER _ IDS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopulate Members List ( inv ited Member Ids ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠArrayList < String >. toMap (): ĠHashMap < String , ĠBoolean > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtemp Ġ= ĠHashMap < String , ĠBoolean >( this . size ) ĊĠĠĠĠĠĠĠ Ġfor ( item Ġin Ġthis ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtemp . put ( item , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtemp ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Creates Ġupload able Ġgroup ĊĠĠĠ Ġprivate Ġfun Ġcreate Upload Group ( key : ĠString ): ĠUpload able Group Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Member Ġids Ġof Ġthe Ġgroup ĊĠĠĠĠĠĠĠ Ġval Ġmember _ ids Ġ= ĠHashMap < String , ĠBoolean >( 1 ) ĊĠĠĠĠĠĠĠ Ġmember _ ids . put ( current UserId , Ġtrue ) Ġ// Adding Ġleader Ġto Ġmembers Ġlist ĊĊĠĠĠĠĠĠĠ Ġ// get Ġexperience Ġquestion ĊĠĠĠĠĠĠĠ Ġval Ġexp Ġ= Ġexperience An s Ġ!= ĠEX PER I ENCE _ ANS _ NO ĊĊĠĠĠĠĠĠĠ Ġ/* ĠTODO Ġwhen Ġuploading Ġgroup , Ġadd Ġlowercase Ġname Ġas Ġ' search Ġname ' Ġ( to Ġenable ĊĠĠĠĠĠĠĠ Ġcase - ins ensitive Ġsearching ) Ġand Ġ' display Ġname ' Ġas Ġinput ted Ġname . ĠOnly Ġfor ĠFirebase Ġthough ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġreturn ĠUpload able Group ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey , Ġ// Firebase ĠUnique ĠGroup ĠKey ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgroupName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexp , Ġ// Group ĠEx peri enced ĠBoolean ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate . get StartDate (), Ġ// Start ĠDate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate . startTime , Ġ// Start ĠTime ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate . get EndDate (), Ġ// End ĠDate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate . endTime , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchosen Dest Id , Ġ// Ch osen ĠDestination ĠId ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdestination Lat , Ġdestination Lng , Ġ// Destination Ġlocation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmeet up Lat , Ġmeet up Lng , Ġ// Me et up Ġlocation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroup ImageUrl , Ġ// Image Ġurl ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextra Info , Ġ// Group ĠExtra ĠInfo ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Prefs , Ġ// Group ĠPreferences ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmember _ ids , Ġ// Group ĠMember ĠI ds Ġ( only Ġthe Ġleader ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinv ited Member Ids . toMap ()) Ġ// Inv ited Ġmembers ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Leader To Group ( key : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġjoined Groups Ref . child ("/ " Ġ+ Ġkey ). setValue ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupload GroupData ( key : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Group ĊĠĠĠĠĠĠĠ Ġval Ġgroup Data Ġ= Ġcreate Upload Group ( key ). toMap () ĊĠĠĠĠĠĠĠ Ġval Ġgroup Updates Ġ= ĠHashMap < String , ĠAny >() ĊĠĠĠĠĠĠĠ Ġgroup Updates . put ("/ " Ġ+ Ġkey , Ġgroup Data ) ĊĠĠĠĠĠĠĠ Ġgroups Ref . update Children ( group Updates ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsend Inv ites ( groupId : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( member Id Ġin Ġinv ited Member Ids ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetUser Ref ( member Id ). child ( F _ INV IT ED _ GROUP _ IDS ). child ("/ " Ġ+ ĠgroupId ). setValue ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpopulate Members List ( member Ids : ĠArrayList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmembers To Display Ġ= ĠArrayList < User >( member Ids . size ) ĊĠĠĠĠĠĠĠ Ġvar Ġmember Count Ġ= Ġmember Ids . size ĊĠĠĠĠĠĠĠ Ġfor Ġ( member Id Ġin Ġmember Ids ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetUser Ref ( member Id ). addListener For Single Value Event ( object Ġ: ĠValue EventListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Data Change ( user Snapshot : ĠData Snapshot ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user Snapshot Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmember Ġ= Ġuser Snapshot . getValue ( User :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmember ?. id Ġ= Ġuser Snapshot . key ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( member Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmembers To Display . add ( member ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmember Count -- ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( member Count Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Display Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinv ited Member List . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠMember ListAdapter ( this @ Create Group Activity , Ġmembers To Display , Ġtrue , Ġinv ited Member Ids ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinv ited Member List . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Cancelled ( p 0 : ĠDatabase Error ?) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Descriptions () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( groupName EditText . text . toString (). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb Manager . open Data Base () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgroupName Ġ= Ġdb Manager . get Str ( chosen Dest Id , ĠDB Manager . NAME ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgroupName Ġ= ĠgroupName EditText . text . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġgroup Prefs Ġ= Ġpreferences EditText . text . toString () ĊĠĠĠĠĠĠĠ Ġextra Info Ġ= Ġdescription EditText . text . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Help ( title : ĠInt , Ġtext : ĠInt , Ġbut t _ text : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġalert Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( resources . getString ( text )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( resources . getString ( title )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( resources . getString ( but t _ text ), Ġnull ) ĊĠĠĠĠĠĠĠ Ġalert . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Fields (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( R . string . ok ay , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( chosen Dest Id Ġ== ĠGroup . DEST INATION _ DEFAULT Ġ&& Ġgroup ImageUrl . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . dest _ field _ in complete ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( date . start Year Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . date _ start _ field _ in complete ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( date . end Year Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . date _ end _ field _ in complete ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( date . get StartDate () Ġ> Ġdate . get EndDate ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . date _ invalid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( date . get StartDate () Ġ== Ġdate . get EndDate () Ġ&& Ġdate . startTime Ġ> Ġdate . endTime ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . fix _ start _ end _ times ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( experience An s Ġ== ĠEX PER I ENCE _ ANS _ DEFAULT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . exp _ field _ in complete ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( group Prefs . length Ġ< ĠG _ PRE FS _ CHAR _ MIN Ġ|| Ġextra Info . length Ġ< ĠE _ INFO _ CHAR _ MIN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . text _ field _ in complete ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( date . get StartDate () Ġ< ĠGeneral . getDate Int ( Time Manager . global TimeStamp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġdate . get EndDate () Ġ< ĠGeneral . getDate Int ( Time Manager . global TimeStamp )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . date _ past _ invalid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }