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)); }
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); } }
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)); }
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); } }
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)); }
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); } }
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(); }
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); }
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); }
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); } }
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); } }
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); } }
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); } }
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)); }
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); } }
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)); }
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)); }
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); } }
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); } }
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); } }
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); }
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); } }
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); } }
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); }
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); } }
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); } }
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); } }