public UpdatePage(VersionAPIResponse.TranslationUpdateDetails updateDetails) { _updateDetails = updateDetails; InitializeComponent(); this.DownloadUpdateButtonDouble.Clicked += async(o, args) => await DownloadUpdateButtonOnClicked(o, args); this.DownloadUpdateButtonSingle.Clicked += async(o, args) => await DownloadUpdateButtonOnClicked(o, args); this.UpdateTopTitle.Text = updateDetails.Required ? String.Format(AppResources.UpdateRequiredTitle, ScriptUtil.GetVersionName(), updateDetails.ReadableVer) : String.Format(AppResources.UpdateOptionalTitle, ScriptUtil.GetVersionName(), updateDetails.ReadableVer); this.UpdateTopText.Text = updateDetails.Required ? AppResources.UpdateRequiredDescription : AppResources.UpdateOptionalDescription; StringBuilder sb = new StringBuilder(); foreach (var change in updateDetails.UpdateChanges) { sb.AppendLine($"\u2022 {change}"); } this.UpdateChangelogTitle.Text = updateDetails.UpdateTitle; this.UpdateChangelog.Text = sb.ToString(); if (updateDetails.Required) { UpdateChangelogDoubleWidth.IsVisible = false; NavigationPage.SetHasNavigationBar(this, false); } else { SkipUpdateButton.Clicked += SkipUpdateButtonOnClicked; this.DownloadUpdateButtonSingle.IsVisible = false; } }
public async Task <Page> GotoUpdatePage(VersionAPIResponse.TranslationUpdateDetails details) { var page = new UpdatePage(details); await Navigation.PushAsync(page); if (details.Required) { Unsubscribe(); Navigation.RemovePage(this); } return(page); }