From: Yurii Zinchuk/Tizen Services & IoT (PLT) /SRPOL/Engineer/Samsung Electronics Date: Fri, 2 Jun 2023 08:21:34 +0000 (+0200) Subject: add root certificates gadget X-Git-Tag: accepted/tizen/unified/20230829.181410~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5d99881f11668abb3e09beb171fd9bffebb16a33;p=profile%2Fiot%2Fapps%2Fdotnet%2Fsettings.git add root certificates gadget --- diff --git a/SettingMainGadget/SettingMainGadget/About/AboutManageCertificatesGadget.cs b/SettingMainGadget/SettingMainGadget/About/AboutManageCertificatesGadget.cs index eb50526..07da160 100644 --- a/SettingMainGadget/SettingMainGadget/About/AboutManageCertificatesGadget.cs +++ b/SettingMainGadget/SettingMainGadget/About/AboutManageCertificatesGadget.cs @@ -41,6 +41,7 @@ namespace Setting.Menu.About var rootCertItem = TextListItem.CreatePrimaryTextItem(NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_TRUSTED_ROOT_CA_CERTIFICATES_ABB))); rootCertItem.Clicked += (o, e) => { + NavigateTo(MainMenuProvider.About_RootCertificates); }; content.Add(rootCertItem); diff --git a/SettingMainGadget/SettingMainGadget/About/AboutRootCertificatesGadget.cs b/SettingMainGadget/SettingMainGadget/About/AboutRootCertificatesGadget.cs new file mode 100644 index 0000000..2d4b8ea --- /dev/null +++ b/SettingMainGadget/SettingMainGadget/About/AboutRootCertificatesGadget.cs @@ -0,0 +1,60 @@ +using SettingCore; +using SettingCore.Views; +using SettingMainGadget; +using SettingMainGadget.About; +using SettingMainGadget.TextResources; +using System.Collections.Generic; +using Tizen.NUI; +using Tizen.NUI.BaseComponents; +using Tizen.NUI.Components; +using static Interop.CertSvc; + +namespace Setting.Menu.About +{ + public class AboutRootCertificatesGadget : MenuGadget + { + public override string ProvideTitle() => NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_TRUSTED_ROOT_CA_CERTIFICATES_ABB)); + + private ScrollableBase content; + + private List rootCert = new List(); + + protected override View OnCreate() + { + base.OnCreate(); + + content = new ScrollableBase() + { + WidthSpecification = LayoutParamPolicies.MatchParent, + HeightSpecification = LayoutParamPolicies.MatchParent, + ScrollingDirection = ScrollableBase.Direction.Vertical, + HideScrollbar = false, + Layout = new LinearLayout() + { + LinearOrientation = LinearLayout.Orientation.Vertical, + }, + }; + + rootCert = SettingCertificateManager.GetRootCertList(); + + CreateItems(); + + return content; + } + + private void CreateItems() + { + content.RemoveAllChildren(true); + + 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) => + { + }; + content.Add(item); + } + } + } +} diff --git a/SettingMainGadget/SettingMainGadget/MainMenuProvider.cs b/SettingMainGadget/SettingMainGadget/MainMenuProvider.cs index 1dc2241..bf02918 100644 --- a/SettingMainGadget/SettingMainGadget/MainMenuProvider.cs +++ b/SettingMainGadget/SettingMainGadget/MainMenuProvider.cs @@ -31,6 +31,7 @@ namespace SettingMainGadget public static string Language_BodySpeech = "Language.BodySpeech"; public static string About = "About"; public static string About_ManageCertificates = "About.ManageCertificates"; + public static string About_RootCertificates = "About.RootCertificates"; public static string About_OpenSourceLicenses = "About.OpenSourceLicenses"; public static string About_ScalableUI = "About.ScalableUI"; public static string About_DeviceInfo = "About.DeviceInfo"; @@ -107,6 +108,7 @@ namespace SettingMainGadget new SettingMenu(path: Language_STT, defaultOrder: 69), new SettingMenu(path: About, defaultOrder: 70, type: typeof(Setting.Menu.AboutGadget)), new SettingMenu(path: About_ManageCertificates, defaultOrder: 10, type: typeof(Setting.Menu.About.AboutManageCertificatesGadget)), + new SettingMenu(path: About_RootCertificates, defaultOrder: 15, type: typeof(Setting.Menu.About.AboutRootCertificatesGadget)), new SettingMenu(path: About_OpenSourceLicenses, defaultOrder: 20, type: typeof(Setting.Menu.AboutLegalInfoGadget)), new SettingMenu(path: About_ScalableUI, defaultOrder: -30, type: typeof(SettingMainGadget.About.AboutScalableGadget)), new SettingMenu(path: About_DeviceInfo, defaultOrder: 40),