public static void BuildChangelogDialog(IChangeLogProvider changeLogProvider) { var dialogBuilder = DialogPlus.NewDialog(MainActivity.CurrentContext); dialogBuilder.SetGravity((int)(GravityFlags.Top)); dialogBuilder.SetMargin(DimensionsHelper.DpToPx(40), DimensionsHelper.DpToPx(75), DimensionsHelper.DpToPx(2), 0); dialogBuilder.SetContentHolder(new ViewHolder(Resource.Layout.ChangelogDialog)); dialogBuilder.SetContentBackgroundResource(Resource.Color.Transparent); dialogBuilder.SetOnDismissListener( new DialogDismissedListener(() => ViewModelLocator.NavMgr.ResetOneTimeOverride())); ViewModelLocator.NavMgr.RegisterOneTimeMainOverride(new RelayCommand(CleanupChangelogDialog)); _changelogDialog = dialogBuilder.Create(); var dialogView = _changelogDialog.HolderView; dialogView.FindViewById <TextView>(Resource.Id.ChangelogDialogHeader).Text = changeLogProvider.DateWithVersion; dialogView.FindViewById(Resource.Id.ChangelogDialogCloseButton).SetOnClickListener(new OnClickListener(view => _changelogDialog.Dismiss())); dialogView.FindViewById <LinearLayout>(Resource.Id.ChangelogDialogChangesList).SetAdapter(changeLogProvider.Changelog.GetAdapter( (i, s, arg3) => { var view = new TextView(MainActivity.CurrentContext); view.SetTextColor(new Color(ResourceExtension.BrushText)); view.Text = $"• {s}"; return(view); })); _changelogDialog.Show(); }
public Deployment(IConfiguration configuration, IOctopusHelper helper, IWindowProvider windowProvider, IChangeLogProvider provider, ILoadingWindow loadingWindow) { this._configuration = configuration; this._helper = helper; this._windowProvider = windowProvider; this._changeLogProvider = provider; this._loadingWindow = loadingWindow; this.Projects = new ObservableCollection <Project>(); this.Environments = new ObservableCollection <Environment>(); this.Channels = new ObservableCollection <Channel>(); this.InitializeComponent(); this.Closing += OnClosing; this.ContentRendered += OnContentRendered; }