Beispiel #1
0
        public override Android.Views.View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            ua = new UserActivity();

            Forms.Init(this.Activity, savedInstanceState);
            menuItems     = new string[] { "CAMPUS MAPS", "NON-EMERGENCY CONTACTS", "CONTACT US", "ABOUT US", "WHAT WE DO", "VOLUNTEER" };
            locationNames = new string[] { "3M CENTRE", "ALUMNI HALL", "BIOLOGY & GEOLOGY SCIENCES", "CHEMISTRY BUILDING",
                                           "ELBORN COLLEGE", "HEALTH SCIENCES BUILDING", "KRESGE BUILDING", "LAWSON HALL", "MIDDLESEX COLLEGE", "NORTH CAMPUS BUILDING", "NATURAL SCIENCES CENTRE",
                                           "SPENCER ENGINEERING BUILDING", "SOMERVILLE HOUSE", "SOCIAL SCIENCES CENTRE", "STEVENSON HALL", "TALBOT COLLEGE", "THOMPSON ENGINEERING BUILDING", "THAMES HALL", "UNIVERSITY COLLEGE", "UNIVERSITY COMMUNITY CENTRE",
                                           "VISUAL ARTS CENTRE", "WELDON LIBRARY", "WESTERN SCIENCE CENTRE", "BRESCIA CAMPUS", "HURON CAMPUS", "IVEY BUSINESS SCHOOL",
                                           "BROUGHDALE HALL (KING'S UNIVERSITY COLLEGE)", "FACULTY BUILDING (KING'S UNIVERSITY COLLEGE)", "WEMPLE HALL (KING'S UNIVERSITY COLLEGE)", "LABATT HALL (KING'S UNIVERSITY COLLEGE)",
                                           "DANTE LENARDON HALL (KING'S UNIVERSITY COLLEGE" };

            backendURI     = Resources.GetString(Resource.String.api_url);
            postRequestURI = "/requests";
            findPairsURI   = "/volunteerPairs/";

            listAdapter     = new ArrayAdapter <string>(this.Context, Resource.Layout.ListElement, menuItems);
            locationAdapter = new ArrayAdapter <string>(this.Context, Resource.Layout.ListElement, locationNames);

            try
            {
                MapsInitializer.Initialize(this.Context); //initialize the Google Maps Android API
            }

            catch (System.Exception e)
            {
                createAlert("Unable to initialize the map, the error is: " + e);
            }

            if (Int32.Parse(Build.VERSION.Sdk) > 23)
            {
                view                  = inflater.Inflate(Resource.Layout.UserScreen, container, false);
                mView                 = (MapView)view.FindViewById(Resource.Id.userMap);
                sideTab               = (ImageButton)view.FindViewById(Resource.Id.userSideTab);
                drawerLayout          = (DrawerLayout)view.FindViewById(Resource.Id.userdrawer);
                etaText               = (TextView)view.FindViewById(Resource.Id.etaText);
                listView              = (Android.Widget.ListView)view.FindViewById(Resource.Id.userListView);
                searchView            = (SearchView)view.FindViewById(Resource.Id.userSearchView);
                searchListView        = (Android.Widget.ListView)view.FindViewById(Resource.Id.userSearchListView);
                svDescription         = (TextView)view.FindViewById(Resource.Id.userSVDescription);
                pickUpBtn             = (Android.Widget.Button)view.FindViewById(Resource.Id.requestPickupBtn);
                finishTripBtn         = (Android.Widget.Button)view.FindViewById(Resource.Id.finishTripBtn);
                userName              = (EditText)view.FindViewById(Resource.Id.userName5);
                destination           = (EditText)view.FindViewById(Resource.Id.userToLocation);
                additionalInfo        = (EditText)view.FindViewById(Resource.Id.userAdditionalInfo);
                relativeLayout        = (Android.Widget.RelativeLayout)view.FindViewById(Resource.Id.userInnerRelative);
                acceptedRequestLayout = (Android.Widget.RelativeLayout)view.FindViewById(Resource.Id.acceptedRequestLayout);

                searchListView.Visibility        = ViewStates.Gone;
                relativeLayout.Visibility        = ViewStates.Gone;
                acceptedRequestLayout.Visibility = ViewStates.Gone;

                listView.Adapter       = listAdapter;
                searchListView.Adapter = locationAdapter;

                sideTab.Click += (sender, e) =>
                {
                    sideTabClicked(sideTab, drawerLayout, listView);
                };

                finishTripBtn.Click += (sender, e) =>
                {
                    finishBtnClicked();
                };

                searchView.SetQueryHint("Search for destination");

                searchView.QueryTextChange += (sender, e) =>
                {
                    if (searchView.Query == "")
                    {
                        searchListView.Visibility = ViewStates.Gone;
                    }

                    else
                    {
                        searchListView.Visibility = ViewStates.Visible;
                        locationAdapter.Filter.InvokeFilter(e.NewText);
                    }
                };

                pickUpBtn.Click += (sender, e) =>
                {
                    new addTextTask(ua, mActivity).Execute();
                };

                listView.ItemClick += (sender, e) =>
                {
                    selectItem(e.Position);
                };

                searchListView.ItemClick += (sender, e) =>
                {
                    itemSelected(locationAdapter.GetItem(e.Position));
                };

                mView.OnCreate(savedInstanceState);
                mView.OnStart(); //start loading the map into the mapView
            }

            else
            {
                view                  = inflater.Inflate(Resource.Layout.UserScreenMF, container, false);
                mf                    = (SupportMapFragment)this.ChildFragmentManager.FindFragmentById(Resource.Id.userMapMF);
                sideTab               = (ImageButton)view.FindViewById(Resource.Id.userSideTabMF);
                drawerLayout          = (DrawerLayout)view.FindViewById(Resource.Id.userdrawerMF);
                listView              = (Android.Widget.ListView)view.FindViewById(Resource.Id.userListViewMF);
                searchView            = (SearchView)view.FindViewById(Resource.Id.userSearchViewMF);
                searchListView        = (Android.Widget.ListView)view.FindViewById(Resource.Id.userSearchListViewMF);
                etaText               = (TextView)view.FindViewById(Resource.Id.etaText2);
                svDescription         = (TextView)view.FindViewById(Resource.Id.userSVDescriptionMF);
                pickUpBtn             = (Android.Widget.Button)view.FindViewById(Resource.Id.requestPickupBtn1);
                finishTripBtn         = (Android.Widget.Button)view.FindViewById(Resource.Id.finishTripBtn2);
                userName              = (EditText)view.FindViewById(Resource.Id.userName6);
                destination           = (EditText)view.FindViewById(Resource.Id.userToLocation1);
                additionalInfo        = (EditText)view.FindViewById(Resource.Id.userAdditionalInfo1);
                relativeLayout        = (Android.Widget.RelativeLayout)view.FindViewById(Resource.Id.userInnerRelativeMF);
                acceptedRequestLayout = (Android.Widget.RelativeLayout)view.FindViewById(Resource.Id.acceptedRequestLayout2);

                searchListView.Visibility        = ViewStates.Gone;
                relativeLayout.Visibility        = ViewStates.Gone;
                acceptedRequestLayout.Visibility = ViewStates.Gone;

                listView.Adapter       = listAdapter;
                searchListView.Adapter = locationAdapter;

                sideTab.Click += (sender, e) =>
                {
                    sideTabClicked(sideTab, drawerLayout, listView);
                };

                finishTripBtn.Click += (sender, e) =>
                {
                    finishBtnClicked();
                };

                searchView.SetQueryHint("Search for destination");

                searchView.QueryTextChange += (sender, e) =>
                {
                    if (searchView.Query == "")
                    {
                        searchListView.Visibility = ViewStates.Gone;
                    }

                    else
                    {
                        searchListView.Visibility = ViewStates.Visible;
                        locationAdapter.Filter.InvokeFilter(e.NewText);
                    }
                };

                pickUpBtn.Click += (sender, e) =>
                {
                    new addTextTask(ua, mActivity).Execute();
                };

                listView.ItemClick += (sender, e) =>
                {
                    selectItem(e.Position);
                };

                searchListView.ItemClick += (sender, e) =>
                {
                    itemSelected(locationAdapter.GetItem(e.Position));
                };

                mf.OnCreate(savedInstanceState);
                mf.OnStart(); //start loading the map into the mapView
            }

            if (checkInternetConnection())
            {
                createLocationRequest(); //create new location request to continuously update volunteer request
                clientSetup();           //set up the Google client
            }

            else
            {
                Toast.MakeText(mActivity, "There is no internet connection!", ToastLength.Long).Show();
            }

            return(view);
        }