예제 #1
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));
        }
예제 #2
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);
            }
        }
예제 #3
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));
        }
예제 #4
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);
            }
        }
예제 #5
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));
        }
예제 #6
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);
            }
        }
예제 #7
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();
        }
예제 #8
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);
        }
예제 #9
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);
        }
예제 #10
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);
            }
        }
예제 #11
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);
            }
        }
예제 #12
0
        protected override void OnPause()
        {
            try
            {
                base.OnPause();

                //Unregister Light Sensor Manager
                DynamicUIBuild_Utils.UnregisterLightSensor(m_sensorManager, m_sensorListener);
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
예제 #13
0
        protected override void OnResume()
        {
            try
            {
                base.OnResume();

                AskForPermissions.askForWriteExternalStoragePermission(this);

                //Register Light Sensor Manager
                DynamicUIBuild_Utils.RegisterLightSensor(m_sensorManager, m_sensorListener);
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
예제 #14
0
        public override bool OnPrepareOptionsMenu(IMenu menu)
        {
            try
            {
                IMenuItem menuitemSimulator = menu.FindItem(Resource.Id.dashboardActivity_menu_simulator);
                menuitemSimulator?.SetVisible(m_bIsModeConduite);

                DynamicUIBuild_Utils.SetDayNightModeMenu(ref menu);
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }

            return(base.OnPrepareOptionsMenu(menu));
        }
예제 #15
0
        public void UpdateGPSlevel(int iLvlMax = 0)
        {
            try
            {
                UpdateGpsStatusIcon();

                m_iGPSlevelMax = iLvlMax;

                m_layoutGPSlevel.RemoveAllViews();
                m_layoutGPSlevel.AddView(DynamicUIBuild_Utils.Inflate_Item_Sport_Level(this, 0, m_iGPSlevelMax));
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
예제 #16
0
        public override bool OnPrepareOptionsMenu(IMenu menu)
        {
            try
            {
                IMenuItem menuitemSave = menu.FindItem(Resource.Id.dashboardActivity_menu_save);
                if (m_isCreatingNewtrajet)
                {
                    menuitemSave?.SetVisible(true);
                }
                else
                {
                    menuitemSave?.SetVisible(false);
                }

                IMenuItem menuitemDayNightMode = menu.FindItem(Resource.Id.dashboardActivity_menu_nightdaymode);
                if (m_sCurrentFragmentTag == FRAGMENT_PARAMETER)
                {
                    menuitemDayNightMode?.SetVisible(false);
                }
                else
                {
                    menuitemDayNightMode?.SetVisible(true);
                    DynamicUIBuild_Utils.SetDayNightModeMenu(ref menu);
                }

                IMenuItem menuitemRestoreDefault = menu.FindItem(Resource.Id.dashboardActivity_menu_restoreDefault);
                if (m_sCurrentFragmentTag == FRAGMENT_PARAMETER)
                {
                    menuitemRestoreDefault?.SetVisible(true);
                }
                else
                {
                    menuitemRestoreDefault?.SetVisible(false);
                }

                IMenuItem menuItemAddtrajetForTest = menu.FindItem(Resource.Id.dashboardActivity_menu_addtrajetTest);
                menuItemAddtrajetForTest?.SetVisible(true);
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }

            return(base.OnPrepareOptionsMenu(menu));
        }
예제 #17
0
 public override bool DispatchTouchEvent(MotionEvent ev)
 {
     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);
             }
         }
     }
     return(base.DispatchTouchEvent(ev));
 }
예제 #18
0
        private void M_btnNewPasswordSend_Click(object sender, System.EventArgs e)
        {
            try
            {
                MobileCenter_Helper.TrackEvent(new FileAccessManager(), GetType().Name, "M_btnNewPasswordSend_Click");

                if (!CrossConnectivity.Current.IsConnected)
                {
                    DynamicUIBuild_Utils.ShowSnackBar_WithOKButtonToClose(this, m_layoutRoot, Resource.String.snackbar_internetRequired);
                    return;
                }

                if (IsEditText_AskNewPasswordMatriculeNumber_Error() || IsEditText_AskNewPasswordEmail_Error())
                {
                    return;
                }

                //appel webservice
                bool bRes = true;

                //if webservice is ok
                if (bRes)
                {
                    //Show snackbar to inform user and redirect him to the connection cardview
                    DynamicUIBuild_Utils.ShowSnackBar_WithOKButtonToClose(this, m_layoutRoot, Resource.String.activityLogin_success_matriculeNumber_sent);

                    m_isAskingNewPassword = !m_isAskingNewPassword;
                    UpdateUIToShowConnectionOrNewPassword();
                }
                else
                {
                    //If matricule is wrong, show snackbar and error message
                    DynamicUIBuild_Utils.ShowSnackBar(this, m_layoutRoot, Resource.String.activityLogin_error_matriculeNumber_unknown, Snackbar.LengthLong);

                    m_textinputlayoutNewPasswordMatriculeNumber.ErrorEnabled = true;
                    m_textinputlayoutNewPasswordMatriculeNumber.Error        = Resources.GetString(Resource.String.activityLogin_error_matriculeNumber_unknown);
                }
            }
            catch (Exception ex)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), ex, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
예제 #19
0
        private void GoToActivitytrajet(int position, bool bIsModeConduite)
        {
            Trajet trajetClicked = null;

            try
            {
                trajetClicked = m_lstrajet[position];
            }
            catch (Exception)
            { }

            if (trajetClicked == null)
            {
                return;
            }

            //If user has clicked on btn StartModeConduite in state disabled : show an error message to explain he has to prepare it before.
            if (bIsModeConduite && !trajetClicked.m_bHasBeenPrepared)
            {
                DynamicUIBuild_Utils.ShowSnackBar_WithOKButtonToClose(m_context, m_Parent.View, Resource.String.item_display_trajets_btn_open_errorMessage);
                return;
            }

            //Go to activity_trajet
            Intent intent = new Intent(m_context, typeof(Activity_trajetDetails));

            /*intent.PutExtra("RefNumber", trajetClicked.m_sRefNumber);
             * intent.PutExtra("DateOftrajet", trajetClicked.m_datetrajet.ToString("yyyy-MM-dd"));*/
            intent.PutExtra("itrajetLocalID", trajetClicked.m_iLocalID);
            intent.PutExtra("IsModeConduite", bIsModeConduite);

            //If start in preparation mode, wait a result in order to refresh the list if user has modified his trajet.
            if (bIsModeConduite)
            {
                m_context.StartActivity(intent);
            }
            else
            {
                m_context.StartActivityForResult(intent, 42);
            }
        }
예제 #20
0
        private async void AddNewtrajet()
        {
            try
            {
                if (IsEditText_trajetNumber_Error() || IsEditText_Calendar_Error())
                {
                    return;
                }

                AndHUD.Shared.Show(this, Resources.GetString(Resource.String.loading_in_progress), -1, MaskType.Black);

                await Task.Delay(2000);

                DynamicUIBuild_Utils.ShowSnackBar(this, m_drawerLayout, "Pas de webservice dans cette version :)\nUtiliser la trajet de test.", Snackbar.LengthLong);

                AndHUD.Shared.Dismiss();
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
예제 #21
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            View view = null;

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

                m_refresher         = view.FindViewById <SwipeRefreshLayout>(Resource.Id.fragmentParameters_refresher);
                m_recyclerView      = view.FindViewById <RecyclerView>(Resource.Id.fragmentParameters_recyclerView);
                m_textviewEmptyList = view.FindViewById <TextView>(Resource.Id.fragmentParameters_textview_emptyList);

                //trajets list
                m_recyclerView.SetLayoutManager(new LinearLayoutManager(Activity));
                m_adapter = new RecyclerviewAdapter_Display_trajets(Activity, this);
                m_recyclerView.SetAdapter(m_adapter);

                m_refresher.Refresh += M_refresher_Refresh;

                m_refresher.Post(async() =>
                {
                    m_refresher.Refreshing = true;

                    await RefreshtrajetList();
                });
            }
            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);
        }
예제 #22
0
        protected override void OnCreate(Bundle bundle)
        {
            try
            {
                base.OnCreate(bundle);

                MobileCenter_Helper.InitAndroidAnalytics();

                if (Settings.NightMode)
                {
                    SetTheme(Resource.Style.TrajetTramTheme_nightMode);
                }
                else
                {
                    SetTheme(Resource.Style.TrajetTramTheme_dayMode);
                }

                m_bDontStartActivityAfterLoginValid = Intent.Extras?.GetBoolean("DontStartActivityAfterLoginValid", false) ?? false;

                // Set our view from the "main" layout resource
                SetContentView(Resource.Layout.activityLogin);

                m_layoutRoot          = FindViewById <RelativeLayout>(Resource.Id.activityLogin_relativeLayout_root);
                m_cardviewConnection  = FindViewById <CardView>(Resource.Id.activityLogin_cardview_connection);
                m_cardviewNewPassword = FindViewById <CardView>(Resource.Id.activityLogin_cardview_newPassword);
                m_edittextConnectionMatriculeNumber         = FindViewById <TextInputEditText>(Resource.Id.activityLogin_textInputEditText_matriculeNumber);
                m_edittextConnectionPassword                = FindViewById <TextInputEditText>(Resource.Id.activityLogin_textInputEditText_password);
                m_edittextNewPasswordMatriculeNumber        = FindViewById <TextInputEditText>(Resource.Id.activityLogin_textInputEditText_newPassword_matriculeNumber);
                m_edittextNewPasswordEmail                  = FindViewById <TextInputEditText>(Resource.Id.activityLogin_textInputEditText_newPassword_email);
                m_textinputlayoutConnectionMatriculeNumber  = FindViewById <TextInputLayout>(Resource.Id.activityLogin_textInputLayout_matriculeNumber);
                m_textinputlayoutConnectionPassword         = FindViewById <TextInputLayout>(Resource.Id.activityLogin_textInputLayout_password);
                m_textinputlayoutNewPasswordMatriculeNumber = FindViewById <TextInputLayout>(Resource.Id.activityLogin_textInputLayout_newPassword_matriculeNumber);
                m_textinputlayoutNewPasswordEmail           = FindViewById <TextInputLayout>(Resource.Id.activityLogin_textInputLayout_newPassword_email);
                m_btnConnectionValid          = FindViewById <Button>(Resource.Id.activityLogin_btn_valid);
                m_btnConnectionAskNewPassword = FindViewById <Button>(Resource.Id.activityLogin_btn_askNewPassword);
                m_btnNewPasswordSend          = FindViewById <Button>(Resource.Id.activityLogin_btn_newPassword_valid);
                m_btnNewPasswordCancel        = FindViewById <Button>(Resource.Id.activityLogin_btn_newPassword_cancel);

                //Button behaviors
                m_btnConnectionAskNewPassword.Click += M_btnConnectionAskNewPassword_Click;
                m_btnNewPasswordCancel.Click        += M_btnNewPasswordCancel_Click;
                m_btnConnectionValid.Click          += M_btnConnectionValid_Click;
                m_btnNewPasswordSend.Click          += M_btnNewPasswordSend_Click;

                //Init views
                UpdateUIToShowConnectionOrNewPassword();

                //If has ever been connected
                if (Settings.UserMatricule != "")
                {
                    m_edittextConnectionMatriculeNumber.Text = Settings.UserMatricule;
                }

                //EditText TextChanged for error management
                m_edittextConnectionMatriculeNumber.TextChanged  += M_edittextConnectionMatriculeNumber_TextChanged;
                m_edittextConnectionPassword.TextChanged         += M_edittextConnectionPassword_TextChanged;
                m_edittextNewPasswordMatriculeNumber.TextChanged += M_edittextNewPasswordMatriculeNumber_TextChanged;
                m_edittextNewPasswordEmail.TextChanged           += M_edittextNewPasswordEmail_TextChanged;

                //Init Light Sensor Manager
                DynamicUIBuild_Utils.InitLightSensorManagers(this, out m_sensorManager, out m_sensorListener);
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
예제 #23
0
        protected override void OnCreate(Bundle bundle)
        {
            try
            {
                base.OnCreate(bundle);

                MobileCenter_Helper.InitAndroidAnalytics();

                if (Settings.NightMode)
                {
                    SetTheme(Resource.Style.TrajetTramTheme_nightMode);
                }
                else
                {
                    SetTheme(Resource.Style.TrajetTramTheme_dayMode);
                }

                // Set our view from the "main" layout resource
                SetContentView(Resource.Layout.dashboardActivity);

                m_toolbar                     = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.dashboardActivity_toolbar);
                m_drawerLayout                = FindViewById <DrawerLayout>(Resource.Id.dashboardActivity_drawerlayout);
                m_navigationView              = FindViewById <NavigationView>(Resource.Id.dashboardActivity_navigationView);
                m_FAB                         = FindViewById <FloatingActionButton>(Resource.Id.dashboardActivity_FAB);
                m_textviewToolbarTitle        = FindViewById <TextView>(Resource.Id.dashboardActivity_toolbar_textviewTitle);
                m_layouttrajetNumber          = FindViewById <LinearLayout>(Resource.Id.dashboardActivity_layout_trajetNumber);
                m_layoutCalendar              = FindViewById <LinearLayout>(Resource.Id.dashboardActivity_layout_calendar);
                m_edittexttrajetNumber        = FindViewById <TextInputEditText>(Resource.Id.dashboardActivity_textInputEditText_trajetNumber);
                m_edittextCalendar            = FindViewById <TextInputEditText>(Resource.Id.dashboardActivity_textInputEditText_calendar);
                m_textinputlayouttrajetNumber = FindViewById <TextInputLayout>(Resource.Id.dashboardActivity_textInputLayout_trajetNumber);
                m_textinputlayoutCalendar     = FindViewById <TextInputLayout>(Resource.Id.dashboardActivity_textInputLayout_calendar);
                m_frameLayout                 = FindViewById <FrameLayout>(Resource.Id.dashboardActivity_frameLayout);

                //Navigation view
                m_navigationView.NavigationItemSelected += M_navigationView_NavigationItemSelected;
                ConfigureNavigationViewHeader();

                //Actionbar
                SetSupportActionBar(m_toolbar);
                SupportActionBar.SetDisplayHomeAsUpEnabled(true);

                //FAB action
                m_FAB.Click += M_FAB_Click;

                //Choose date action
                m_edittextCalendar.FocusChange += M_edittextCalendar_FocusChange;
                m_edittextCalendar.Click       += M_edittextCalendar_Click;

                UpdateUIToShowListOrCreateNewtrajet();

                //Error management for EditText during trajet creation
                m_edittextCalendar.TextChanged     += M_edittextCalendar_TextChanged;
                m_edittexttrajetNumber.TextChanged += M_edittexttrajetNumber_TextChanged;

                //Init Light Sensor Manager
                DynamicUIBuild_Utils.InitLightSensorManagers(this, out m_sensorManager, out m_sensorListener);
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
예제 #24
0
        private Trajet AddtrajetForTest()
        {
            Trajet test = new Trajet();

            test.m_sRefNumber     = "B";
            test.m_datetrajet     = DateTime.Now;
            test.m_sLocationStart = "Grenoble - Presqu'île";
            test.m_sLocationEnd   = "Plaine des Sports";
            test.m_sTimeStart     = "6:57";
            test.m_sTimeEnd       = "7:34";
            test.m_sTrainType     = "Tramway";
            test.m_sLocoType      = "Electrique";
            test.m_sWeight        = "56";
            test.m_lsarret        = new List <Arret>();
            test.m_lsarret.Add(new Arret("Grenoble - Presqu'île", "0", "", "", 0, "6:57", "", "", "", 45.204441, 5.701218, 0, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Cité Internationale", "0", "", "", 0, "7:00", "", "", "", 45.195042, 5.711121, 0, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Palais de Justice", "0", "", "", 0, "7:03", "", "", "", 45.191158, 5.711664, 0, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Saint Bruno", "0", "", "", 0, "7:05", "", "", "", 45.190149, 5.715212, 0, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Gare", "0", "", "0", 5, "7:07", "", "", "V2", 45.190149, 5.715212, 7, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Alsace lorraine", "0", " ", "30", 0, "7:09", "", "", "V2", 45.189394, 5.720446, 2, false, "", "S", false));
            test.m_lsarret.Add(new Arret("Victor Hugo", "0", "", "70", 2, "7:11", "", "", "V2", 45.189799, 5.725152, 6, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Maison du tourisme", "0", "", "70", 8, "7:12", "", "", "V2", 45.190195, 5.728310, 2, false, "", "S", false));
            test.m_lsarret.Add(new Arret("Sainte Claire les halles", "0", "A2", "30", 0, "7:14", "", "", "BV2", 45.191323, 5.730705, 2, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Notre Dame Musée", "0", "", "0", 12, "7:15", "", "", "V2", 45.193565, 5.732215, 19, false, "", "S", false));
            test.m_lsarret.Add(new Arret("Île Verte", "0", "", "", 0, "7:16", "", "", "", 45.197286, 5.736712, 0, true, "", "S", false));
            test.m_lsarret.Add(new Arret("La Tronche Hôpital", "0", "", "", 0, "7:17", "", "", "", 45.200633, 5.741139, 0, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Michallon", "0", "", "", 0, "7:19", "", "", "", 45.200280, 5.745447, 0, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Grand Sablon", "0", "", "", 0, "7:21", "", "", "", 45.198984, 5.749868, 0, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Les Taillées-Universités", "0", "", "", 0, "7:23", "", "", "", 45.192195, 5.757836, 0, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Gabriel Fauré", "0", "", "", 0, "7:25", "", "", "", 45.192288, 5.764456, 0, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Bibliothèques Universitaires", "0", "", "", 0, "7:27", "", "", "", 45.192298, 5.770843, 0, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Condillac-Universités", "0", "", "", 0, "7:29", "", "", "", 45.189128, 5.774377, 0, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Mayencin Champ Roman", "0", "", "", 0, "7:31", "", "", "", 45.184743, 5.779055, 0, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Gières Gare-Universités", "0", "", "", 0, "7:33", "", "", "", 45.185393, 5.785503, 0, true, "", "S", false));
            test.m_lsarret.Add(new Arret("Plaine des Sports", "0", "", "", 0, "7:34", "", "", "", 45.187521, 5.784426, 0, true, "", "S", false));

            //Recup pdf files from asset
            AssetManager  assetManager = Assets;
            List <string> lsfiles      = new List <string>();

            try
            {
                lsfiles = new List <string>(assetManager.List("PDF_forDemo"));
            }
            catch (Java.IO.IOException)
            { }
            catch (System.IO.IOException)
            { }

            //save pdf files to local storage : dans le dossier Downloads
            string outDir = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads).AbsolutePath + "/pdf_Trajet_Tram";

            try
            {
                if (!AskForPermissions.askForWriteExternalStoragePermission(this, 48))
                {
                    return(null);
                }

                if (!System.IO.Directory.Exists(outDir))
                {
                    System.IO.Directory.CreateDirectory(outDir);
                }
                foreach (string sFileName in lsfiles)
                {
                    Stream     input  = null;
                    FileStream output = null;
                    try
                    {
                        input = assetManager.Open("PDF_forDemo/" + sFileName);

                        if (System.IO.File.Exists(outDir + "/" + sFileName))
                        {
                            System.IO.File.Delete(outDir + "/" + sFileName);
                        }

                        output = System.IO.File.Create(outDir + "/" + sFileName);

                        input.CopyTo(output);
                        output.Close();
                    }
                    catch (Java.IO.IOException)
                    { }
                    catch (System.IO.IOException)
                    { }
                }
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
                DynamicUIBuild_Utils.ShowSnackBar_WithOKButtonToClose(this, m_frameLayout, Resource.String.snackbar_errorHappened);
            }

            LocalDatabase.Get().Addtrajet(new FileAccessManager(), test);
            foreach (Arret p in test.m_lsarret)
            {
                p.m_iLocalIDtrajet = test.m_iLocalID;
                LocalDatabase.Get().AddArret(new FileAccessManager(), p);
            }

            //Refresh list if needed
            m_fragmentListtrajets?.RefreshtrajetList();

            return(test);
        }
예제 #25
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            try
            {
                base.OnCreate(savedInstanceState);

                //Prevent app going into sleep mode
                Window.AddFlags(WindowManagerFlags.KeepScreenOn);

                MobileCenter_Helper.InitAndroidAnalytics();

                if (Settings.NightMode)
                {
                    SetTheme(Resource.Style.TrajetTramTheme_actionBar_nightMode);
                }
                else
                {
                    SetTheme(Resource.Style.TrajetTramTheme_actionBar_dayMode);
                }

                //Set our view from the "main" layout resource
                SetContentView(Resource.Layout.activitytrajetDetails);
                SupportActionBar.SetDisplayHomeAsUpEnabled(true);
                SupportActionBar.SetHomeButtonEnabled(true);

                //Get the trajet's local ID
                m_itrajetLocalID = Intent.Extras.GetInt("itrajetLocalID");
                if (m_itrajetLocalID == 0)
                {
                    Finish();
                }

                //Get the mode (preparation or conduite)
                m_bIsModeConduite = Intent.Extras.GetBoolean("IsModeConduite");

                m_layoutRoot = FindViewById <RelativeLayout>(Resource.Id.activitytrajetDetails_layout_root);
                m_refresher  = FindViewById <SwipeRefreshLayout>(Resource.Id.activitytrajetDetails_refresher);
                m_listview   = FindViewById <ListView>(Resource.Id.activitytrajetDetails_listview);
                m_textviewEhouatRefNumber    = FindViewById <TextView>(Resource.Id.activitytrajetDetails_textview_ehouatRefNumber);
                m_textviewTrain              = FindViewById <TextView>(Resource.Id.activitytrajetDetails_textview_train);
                m_textviewLocoType           = FindViewById <TextView>(Resource.Id.activitytrajetDetails_textview_locoType);
                m_textviewTonnage            = FindViewById <TextView>(Resource.Id.activitytrajetDetails_textview_tonnage);
                m_textviewRadio              = FindViewById <TextView>(Resource.Id.activitytrajetDetails_textview_radio);
                m_textviewLocationStart      = FindViewById <TextView>(Resource.Id.activitytrajetDetails_textview_locationStart);
                m_textviewTimeStart          = FindViewById <TextView>(Resource.Id.activitytrajetDetails_textview_timeStart);
                m_textviewLocationEnd        = FindViewById <TextView>(Resource.Id.activitytrajetDetails_textview_locationEnd);
                m_textviewTimeEnd            = FindViewById <TextView>(Resource.Id.activitytrajetDetails_textview_timeEnd);
                m_textviewMinutesBeforeStart = FindViewById <TextView>(Resource.Id.activitytrajetDetails_textview_minutesBeforeStart);
                m_textviewAltimeter          = FindViewById <TextView>(Resource.Id.activitytrajetDetails_textview_altimeter);
                m_imageviewAltimeter         = FindViewById <ImageView>(Resource.Id.activitytrajetDetails_imageview_altimeter);
                m_layoutAltimeter            = FindViewById <LinearLayout>(Resource.Id.activitytrajetDetails_layout_altimeter);
                m_layoutGoToNextStep         = FindViewById <LinearLayout>(Resource.Id.activitytrajetDetails_layout_GoToNextStep);
                m_layoutGPS             = FindViewById <LinearLayout>(Resource.Id.activitytrajetDetails_layout_GPS);
                m_layoutGPSlevel        = FindViewById <LinearLayout>(Resource.Id.activitytrajetDetails_layout_GPSlevel);
                m_imageviewGPSStatus    = FindViewById <ImageView>(Resource.Id.activitytrajetDetails_imageview_GPSStatus);
                m_layoutTimeBeforeStart = FindViewById <LinearLayout>(Resource.Id.activitytrajetDetails_layout_minutesBeforeStart);
                m_layoutNextStop        = FindViewById <RelativeLayout>(Resource.Id.activitytrajetDetails_layout_nextStop);
                m_textviewNextStopTitle = FindViewById <TextView>(Resource.Id.activitytrajetDetails_textview_nextStop_title);
                m_textviewNextStopHour  = FindViewById <TextView>(Resource.Id.activitytrajetDetails_textview_nextStop_hour);
                m_textviewNextStopMinuteAvanceRetard = FindViewById <TextView>(Resource.Id.activitytrajetDetails_textview_nextStop_miuntesAvanceRetard);
                m_btnValidPreparation = FindViewById <Button>(Resource.Id.activitytrajetDetails_btn_validePreparation);

                //Current Stop mode conduite
                m_layoutCurrentStop                 = FindViewById <LinearLayout>(Resource.Id.activitytrajetDetails_modeConduite_layout_currentStop);
                m_layoutCurrentStopInfos            = FindViewById <LinearLayout>(Resource.Id.activitytrajetDetails_modeConduite_layout_currentStopInfos);
                m_textviewCurrentStopName           = FindViewById <TextView>(Resource.Id.activitytrajetDetails_arret_textview_name);
                m_textviewCurrentStopHorairePassage = FindViewById <TextView>(Resource.Id.activitytrajetDetails_arret_textview_horairePassage);

                m_layoutGoToNextStep.Click  += M_layoutGoToNextStep_Click;
                m_layoutGPS.Click           += M_layoutGPS_Click;
                m_btnValidPreparation.Click += M_btnValidPreparation_Click;
                m_listview.Scroll           += M_listview_Scroll;

                m_adapter                = new ListviewAdapter_Display_arret(this);
                m_listview.Adapter       = m_adapter;
                m_listview.Divider       = null;
                m_listview.DividerHeight = 0;

                m_refresher.Refresh += M_refresher_Refresh;
                m_refresher.Post(async() =>
                {
                    await InitUI();

                    //Show Security Message if needed
                    ShowSecurityMessageIfNeeded();

                    //Start GPS tracking if needed
                    if (m_bIsModeConduite && !m_bIsSimulatorActivated)
                    {
                        await GpsHelper.StartListening(OnPositionChanged);
                        m_bHasGPSBeenInit = true;
                    }
                });

                //Init Light Sensor Manager
                DynamicUIBuild_Utils.InitLightSensorManagers(this, out m_sensorManager, out m_sensorListener);
            }
            catch (Exception e)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }
예제 #26
0
        private async Task InitUI()
        {
            m_refresher.Refreshing = true;
            AndHUD.Shared.Show(this, Resources.GetString(Resource.String.loading_in_progress), -1, MaskType.Black);
            m_handler_DismissHandHUDIfNeeded.RemoveCallbacks(m_workRunnable_DismissHandHUDIfNeeded);

            //Get trajet from local database
            try
            {
                m_trajet = await Trajet.GettrajetDetailsToShowOnScreen(new FileAccessManager(), m_itrajetLocalID);

                //To never get empty listview
                while (m_trajet.m_lsarret.Count < 22)
                {
                    m_trajet.m_lsarret.Add(new Arret());
                }

                m_trajet.m_lsarret.Reverse();
            }
            catch (Exception)
            {
                DynamicUIBuild_Utils.ShowSnackBar_WithOKButtonToClose(this, m_layoutRoot, Resource.String.snackbar_errorHappened);

                if (m_trajet == null || m_trajet.m_lsarret == null)
                {
                    m_refresher.Refreshing = false;
                    return;
                }
            }

            try
            {
                string stextviewLocationStartText = m_trajet.m_sLocationStart;
                string stextviewTimeStartText     = m_trajet.m_sTimeStart;
                string stextviewLocationEndText   = m_trajet.m_sLocationEnd;
                string stextviewTimeEndText       = m_trajet.m_sTimeEnd;

                //update ui (add empty items if mode conduite to avoid showing white screen when there is not enouth Arret)
                List <Arret> tmp = new List <Arret>();
                if (m_bIsModeConduite)
                {
                    for (int i = 0; i < 20; i++)
                    {
                        tmp.Add(new Arret());
                    }
                }
                tmp.AddRange(m_trajet.m_lsarret);
                m_adapter.RefreshListArret(tmp);
                UpdateGpsLayout();
                UpdateAltimeter();

                //Start
                m_textviewLocationStart.Text = stextviewLocationStartText;
                m_textviewTimeStart.Text     = stextviewTimeStartText;

                //End
                m_textviewLocationEnd.Text = stextviewLocationEndText;
                m_textviewTimeEnd.Text     = stextviewTimeEndText;

                //Time before start
                UpdateTimeBeforeStart();

                //Canal radio.... always hiden for the moment (reunion début Mars 2018
                m_textviewRadio.Text = string.Format(Resources.GetString(Resource.String.activitytrajetDetails_textview_radio), m_trajet.m_lsarret[0]?.m_sRadioCanal);

                //Next stop and Current stop
                if (m_bIsModeConduite && m_nextArret == null)
                {
                    m_nextArret = m_adapter[m_adapter.Count - 1];
                }
                UpdateLayoutNextStop();
                UpdateLayoutCurrentStop();

                //Btn valid preparation
                if (m_bIsModeConduite)
                {
                    m_btnValidPreparation.Visibility = ViewStates.Gone;
                }
                else
                {
                    m_btnValidPreparation.Visibility = ViewStates.Visible;
                }

                //Disable listview scrolling
                if (m_bIsModeConduite)
                {
                    m_listview.Enabled = false;
                }
                else
                {
                    m_listview.Enabled = true;
                }

                //If activity has been reloading, remove all old Arret
                if (m_currentArret != null)
                {
                    m_adapter.RemoveLastItemsUntilCurrentStop(m_currentArret);
                }

                //In every case, scroll the list view to the very bottom
                m_listview.SmoothScrollToPosition(m_adapter.Count);

                //Verify if a arret has already been passed in that trajet. If yes, go to it directly
                GoToLatestStopPassedIfNeeded();
            }
            catch (Exception e)
            {
                DynamicUIBuild_Utils.ShowSnackBar_WithOKButtonToClose(this, m_layoutRoot, Resource.String.snackbar_errorHappened);
                MobileCenter_Helper.ReportError(new FileAccessManager(), e, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
            finally
            {
                m_refresher.Refreshing = false;
                m_handler_DismissHandHUDIfNeeded.PostDelayed(m_workRunnable_DismissHandHUDIfNeeded, 15000);
            }
        }
예제 #27
0
        private void M_btnConnectionValid_Click(object sender, System.EventArgs e)
        {
            try
            {
                MobileCenter_Helper.TrackEvent(new FileAccessManager(), GetType().Name, "M_btnConnectionValid_Click");

                if (!CrossConnectivity.Current.IsConnected)
                {
                    DynamicUIBuild_Utils.ShowSnackBar_WithOKButtonToClose(this, m_layoutRoot, Resource.String.snackbar_internetRequired);
                    return;
                }

                if (IsEditText_ConnectionMatriculeNumber_Error() || IsEditText_ConnectionPassword_Error())
                {
                    return;
                }

                //Appel webservice
                string sToken = "";
                try
                {
                    sToken = "mon super token";

                    if (string.IsNullOrWhiteSpace(sToken))
                    {
                        throw new System.Exception("res is null after login api");
                    }
                }
                catch (InvalidLogin)
                {
                    //Invalid email or password
                    DynamicUIBuild_Utils.ShowSnackBar_WithOKButtonToClose(this, m_layoutRoot, Resource.String.activityLogin_error_matriculeNumber_or_password_invalid);
                    m_textinputlayoutConnectionMatriculeNumber.ErrorEnabled = true;
                    m_textinputlayoutConnectionPassword.ErrorEnabled        = true;
                    m_textinputlayoutConnectionMatriculeNumber.Error        = Resources.GetString(Resource.String.activityLogin_error_matriculeNumber_or_password_invalid);
                    m_textinputlayoutConnectionPassword.Error = Resources.GetString(Resource.String.activityLogin_error_matriculeNumber_or_password_invalid);

                    return;
                }
                catch (OnlineException except)
                {
                    DynamicUIBuild_Utils.ShowSnackBar_WithOKButtonToClose(this, m_layoutRoot, Resource.String.snackbar_errorHappened);

                    MobileCenter_Helper.ReportError(new FileAccessManager(), except, GetType().Name, MethodBase.GetCurrentMethod().Name +
                                                    "\nmatricule number = " + m_edittextConnectionMatriculeNumber.Text +
                                                    "\npassword = "******"\nmatricule number = " + m_edittextConnectionMatriculeNumber.Text +
                                                    "\npassword = "******"\nmatricule number = " + m_edittextConnectionMatriculeNumber.Text +
                                                    "\npassword = " + m_edittextConnectionPassword.Text);

                    return;
                }


                //if webservice is ok
                Settings.UserToken     = sToken;
                Settings.UserMatricule = m_edittextConnectionMatriculeNumber.Text;
                Settings.UserPassword  = m_edittextConnectionPassword.Text;

                //Go to dashboard
                if (!m_bDontStartActivityAfterLoginValid)
                {
                    StartActivity(typeof(Activity_Dashboard));
                }

                Finish();
            }
            catch (Exception ex)
            {
                MobileCenter_Helper.ReportError(new FileAccessManager(), ex, GetType().Name, MethodBase.GetCurrentMethod().Name);
            }
        }