コード例 #1
0
        public async void GoToNextStop()
        {
            try
            {
                //UpdateUI to show next stop
                UpdateLayoutNextStop();

                //Update UI to show current stop informations
                UpdateLayoutCurrentStop();

                //Update Title
                SetTitle();

                //Scroll the list in order to show the next stop at the bottom of the list
                View childItem = m_adapter.GetView(0, null, m_listview);
                childItem.Measure(View.MeasureSpec.MakeMeasureSpec(0, MeasureSpecMode.Unspecified), View.MeasureSpec.MakeMeasureSpec(0, MeasureSpecMode.Unspecified));
                m_listview.SmoothScrollBy(-childItem.MeasuredHeight, 500);
                m_layoutGoToNextStep.Enabled = false;

                await Task.Delay(500);

                //Update list of arret to remove old stop
                m_layoutGoToNextStep.Enabled = true;
                m_adapter.RemoveLastItemsUntilCurrentStop(m_currentArret);
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #2
0
        protected override async void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
        {
            try
            {
                //From Activity_trajetDetails
                if (requestCode == 42 && resultCode == Result.Ok)
                {
                    await m_fragmentListtrajets.RefreshtrajetList();

                    //Show a validation message on screen
                    DynamicUIBuild_Utils.ShowSnackBar(this, m_drawerLayout, Resource.String.activity_trajetDetail_snackbar_btn_ValidPreparation, Snackbar.LengthShort);
                }

                //From AddtrajetForTest
                if (requestCode == 48 && resultCode == Result.Ok)
                {
                    AddtrajetForTest();
                }

                base.OnActivityResult(requestCode, resultCode, data);
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #3
0
        public override Arret this[int position]
        {
            get
            {
                Arret Arret = null;
                try
                {
                    Arret = m_lsArret[position];
                }
                catch (Exception e)
                {
                    MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name +
                                                    "\nm_lsArret = " + m_lsArret == null ? "null" : "not null" +
                                                    "\nm_lsArret.Count = " + m_lsArret == null ? "null" : m_lsArret.Count +
                                                    "\nposition = " + position +
                                                    "\nArret = " + Arret == null ? "null" : Arret.ToString());

                    Activity_trajetDetails parentActivity = null;
                    try
                    {
                        parentActivity = (Activity_trajetDetails)m_context;
                    }
                    catch (Exception)
                    {
                    }

                    if (parentActivity != null && parentActivity.m_layoutRoot != null)
                    {
                        DynamicUIBuild_Utils.ShowSnackBar_WithOKButtonToClose(parentActivity, parentActivity.m_layoutRoot, Resource.String.snackbar_errorHappened);
                    }
                }

                return(Arret);
            }
        }
コード例 #4
0
        public void GoToNextStopIfNeeded()
        {
            try
            {
                if (m_currentGPSPosition == null)
                {
                    return;
                }

                int iPreviousArretLocalID = m_currentArret == null ? -1 : m_currentArret.m_iLocalID;

                //Recup le arret en fonction de la position gps
                m_trajet.GetArretFromLatLon(m_currentGPSPosition.Latitude, m_currentGPSPosition.Longitude, out m_currentArret, out m_nextArret);

                //update ihm si le arret courant est différent du précédent arret
                if (iPreviousArretLocalID != m_currentArret.m_iLocalID)
                {
                    Settings.LatestArret = JSON.SerializeObject <Arret>(new FileAccessManager(), m_currentArret, "GoToNextStopIfNeeded()");
                    GoToNextStop();
                }
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #5
0
        public void UpdateGpsLayout()
        {
            try
            {
                SetTitle();

                if (m_bIsModeConduite)
                {
                    if (m_bIsSimulatorActivated)
                    {
                        //Show arrow to Right to go to next point
                        m_layoutGoToNextStep.Visibility = ViewStates.Visible;
                        m_layoutGPS.Visibility          = ViewStates.Gone;
                    }
                    else
                    {
                        //Show icon gps and update bars
                        m_layoutGoToNextStep.Visibility = ViewStates.Gone;
                        m_layoutGPS.Visibility          = ViewStates.Visible;

                        UpdateGPSlevel();
                    }
                }
                else
                {
                    m_layoutGoToNextStep.Visibility = ViewStates.Gone;
                    m_layoutGPS.Visibility          = ViewStates.Gone;
                }
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #6
0
        private void OnBtnDeletedClicked(int position)
        {
            Android.App.AlertDialog.Builder alert = new Android.App.AlertDialog.Builder(m_context);
            alert.SetTitle(m_Parent.Resources.GetString(Resource.String.recyclerviewAdapter_display_trajets_deleteConfirmationTitle));
            alert.SetMessage(m_Parent.Resources.GetString(Resource.String.recyclerviewAdapter_display_trajets_deleteConfirmationContent));
            alert.SetPositiveButton(m_Parent.Resources.GetString(Resource.String.recyclerviewAdapter_display_trajets_deleteConfirmationOK), async(senderAlert, args) =>
            {
                if (TryDeletetrajet(position))
                {
                    MobileCenter_Helper.TrackEvent(new FileAccessManager(), GetType().Name, MethodBase.GetCurrentMethod().Name + ", position=" + position + ", trajetClicked = " + m_lstrajet?[position]?.m_sRefNumber ?? "null");
                    await((Fragment_Listtrajets)m_Parent).RefreshtrajetList();
                }
                else
                {
                    DynamicUIBuild_Utils.ShowSnackBar_WithOKButtonToClose(m_context, m_Parent.View, Resource.String.recyclerviewAdapter_display_trajets_deleteError);
                }
            });

            alert.SetNegativeButton(m_Parent.Resources.GetString(Resource.String.recyclerviewAdapter_display_trajets_deleteConfirmationCancel), (senderAlert, args) =>
            {
                //On ne fait rien
            });

            Dialog dialog = alert.Create();

            dialog.Show();
        }
コード例 #7
0
        protected override void OnRestoreInstanceState(Bundle savedInstanceState)
        {
            try
            {
                base.OnRestoreInstanceState(savedInstanceState);
                m_bIsRestoring = true;

                m_itrajetLocalID = savedInstanceState.GetInt("itrajetLocalID");
                if (m_itrajetLocalID == 0)
                {
                    Finish();
                }

                m_bIsModeConduite = savedInstanceState.GetBoolean("IsModeConduite");

                m_bIsSimulatorActivated = savedInstanceState.GetBoolean("IsSimulatorActivated");

                int iCurrentArret_localID = savedInstanceState.GetInt("CurrentArret_localID", -1);
                m_currentArret = LocalDatabase.Get().GetArretFromLocalID(new FileAccessManager(), iCurrentArret_localID);

                int iNextArret_localID = savedInstanceState.GetInt("NextArret_localID", -1);
                m_nextArret = LocalDatabase.Get().GetArretFromLocalID(new FileAccessManager(), iNextArret_localID);

                m_bHasShownSecurityMessage = savedInstanceState.GetBoolean("bHasShownSecurityMessage");
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #8
0
        public override bool OnOptionsItemSelected(IMenuItem item)
        {
            try
            {
                MobileCenter_Helper.TrackEvent(new FileAccessManager(), GetType().Name, MethodBase.GetCurrentMethod().Name + ", " + item?.TitleFormatted?.ToString());

                DynamicUIBuild_Utils.ManageDayNightModeMenuClick(item, this);

                switch (item.ItemId)
                {
                case Android.Resource.Id.Home:
                    OnBackPressed();
                    return(true);

                case Resource.Id.dashboardActivity_menu_simulator:
                    m_bIsSimulatorActivated = !m_bIsSimulatorActivated;
                    UpdateGpsLayout();

                    if (!m_bIsSimulatorActivated && !m_bHasGPSBeenInit)
                    {
                        GpsHelper.StartListening(OnPositionChanged);
                        m_bHasGPSBeenInit = true;
                    }
                    return(true);
                }
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }

            return(base.OnOptionsItemSelected(item));
        }
コード例 #9
0
        private void M_layoutGoToNextStep_Click(object sender, EventArgs e)
        {
            try
            {
                MobileCenter_Helper.TrackEvent(new FileAccessManager(), GetType().Name, MethodBase.GetCurrentMethod().Name);

                if (m_nextArret != null) //Empty arret. The ehouat is finished;
                {
                    return;
                }

                //Simule le parcours du tram B
                LatLng currentSimulatorPosition = m_lsSimulatorPositionTramB[m_iSimulatorPosition++] ?? null;

                //Throw GPS On Changed
                if (currentSimulatorPosition != null)
                {
                    OnPositionChanged(null, new PositionEventArgs(new Position {
                        Latitude = currentSimulatorPosition.m_Lat, Longitude = currentSimulatorPosition.m_Lon, Altitude = new Random().Next(300, 400), AltitudeAccuracy = 1
                    }));
                }
                else
                {
                    DynamicUIBuild_Utils.ShowSnackBar(this, m_layoutRoot, Resource.String.snackbar_simulatorEnded, Snackbar.LengthLong);
                }
            }
            catch (Exception ex)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), ex, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #10
0
        protected override void OnSaveInstanceState(Bundle outState)
        {
            try
            {
                base.OnSaveInstanceState(outState);

                if (m_itrajetLocalID != 0)
                {
                    outState.PutInt("itrajetLocalID", m_itrajetLocalID);
                }

                outState.PutBoolean("IsModeConduite", m_bIsModeConduite);

                outState.PutBoolean("IsSimulatorActivated", m_bIsSimulatorActivated);

                if (m_currentArret != null)
                {
                    outState.PutInt("CurrentArret_localID", m_currentArret.m_iLocalID);
                }

                if (m_nextArret != null)
                {
                    outState.PutInt("NextArret_localID", m_nextArret.m_iLocalID);
                }

                outState.PutBoolean("bHasShownSecurityMessage", m_bHasShownSecurityMessage);
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #11
0
        public override bool DispatchTouchEvent(MotionEvent ev)
        {
            try
            {
                if (ev.Action == MotionEventActions.Down)
                {
                    View v = CurrentFocus;
                    if (v is EditText)
                    {
                        Rect outRect = new Rect();
                        v.GetGlobalVisibleRect(outRect);
                        if (!outRect.Contains((int)ev.RawX, (int)ev.RawY))
                        {
                            v.ClearFocus();
                            DynamicUIBuild_Utils.HideKeyboard(this, v);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }

            return(base.DispatchTouchEvent(ev));
        }
コード例 #12
0
        public override void OnBackPressed()
        {
            try
            {
                if (m_sCurrentFragmentTag == FRAGMENT_PARAMETER)
                {
                    GoToFragment(FragmentEnum.Listtrajets);
                }
                else if (m_isCreatingNewtrajet)
                {
                    m_isCreatingNewtrajet = !m_isCreatingNewtrajet;

                    UpdateUIToShowListOrCreateNewtrajet();
                }
                else if (m_drawerLayout.IsDrawerOpen(GravityCompat.Start))
                {
                    m_drawerLayout.CloseDrawers();
                }
                else
                {
                    base.OnBackPressed();
                }
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #13
0
 private void UpdateGpsStatusIcon()
 {
     try
     {
         //If GPS is activated on phone
         if (Plugin.Geolocator.CrossGeolocator.Current.IsGeolocationEnabled)
         {
             if (m_currentGPSPosition == null)
             {
                 m_imageviewGPSStatus.SetImageResource(Resource.Drawable.ic_gps_not_fixed_white_24dp);
             }
             else
             {
                 m_imageviewGPSStatus.SetImageResource(Resource.Drawable.ic_gps_fixed_white_24dp);
             }
         }
         else
         {
             m_imageviewGPSStatus.SetImageResource(Resource.Drawable.ic_gps_off_white_24dp);
         }
     }
     catch (Exception e)
     {
         MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
     }
 }
コード例 #14
0
        private void M_edittextCalendar_Click(object sender, EventArgs e)
        {
            try
            {
                m_edittextCalendar.Enabled = false;

                MobileCenter_Helper.TrackEvent(new FileAccessManager(), GetType().Name, "M_edittextCalendar_Click");

                DateTime maxDate          = DateTime.Now.Date.AddDays(Settings.NbSelectableDaysAfterToday);
                DateTime minDate          = DateTime.Now.Date.AddDays(Settings.NbSelectableDaysBeforeToday);
                DateTime firstJanuary1970 = new DateTime(1970, 1, 1, 0, 0, 0);

                //Prompt a calendar
                DatePickerDialog datePicker = new DatePickerDialog(this, Resource.Style.DatePicker_Red_dayMode, OnDateSetDateBegin, DateTime.Now.Year, DateTime.Now.Month - 1, DateTime.Now.Day);
                datePicker.UpdateDate(DateTime.Now);
                datePicker.DatePicker.MaxDate = (long)maxDate.Subtract(firstJanuary1970).TotalMilliseconds;
                datePicker.DatePicker.MinDate = (long)minDate.Subtract(firstJanuary1970).TotalMilliseconds;
                datePicker.DismissEvent      += (senser, eventArgs) => { m_edittextCalendar.Enabled = true; };
                datePicker.Show();
            }
            catch (Exception ex)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), ex, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #15
0
        private void UpdateTimeBeforeStart()
        {
            try
            {
                string sHourMinutLeftBeforeStart       = m_trajet.GetLibelleHourMinutLeftBeforeStart();
                string stextviewMinutesBeforeStartText = sHourMinutLeftBeforeStart == "" ? "" : string.Format(Resources.GetString(Resource.String.activitytrajetDetails_textview_minutesBeforeStart), sHourMinutLeftBeforeStart);

                //Time before start
                if (stextviewMinutesBeforeStartText == "")
                {
                    m_layoutTimeBeforeStart.Visibility = ViewStates.Gone;
                }
                else
                {
                    m_textviewMinutesBeforeStart.Text  = stextviewMinutesBeforeStartText;
                    m_layoutTimeBeforeStart.Visibility = ViewStates.Visible;

                    //Will update again in 10 seconds
                    m_handler_UpdateTimeBeforeEhouatStartEveryMinuts.PostDelayed(m_workRunnable_UpdateTimeBeforeEhouatStartEveryMinuts, 10000);
                }
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, "m_workRunnable_UpdateTimeBeforeEhouatStartEveryMinuts");
            }
        }
コード例 #16
0
        public Activity_trajetDetails() : base()
        {
            m_handler_UpdateTimeBeforeEhouatStartEveryMinuts      = new Handler(Looper.MainLooper);
            m_workRunnable_UpdateTimeBeforeEhouatStartEveryMinuts = () =>
            {
                try
                {
                    //Update time before trajet starts
                    UpdateTimeBeforeStart();
                }
                catch (Exception e)
                {
                    MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, "m_workRunnable_UpdateTimeBeforeEhouatStartEveryMinuts");
                }
            };

            m_handler_DismissHandHUDIfNeeded      = new Handler(Looper.MainLooper);
            m_workRunnable_DismissHandHUDIfNeeded = () =>
            {
                try
                {
                    //In case listview has not been reloaded correctly, instantly scroll to the last item and dismiss AndHUD.
                    m_listview.SetSelection(m_adapter.Count - 1);

                    AndHUD.Shared.Dismiss();
                }
                catch (Exception e)
                {
                    MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, "m_workRunnable_DismissHandHUDIfNeeded");
                }
            };
        }
コード例 #17
0
        public async Task RefreshtrajetList()
        {
            try
            {
                m_refresher.Refreshing = true;

                List <Trajet> lstrajetsToShow = await Trajet.GetAlltrajetsToShowOnScreen(new FileAccessManager());

                m_adapter.UpdateListetrajets(lstrajetsToShow);

                if (lstrajetsToShow.Count == 0)
                {
                    m_textviewEmptyList.Visibility = ViewStates.Visible;
                }
                else
                {
                    m_textviewEmptyList.Visibility = ViewStates.Gone;
                }

                m_refresher.Refreshing = false;
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #18
0
        private void ActionToDoWhenHomePressed()
        {
            try
            {
                if (m_isCreatingNewtrajet)
                {
                    m_isCreatingNewtrajet = !m_isCreatingNewtrajet;

                    UpdateUIToShowListOrCreateNewtrajet();
                }
                else
                {
                    //If menu is open, close it. Else, open it.
                    if (m_drawerLayout.IsDrawerOpen(GravityCompat.Start))
                    {
                        m_drawerLayout.CloseDrawers();
                    }
                    else
                    {
                        m_drawerLayout.OpenDrawer(GravityCompat.Start);
                    }
                }
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #19
0
        public override bool OnOptionsItemSelected(IMenuItem item)
        {
            try
            {
                MobileCenter_Helper.TrackEvent(new FileAccessManager(), GetType().Name, "OnOptionsItemSelected " + item?.TitleFormatted?.ToString());

                DynamicUIBuild_Utils.ManageDayNightModeMenuClick(item, this);

                switch (item.ItemId)
                {
                //Handle sandwich menu icon click
                case Android.Resource.Id.Home:
                    ActionToDoWhenHomePressed();
                    break;

                case Resource.Id.dashboardActivity_menu_save:
                    AddNewtrajet();
                    break;

                case Resource.Id.dashboardActivity_menu_addtrajetTest:
                    AddtrajetForTest();
                    break;

                case Resource.Id.dashboardActivity_menu_restoreDefault:
                    m_fragmentParameters.RestaureDefault();
                    break;
                }
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }

            return(base.OnOptionsItemSelected(item));
        }
コード例 #20
0
        private void M_navigationView_NavigationItemSelected(object sender, NavigationView.NavigationItemSelectedEventArgs e)
        {
            try
            {
                switch (e.MenuItem.ItemId)
                {
                case Resource.Id.leftmenu_dashboard:
                    GoToFragment(FragmentEnum.Listtrajets);
                    break;

                case Resource.Id.leftmenu_parameters:
                    GoToFragment(FragmentEnum.Parameters);
                    break;

                case Resource.Id.leftmenu_disconnect:
                    Settings.UserToken    = "";
                    Settings.UserPassword = "";
                    StartActivity(typeof(Activity_Login));
                    Finish();
                    break;
                }
                m_drawerLayout.CloseDrawer(GravityCompat.Start);
            }
            catch (Exception ex)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), ex, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #21
0
        private void UpdateUIToShowListOrCreateNewtrajet()
        {
            try
            {
                InvalidateOptionsMenu();

                if (m_isCreatingNewtrajet)
                {
                    //Remove Fragment
                    GoToFragment(FragmentEnum.RemoveFragments);

                    //Toolbar and buttons visibility
                    m_textviewToolbarTitle.Visibility = ViewStates.Gone;
                    m_FAB.Visibility = ViewStates.Gone;
                    m_layouttrajetNumber.Visibility = ViewStates.Visible;
                    m_layoutCalendar.Visibility     = ViewStates.Visible;

                    //Today date is preselected
                    SetDateToCreatetrajetAndUpdateUI(DateTime.Now.Date);

                    //Left Menu icon
                    SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.ic_clear_white_24dp);
                }
                else
                {
                    //Refresh UI
                    if (m_edittextCalendar.Text.Trim() != "")
                    {
                        m_edittextCalendar.Text = "";
                    }
                    m_textinputlayoutCalendar.ErrorEnabled = false;
                    m_textinputlayoutCalendar.Error        = null;
                    if (m_edittexttrajetNumber.Text.Trim() != "")
                    {
                        m_edittexttrajetNumber.Text = "";
                    }
                    m_textinputlayouttrajetNumber.ErrorEnabled = false;
                    m_textinputlayouttrajetNumber.Error        = null;
                    m_selectedDateToCreatetrajet = new DateTime();

                    //Load fragment Listtrajets
                    GoToFragment(FragmentEnum.Listtrajets);

                    //Toolbar and buttons visibility
                    m_textviewToolbarTitle.Visibility = ViewStates.Visible;
                    m_FAB.Visibility                = ViewStates.Visible;
                    m_layoutCalendar.Visibility     = ViewStates.Gone;
                    m_layouttrajetNumber.Visibility = ViewStates.Gone;

                    //Left Menu icon
                    SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.ic_menu_white_24dp);
                }
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #22
0
        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            View     view                   = null;
            View     hilightView            = null;
            Arret    currentArret           = null;
            Arret    nextArret              = null;
            TextView textviewName           = null;
            TextView textviewHorairePassage = null;

            try
            {
                currentArret = this[position];
                if (position + 1 < Count)
                {
                    nextArret = this[position + 1];
                }

                view                   = m_context.LayoutInflater.Inflate(Resource.Layout.item_display_arret, null);
                hilightView            = view.FindViewById <View>(Resource.Id.item_display_arret_layout_hilight);
                textviewName           = view.FindViewById <TextView>(Resource.Id.item_display_arret_textview_name);
                textviewHorairePassage = view.FindViewById <TextView>(Resource.Id.item_display_arret_textview_horairePassage);

                //Name Bold if it is a stop, normal if it is a simple Arret. And also show or not the hilightView
                textviewName.Text = currentArret.m_sName;
                textviewName.SetTypeface(null, Android.Graphics.TypefaceStyle.Normal);
                hilightView.Visibility = ViewStates.Gone;


                m_lsView.Add(view);
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType()?.Name, MethodBase.GetCurrentMethod()?.Name +
                                                "\nview = " + view == null ? "null" : "not null" +
                                                "\ntextviewName = " + textviewName == null ? "null" : "not null" +
                                                "\ntextviewHorairePassage = " + textviewHorairePassage == null ? "null" : "not null" +
                                                "\ncurrentArret = " + currentArret == null ? "null" : currentArret.ToString() +
                                                "\nnextArret = " + nextArret == null ? "null" : nextArret.ToString());

                Activity_trajetDetails parentActivity = null;
                try
                {
                    parentActivity = (Activity_trajetDetails)m_context;
                }
                catch (Exception)
                {
                }

                if (parentActivity != null && parentActivity.m_layoutRoot != null)
                {
                    DynamicUIBuild_Utils.ShowSnackBar_WithOKButtonToClose(parentActivity, parentActivity.m_layoutRoot, Resource.String.snackbar_errorHappened);
                }
            }

            return(view);
        }
コード例 #23
0
        private void OnPositionChanged(object sender, PositionEventArgs e)
        {
            try
            {
                MobileCenter_Helper.TrackEvent(new FileAccessManager(), GetType().Name, MethodBase.GetCurrentMethod().Name);

                //Log position to console...
                m_currentGPSPosition = e.Position;
                string sLog = "\nLat: " + m_currentGPSPosition?.Latitude.ToString() + " Long: " + m_currentGPSPosition?.Longitude.ToString();
                try
                {
                    sLog += "\nTime: " + m_currentGPSPosition?.Timestamp.ToString();
                    sLog += "\nHeading: " + m_currentGPSPosition?.Heading.ToString();
                    sLog += "\nSpeed: " + m_currentGPSPosition?.Speed.ToString();
                    sLog += "\nAccuracy: " + m_currentGPSPosition?.Accuracy.ToString();
                    sLog += "\nAltitude: " + m_currentGPSPosition?.Altitude.ToString();
                    sLog += "\nAltitudeAccuracy: " + m_currentGPSPosition?.AltitudeAccuracy.ToString();
                }
                catch (Exception) { }
                MobileCenter_Helper.TrackGPS(new FileAccessManager(), sLog);

                //DynamicUIBuild_Utils.ShowSnackBar(this, m_layoutRoot, "lat = " + m_currentGPSPosition?.Latitude.ToString() + "\nlon = " + m_currentGPSPosition?.Longitude.ToString(), Snackbar.LengthShort);

                int iGpsLVL = 0;
                if (m_currentGPSPosition?.Accuracy < 10)
                {
                    iGpsLVL = 4;
                }
                else if (m_currentGPSPosition?.Accuracy < 15)
                {
                    iGpsLVL = 3;
                }
                else if (m_currentGPSPosition?.Accuracy < 20)
                {
                    iGpsLVL = 2;
                }
                else
                {
                    iGpsLVL = 1;
                }

                //Altimeter
                m_altiManager.AddPoint(m_currentGPSPosition);

                UpdateGPSlevel(iGpsLVL);
                GoToNextStopIfNeeded();
                UpdateAvanceRetard();
                UpdateAltimeter();
            }
            catch (Exception ex)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), ex, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #24
0
 private void M_edittextCalendar_TextChanged(object sender, Android.Text.TextChangedEventArgs e)
 {
     try
     {
         IsEditText_Calendar_Error();
     }
     catch (Exception ex)
     {
         MobileCenter_Helper.ReportError(new FileAccessManager(), ex, GetType().Name, MethodBase.GetCurrentMethod().Name);
     }
 }
コード例 #25
0
 private void SetTextViewLuxLight()
 {
     try
     {
         m_textviewLuxLight.Text = string.Format(Resources.GetString(Resource.String.fragmentParameters_textview_luxLight), Settings.LuxLightToGoNightMode);
     }
     catch (Exception e)
     {
         MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
     }
 }
コード例 #26
0
ファイル: Activity_Splash.cs プロジェクト: espritm/TrajetTram
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            MobileCenter_Helper.InitAndroidAnalytics();

            if (Utils.AskForPermissions.askForWriteExternalStoragePermission(this, 1))
            {
                Init();
            }
        }
コード例 #27
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            View view = null;

            try
            {
                view = inflater.Inflate(Resource.Layout.fragmentParameters, null);

                m_textviewNightMode          = view.FindViewById <TextView>(Resource.Id.fragmentParameters_textview_nightMode);
                m_switchNightMode            = view.FindViewById <Switch>(Resource.Id.fragmentParameters_switch_nightMode);
                m_textviewTime               = view.FindViewById <TextView>(Resource.Id.fragmentParameters_textview_minimumTimeGPS);
                m_seekbarTime                = view.FindViewById <SeekBar>(Resource.Id.fragmentParameters_seekbar_minimumTimeGPS);
                m_textviewDistance           = view.FindViewById <TextView>(Resource.Id.fragmentParameters_textview_minimumDistanceGPS);
                m_seekbarDistance            = view.FindViewById <SeekBar>(Resource.Id.fragmentParameters_seekbar_minimumDistanceGPS);
                m_textviewRadiusToDetectStop = view.FindViewById <TextView>(Resource.Id.fragmentParameters_textview_minimumRadiusToDetectStop);
                m_seekbarRadiusToDetectStop  = view.FindViewById <SeekBar>(Resource.Id.fragmentParameters_seekbar_minimumRadiusToDetectStop);
                m_textviewLuxLight           = view.FindViewById <TextView>(Resource.Id.fragmentParameters_textview_luxLight);
                m_seekbarLuxLight            = view.FindViewById <SeekBar>(Resource.Id.fragmentParameters_seekbar_luxLight);

                //Day/Night mode
                m_switchNightMode.Checked        = Settings.NightMode;
                m_switchNightMode.CheckedChange += M_switchNightMode_CheckedChange;

                //Tracking GPS
                m_seekbarTime.StartTrackingTouch               += M_seekbarTime_StartTrackingTouch;
                m_seekbarTime.StopTrackingTouch                += M_seekbarTime_StopTrackingTouch;
                m_seekbarTime.ProgressChanged                  += M_seekbarTime_ProgressChanged;
                m_seekbarDistance.StartTrackingTouch           += M_seekbarDistance_StartTrackingTouch;
                m_seekbarDistance.StopTrackingTouch            += M_seekbarDistance_StopTrackingTouch;
                m_seekbarDistance.ProgressChanged              += M_seekbarDistance_ProgressChanged;
                m_seekbarRadiusToDetectStop.StartTrackingTouch += M_seekbarRadiusToDetectStop_StartTrackingTouch;
                m_seekbarRadiusToDetectStop.StopTrackingTouch  += M_seekbarRadiusToDetectStop_StopTrackingTouch;
                m_seekbarRadiusToDetectStop.ProgressChanged    += M_seekbarRadiusToDetectStop_ProgressChanged;
                SetSeekbarGPS();

                //Lux Light to go night mode
                m_seekbarLuxLight.StartTrackingTouch += M_seekbarLuxLight_StartTrackingTouch;
                m_seekbarLuxLight.StopTrackingTouch  += M_seekbarLuxLight_StopTrackingTouch;
                m_seekbarLuxLight.ProgressChanged    += M_seekbarLuxLight_ProgressChanged;
                m_seekbarLuxLight.Progress            = Settings.LuxLightToGoNightMode;
            }
            catch (System.Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);

                if (view != null)
                {
                    DynamicUIBuild_Utils.ShowSnackBar(Activity, view, Resource.String.snackbar_errorHappened, Snackbar.LengthLong);
                }
            }

            return(view);
        }
コード例 #28
0
        private void M_layoutGPS_Click(object sender, EventArgs e)
        {
            try
            {
                MobileCenter_Helper.TrackEvent(new FileAccessManager(), GetType().Name, MethodBase.GetCurrentMethod().Name);

                int iStringResourceID = 0;

                if (Plugin.Geolocator.CrossGeolocator.Current.IsGeolocationEnabled)
                {
                    if (m_currentGPSPosition == null)
                    {
                        iStringResourceID = Resource.String.activity_trajetDetail_snackbar_GPS_searching;
                    }
                    else
                    {
                        switch (m_iGPSlevelMax)
                        {
                        case 0:
                            iStringResourceID = Resource.String.activity_trajetDetail_snackbar_GPSlevel_noGPS;
                            break;

                        case 1:
                            iStringResourceID = Resource.String.activity_trajetDetail_snackbar_GPSlevel_low;
                            break;

                        case 2:
                            iStringResourceID = Resource.String.activity_trajetDetail_snackbar_GPSlevel_lowMedium;
                            break;

                        case 3:
                            iStringResourceID = Resource.String.activity_trajetDetail_snackbar_GPSlevel_medium;
                            break;

                        case 4:
                            iStringResourceID = Resource.String.activity_trajetDetail_snackbar_GPSlevel_strong;
                            break;
                        }
                    }
                }
                else
                {
                    iStringResourceID = Resource.String.activity_trajetDetail_snackbar_GPS_off;
                }

                DynamicUIBuild_Utils.ShowSnackBar(this, m_layoutRoot, iStringResourceID, Snackbar.LengthLong);
            }
            catch (Exception ex)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), ex, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #29
0
        public void GoToFragment(FragmentEnum position)
        {
            try
            {
                switch (position)
                {
                case FragmentEnum.Listtrajets:
                    m_fragmentListtrajets = new Fragment_Listtrajets();

                    SupportFragmentManager.BeginTransaction().Replace(Resource.Id.dashboardActivity_frameLayout, m_fragmentListtrajets, FRAGMENT_LISTtrajetS).CommitAllowingStateLoss();

                    m_textviewToolbarTitle.Text = Resources.GetString(Resource.String.dashboardActivity_name);
                    m_navigationView.SetCheckedItem(Resource.Id.leftmenu_dashboard);
                    m_FAB.Visibility = ViewStates.Visible;

                    m_sCurrentFragmentTag = FRAGMENT_LISTtrajetS;
                    break;

                case FragmentEnum.Parameters:
                    m_fragmentParameters = new Fragment_Parameters();

                    SupportFragmentManager.BeginTransaction().Replace(Resource.Id.dashboardActivity_frameLayout, m_fragmentParameters, FRAGMENT_PARAMETER).CommitAllowingStateLoss();

                    m_textviewToolbarTitle.Text = Resources.GetString(Resource.String.leftmenu_parameters);
                    m_navigationView.SetCheckedItem(Resource.Id.leftmenu_parameters);
                    m_FAB.Visibility = ViewStates.Gone;

                    m_sCurrentFragmentTag = FRAGMENT_PARAMETER;
                    break;

                case FragmentEnum.RemoveFragments:
                    m_frameLayout.RemoveAllViews();
                    if (m_sCurrentFragmentTag != "")
                    {
                        SupportFragmentManager.BeginTransaction().Remove(SupportFragmentManager.FindFragmentByTag(m_sCurrentFragmentTag));
                    }

                    m_textviewToolbarTitle.Text = "";
                    m_navigationView.SetCheckedItem(Resource.Id.leftmenu_dashboard);
                    m_FAB.Visibility = ViewStates.Visible;

                    m_sCurrentFragmentTag = "";
                    break;
                }

                InvalidateOptionsMenu();
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
コード例 #30
0
        private void M_switchNightMode_CheckedChange(object sender, CompoundButton.CheckedChangeEventArgs e)
        {
            try
            {
                MobileCenter_Helper.TrackEvent(new FileAccessManager(), GetType().Name, MethodBase.GetCurrentMethod().Name + ", " + e.IsChecked.ToString());

                DynamicUIBuild_Utils.Switch_DayMode_NightMode(Activity, m_switchNightMode.Checked);
            }
            catch (Exception ex)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), ex, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }