/// <summary> /// Display a popup to pick up a mode /// </summary> private void DisplayModeSelection() { Dialog modeDialog = null; var modeBuilder = new Android.Support.V7.App.AlertDialog.Builder(this, Resource.Style.Theme_AppCompat_Light_Dialog); var inflater = (LayoutInflater)this.GetSystemService(LayoutInflaterService); var view = inflater.Inflate(Resource.Drawable.PopupModeDefinitionChoice, null); // Close button modeBuilder.SetNegativeButton(Resource.String.detailSeekios_deletePopupButtonClose, (senderAlert, args) => { modeDialog.Dismiss(); }); // Select Tracking mode ModeTracking = view.FindViewById <LinearLayout>(Resource.Id.modeDefinition_tracking); ModeTracking.Click += (s, arg) => { modeDialog.Dismiss(); SelectMode(3); }; // Select Don't Move mode ModeDontMove = view.FindViewById <LinearLayout>(Resource.Id.modeDefinition_dontMove); ModeDontMove.Click += (s, arg) => { modeDialog.Dismiss(); SelectMode(4); }; // Select Zone mode ModeZone = view.FindViewById <LinearLayout>(Resource.Id.modeDefinition_zone); ModeZone.Click += (s, arg) => { modeDialog.Dismiss(); SelectMode(5); }; // Select no mode DeleteModeLayout = view.FindViewById <LinearLayout>(Resource.Id.modeDefinition_deleteModeLayout); var mode = App.CurrentUserEnvironment.LsMode.Where(el => el.Seekios_idseekios == _seekiosSelected.Idseekios).FirstOrDefault(); if (mode == null) { DeleteModeLayout.Visibility = ViewStates.Gone; } // One mode is activated, so we have the choice to delete it else { DeleteTextView = view.FindViewById <TextView>(Resource.Id.modeDefinition_deleteText); DeleteTextView.Text = string.Format(Resources.GetString(Resource.String.modeDefinition_delete), GetModeName(mode.ModeDefinition_idmodeDefinition)); DeleteModeLayout.Click += async(s, arg) => { modeDialog.Dismiss(); App.Locator.ModeSelection.SeekiosUpdated = _seekiosSelected; if (await App.Locator.ModeSelection.DeleteMode(mode)) { _seekiosSelected.HasGetLastInstruction = false; SetDataToView(); } }; var typeValue = new TypedValue(); Theme.ResolveAttribute(Resource.Attribute.layoutBackgroundSecondly, typeValue, true); var backgroundSecondaryColor = Resources.GetColor(typeValue.ResourceId); Theme.ResolveAttribute(Resource.Attribute.colorFirst, typeValue, true); var textPrimaryColor = Resources.GetColor(typeValue.ResourceId); if (mode.ModeDefinition_idmodeDefinition == (int)ModeDefinitionEnum.ModeTracking) { ModeTracking.SetBackgroundColor(backgroundSecondaryColor); view.FindViewById <TextView>(Resource.Id.modeDefinition_trackingTitle).SetTextColor(textPrimaryColor); view.FindViewById <SvgImageView>(Resource.Id.modeDefinition_trackingImg).SetSvg(this, Resource.Drawable.ModeTracking, "62da73"); } else if (mode.ModeDefinition_idmodeDefinition == (int)ModeDefinitionEnum.ModeDontMove) { ModeDontMove.SetBackgroundColor(backgroundSecondaryColor); view.FindViewById <TextView>(Resource.Id.modeDefinition_dontMoveTitle).SetTextColor(textPrimaryColor); view.FindViewById <SvgImageView>(Resource.Id.modeDefinition_dontMoveImg).SetSvg(this, Resource.Drawable.ModeDontMove, "62da73"); } else if (mode.ModeDefinition_idmodeDefinition == (int)ModeDefinitionEnum.ModeZone) { ModeZone.SetBackgroundColor(backgroundSecondaryColor); view.FindViewById <TextView>(Resource.Id.modeDefinition_zoneTitle).SetTextColor(textPrimaryColor); view.FindViewById <SvgImageView>(Resource.Id.modeDefinition_zoneImg).SetSvg(this, Resource.Drawable.ModeZone, "62da73"); } } modeBuilder.SetView(view); modeDialog = modeBuilder.Create(); modeDialog.Show(); }
/// <summary> /// Popup des modes disponibles pour un Seekios /// </summary> private void DisplayModeSelection() { Dialog listSeekiosDialog = null; var listSeekiosBuilder = new Android.Support.V7.App.AlertDialog.Builder(this, Resource.Style.Theme_AppCompat_Light_Dialog); var inflater = (LayoutInflater)this.GetSystemService(LayoutInflaterService); var view = inflater.Inflate(Resource.Drawable.PopupModeDefinitionChoice, null); //Cancel button listSeekiosBuilder.SetNegativeButton(Resource.String.detailSeekios_deletePopupButtonCancel, (senderAlert, args) => { listSeekiosDialog.Dismiss(); }); DeleteModeLayout = view.FindViewById <LinearLayout>(Resource.Id.modeDefinition_deleteModeLayout); /// <summary>Désactivation du mode</summary> var mode = App.CurrentUserEnvironment.LsMode.Where(el => el.Seekios_idseekios == _seekiosSelected.Idseekios).FirstOrDefault(); /// <summary>Sélection du mode tracking</summary> ModeTracking = view.FindViewById <LinearLayout>(Resource.Id.modeDefinition_tracking); ModeTracking.Click += (s, arg) => { listSeekiosDialog.Dismiss(); SelectMode(3); }; /// <summary>Sélection du mode don't move</summary> ModeDontMove = view.FindViewById <LinearLayout>(Resource.Id.modeDefinition_dontMove); ModeDontMove.Click += (s, arg) => { listSeekiosDialog.Dismiss(); SelectMode(4); }; /// <summary>Sélection du mode zone</summary> ModeZone = view.FindViewById <LinearLayout>(Resource.Id.modeDefinition_zone); ModeZone.Click += (s, arg) => { listSeekiosDialog.Dismiss(); SelectMode(5); }; // aucun mode if (mode == null) { DeleteModeLayout.Visibility = ViewStates.Gone; } // un mode est activé alors on donne la possibilité de le désactiver else { DeleteTextView = view.FindViewById <TextView>(Resource.Id.modeDefinition_deleteText); DeleteTextView.Text = string.Format(Resources.GetString(Resource.String.modeDefinition_delete), GetModeName(mode.ModeDefinition_idmodeDefinition)); DeleteModeLayout.Click += (s, arg) => { RunOnUiThread(async() => { LoadingLayout.Visibility = ViewStates.Visible; App.Locator.ModeDefinition.SeekiosUpdated = _seekiosSelected; listSeekiosDialog.Dismiss(); if (await App.Locator.ModeDefinition.DeleteMode(mode)) { _seekiosSelected.HasGetLastInstruction = false; if (App.Locator.BaseMap.LsSeekiosAlertState.Contains(_seekiosSelected.Idseekios)) { App.Locator.BaseMap.LsSeekiosAlertState.Remove(_seekiosSelected.Idseekios); } UpdateUI(); } LoadingLayout.Visibility = ViewStates.Invisible; }); }; var typeValue = new TypedValue(); Theme.ResolveAttribute(Resource.Attribute.layoutBackgroundSecondly, typeValue, true); var backgroundSecondaryColor = Resources.GetColor(typeValue.ResourceId); Theme.ResolveAttribute(Resource.Attribute.colorFirst, typeValue, true); var textPrimaryColor = Resources.GetColor(typeValue.ResourceId); switch (mode.ModeDefinition_idmodeDefinition) { case 3: if (mode.ModeDefinition_idmodeDefinition == (int)ModeDefinitionEnum.ModeTracking) { ModeTracking.SetBackgroundColor(backgroundSecondaryColor); view.FindViewById <TextView>(Resource.Id.modeDefinition_trackingTitle).SetTextColor(textPrimaryColor); view.FindViewById <XamSvg.SvgImageView>(Resource.Id.modeDefinition_trackingImg).SetSvg(this, Resource.Drawable.ModeTracking, "62da73"); } break; case 4: if (mode.ModeDefinition_idmodeDefinition == (int)ModeDefinitionEnum.ModeDontMove) { ModeDontMove.SetBackgroundColor(backgroundSecondaryColor); view.FindViewById <TextView>(Resource.Id.modeDefinition_dontMoveTitle).SetTextColor(textPrimaryColor); view.FindViewById <XamSvg.SvgImageView>(Resource.Id.modeDefinition_dontMoveImg).SetSvg(this, Resource.Drawable.ModeDontMove, "62da73"); } break; case 5: if (mode.ModeDefinition_idmodeDefinition == (int)ModeDefinitionEnum.ModeZone) { ModeZone.SetBackgroundColor(backgroundSecondaryColor); view.FindViewById <TextView>(Resource.Id.modeDefinition_zoneTitle).SetTextColor(textPrimaryColor); view.FindViewById <XamSvg.SvgImageView>(Resource.Id.modeDefinition_zoneImg).SetSvg(this, Resource.Drawable.ModeZone, "62da73"); } break; //case 6: // ModeInTime.SetBackgroundColor(backgroundSecondaryColor); // view.FindViewById<TextView>(Resource.Id.modeDefinition_inTimeTitle).SetTextColor(textPrimaryColor); // view.FindViewById<XamSvg.SvgImageView>(Resource.Id.modeDefinition_inTimeImg).SetSvg(this, Resource.Drawable.ModeInTime, "62da73"); // break; //case 7: // ModeFollowMe.SetBackgroundColor(backgroundSecondaryColor); // view.FindViewById<TextView>(Resource.Id.modeDefinition_followMeTitle).SetTextColor(textPrimaryColor); // view.FindViewById<XamSvg.SvgImageView>(Resource.Id.modeDefinition_followMeImg).SetSvg(this, Resource.Drawable.ModeFollowMe, "62da73"); // break; //case 8: break; //case 9: // ModeDailyTrack.SetBackgroundColor(backgroundSecondaryColor); // view.FindViewById<TextView>(Resource.Id.modeDefinition_dailyTrackTitle).SetTextColor(textPrimaryColor); // view.FindViewById<XamSvg.SvgImageView>(Resource.Id.modeDefinition_dailyTrackImg).SetSvg(this, Resource.Drawable.ModeDailyTrack, "62da73"); // break; //case 11: // ModeRoad.SetBackgroundColor(backgroundSecondaryColor); // view.FindViewById<TextView>(Resource.Id.modeDefinition_roadTitle).SetTextColor(textPrimaryColor); // view.FindViewById<XamSvg.SvgImageView>(Resource.Id.modeDefinition_roadImg).SetSvg(this, Resource.Drawable.ModeRoad, "62da73"); // break; default: break; } } listSeekiosBuilder.SetView(view); listSeekiosDialog = listSeekiosBuilder.Create(); listSeekiosDialog.Show(); }