Refactor code. Add performance measure logs.
authorPiotr Czaja <p.czaja@samsung.com>
Wed, 8 Nov 2023 08:16:09 +0000 (09:16 +0100)
committerPiotr Czaja/Tizen Services & IoT (PLT) /SRPOL/Engineer/Samsung Electronics <p.czaja@samsung.com>
Tue, 21 Nov 2023 15:59:24 +0000 (16:59 +0100)
Change-Id: Ieb5f4e939515ca421f17bed74aa5b41920bb4494
Signed-off-by: Piotr Czaja <p.czaja@samsung.com>
SettingView/SettingView.cs

index 4655e8f5803f15c7f500d46d30a0bdb3c010ad96..fdbc14b5b1e408ef1cf45c8c4942d1b9b335b01d 100644 (file)
@@ -34,7 +34,6 @@ namespace SettingView
         private static SettingViewBorder appCustomBorder;
         private ContentPage mMainPage;
         private static Task rowsCreated;
-        private static Task gadgetManagerInitialized;
 
         public Program(Size2D windowSize, Position2D windowPosition, ThemeOptions themeOptions, IBorderInterface borderInterface)
             : base(windowSize, windowPosition, themeOptions, borderInterface)
@@ -43,26 +42,53 @@ namespace SettingView
 
         protected override void OnCreate()
         {
+            String timeStamp = DateTimeOffset.Now.ToUnixTimeMilliseconds().ToString();
+            Logger.Debug($"ONCREATE start: {timeStamp}");
+
             base.OnCreate();
+            timeStamp = DateTimeOffset.Now.ToUnixTimeMilliseconds().ToString();
+            Logger.Debug($"ONCREATE base: {timeStamp}");
 
             mMainPage = CreateMainPage();
+            timeStamp = DateTimeOffset.Now.ToUnixTimeMilliseconds().ToString();
+            Logger.Debug($"ONCREATE base page: {timeStamp}");
 
             mMainPage.Content = CreateContent();
-            gadgetManagerInitialized = InitGadgetManager();
             _ = CheckCustomization();
 
-            var navigator = new SettingNavigation();
-            navigator.WidthResizePolicy = ResizePolicyType.FillToParent;
-            navigator.HeightResizePolicy = ResizePolicyType.FillToParent;
+            var navigator = new SettingNavigation()
+            {
+                WidthResizePolicy = ResizePolicyType.FillToParent,
+                HeightResizePolicy = ResizePolicyType.FillToParent
+            };
+            timeStamp = DateTimeOffset.Now.ToUnixTimeMilliseconds().ToString();
+            Logger.Debug($"ONCREATE navigator: {timeStamp}");
 
             GetDefaultWindow().Remove(GetDefaultWindow().GetDefaultNavigator());
             GetDefaultWindow().SetDefaultNavigator(navigator);
             GetDefaultWindow().GetDefaultNavigator().Push(mMainPage);
+            timeStamp = DateTimeOffset.Now.ToUnixTimeMilliseconds().ToString();
+            Logger.Debug($"ONCREATE push: {timeStamp}");
 
             Tizen.System.SystemSettings.LocaleLanguageChanged += SystemSettings_LocaleLanguageChanged;
             ThemeManager.ThemeChanged += ThemeManager_ThemeChanged;
             GadgetManager.Instance.CustomizationChanged += CustomizationChanged;
 
+            SetEventHandlers();
+
+            GetDefaultWindow().AddAvailableOrientation(Window.WindowOrientation.Portrait);
+            GetDefaultWindow().AddAvailableOrientation(Window.WindowOrientation.Landscape);
+            GetDefaultWindow().AddAvailableOrientation(Window.WindowOrientation.PortraitInverse);
+            GetDefaultWindow().AddAvailableOrientation(Window.WindowOrientation.LandscapeInverse);
+
+            LogScalableInfoAsync();
+
+            timeStamp = DateTimeOffset.Now.ToUnixTimeMilliseconds().ToString();
+            Logger.Debug($"ONCREATE end: {timeStamp}");
+        }
+
+        private void SetEventHandlers()
+        {
             GadgetNavigation.OnWindowModeChanged += (ob, fullScreenMode) =>
             {
                 if (fullScreenMode)
@@ -86,31 +112,15 @@ namespace SettingView
                 }
             };
             GetDefaultWindow().OrientationChanged += OnWindowOrientationChangedEvent;
-
-            GetDefaultWindow().AddAvailableOrientation(Window.WindowOrientation.Portrait);
-            GetDefaultWindow().AddAvailableOrientation(Window.WindowOrientation.Landscape);
-            GetDefaultWindow().AddAvailableOrientation(Window.WindowOrientation.PortraitInverse);
-            GetDefaultWindow().AddAvailableOrientation(Window.WindowOrientation.LandscapeInverse);
-
-            LogScalableInfoAsync();
-
         }
 
-        private async Task InitGadgetManager()
+        private async Task CheckCustomization()
         {
             await rowsCreated;
-            await Task.Run(() =>
+            await Task.Run(async () =>
             {
                 GadgetManager.Instance.Init();
-                return true;
-            });
-        }
 
-        private async Task CheckCustomization()
-        {
-            await gadgetManagerInitialized;
-            await Task.Run(async () =>
-            {
                 var customizationMainMenus = GadgetManager.Instance.GetMainWithCurrentOrder();
 
                 var customizationMainMenusStr = customizationMainMenus.Where(i => i.IsVisible).Select(x => new string(x.Path));
@@ -290,6 +300,8 @@ namespace SettingView
                 },
             };
 
+            string timeStamp = DateTimeOffset.Now.ToUnixTimeMilliseconds().ToString();
+            Logger.Debug($"ONCREATE scrolable base: {timeStamp}");
             rowsCreated = CreateContentRows(content, customizationChanged);
 
             return content;
@@ -352,6 +364,14 @@ namespace SettingView
                             Logger.Debug($"navigating to menupath {menu.Path}, title: {menu.Title}");
                             GadgetNavigation.NavigateTo(menu.Path);
                         };
+                        if (menus.Last() == menu)
+                        {
+                            row.Relayout += (s, e) =>
+                            {
+                                string timeStamp = DateTimeOffset.Now.ToUnixTimeMilliseconds().ToString();
+                                Logger.Debug($"UICompleted end: {timeStamp}");
+                            };
+                        }
                         content.Add(row);
                         return true;
                     });