From: Yurii Zinchuk/Tizen Services & IoT (PLT) /SRPOL/Engineer/Samsung Electronics Date: Thu, 16 Nov 2023 13:05:08 +0000 (+0100) Subject: loading certificates in a separate task X-Git-Tag: accepted/tizen/unified/20231207.171711~19 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d2b8c467a4f77c2eb1f76522a20a3e74348334fa;p=profile%2Fiot%2Fapps%2Fdotnet%2Fsettings.git loading certificates in a separate task --- diff --git a/SettingMainGadget/SettingMainGadget/About/AboutRootCertificatesGadget.cs b/SettingMainGadget/SettingMainGadget/About/AboutRootCertificatesGadget.cs index 92c0764..8215ad6 100644 --- a/SettingMainGadget/SettingMainGadget/About/AboutRootCertificatesGadget.cs +++ b/SettingMainGadget/SettingMainGadget/About/AboutRootCertificatesGadget.cs @@ -4,6 +4,8 @@ using SettingMainGadget; using SettingMainGadget.About; using SettingMainGadget.TextResources; using System.Collections.Generic; +using System.Threading.Tasks; +using Tizen.Applications; using Tizen.NUI; using Tizen.NUI.BaseComponents; using Tizen.NUI.Components; @@ -35,28 +37,39 @@ namespace Setting.Menu.About }, }; - rootCert = SettingCertificateManager.GetRootCertList(); - - CreateItems(); + CreateView(); return content; } - private void CreateItems() + private async void CreateView() { content.RemoveAllChildren(true); + rootCert = SettingCertificateManager.GetRootCertList(); foreach (var certificate in rootCert) { - var status = certificate.status == CertStatus.DISABLED ? NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_OFF)) : NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_ON)); - var item = TextListItem.CreatePrimaryTextItemWithSecondaryText(certificate.title, status); - item.Clicked += (s, e) => - { - SettingCertificateManager.CertificateMetadata = certificate; - NavigateTo(MainMenuProvider.About_CertificateDetails); - }; - content.Add(item); + await CreateItem(certificate); } } + + private Task CreateItem(certificateMetadata certificate) + { + return Task.Run(async () => + { + await CoreApplication.Post(() => + { + var status = certificate.status == CertStatus.DISABLED ? NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_OFF)) : NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_ON)); + var item = TextListItem.CreatePrimaryTextItemWithSecondaryText(certificate.title, status); + item.Clicked += (s, e) => + { + SettingCertificateManager.CertificateMetadata = certificate; + NavigateTo(MainMenuProvider.About_CertificateDetails); + }; + content.Add(item); + return true; + }); + }); + } } }