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;
            }
        }
예제 #2
0
        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);
        }