Resolve correct MoreMenu items not showing based on wifi state 60/298560/1
authorAkash Kumar <akash1.kumar@samsung.com>
Sat, 9 Sep 2023 11:16:14 +0000 (16:46 +0530)
committerAkash Kumar <akash1.kumar@samsung.com>
Sat, 9 Sep 2023 11:16:14 +0000 (16:46 +0530)
This patch resolves
- 'Find Hidden network' and 'WifiDirect' was also showing along with 'Advanced' items when wifi is off.
- Jira Issue: https://code.sec.samsung.net/jira/browse/TEIGHT-5154

Change-Id: I45b237ce37fcf82335e0a2d369ecee9a8976f03c
Signed-off-by: Akash Kumar <akash1.kumar@samsung.com>
SettingWiFi/SettingWiFi/view/MainPage.cs
packaging/org.tizen.cssetting-wifi-1.1.4.rpk

index 04a6b30eec37ec9b8217d9b4841ab190751cc9ee..cf086fe5cc71847fdca0bf9788b4591d7d7e7705 100755 (executable)
@@ -5,7 +5,6 @@ using Tizen.NUI.BaseComponents;
 using Tizen.NUI.Binding;
 using Tizen.NUI.Components;
 using SettingCore;
-//using SettingWiFi.res.locale;
 using static SettingWiFi.Logger;
 using System;
 using System.Linq;
@@ -17,6 +16,8 @@ namespace SettingWiFi
         private WiFi mWifi;
         private APSource mApSource;
         private Button mScanButton, mAddNetwork;
+        private List<MoreMenuItem> mMenus;
+        private MoreMenuItem mHiddenMenuItem, mWifiDirectMenuItem;
 
         public override string ProvideIconPath() => GetResourcePath("main-menu-wifi-icon.svg");
         public override Color ProvideIconColor() => new Color(ThemeManager.PlatformThemeId == "org.tizen.default-light-theme" ? "#FF6200" : "#FF8A00");
@@ -57,38 +58,43 @@ namespace SettingWiFi
 
         public override IEnumerable<MoreMenuItem> ProvideMoreMenu()
         {
-            var menus = new List<MoreMenuItem>();
+            mMenus = new List<MoreMenuItem>();
 
             bool? active = GetWifiState();
             if (active.HasValue && active.Value)
             {
-                menus.Add(new MoreMenuItem
+                mHiddenMenuItem = new MoreMenuItem
                 {
                     Text = Resources.IDS_WIFI_BUTTON_FIND_HIDDEN_NETWORK,
-                    Action = () => {
+                    Action = () =>
+                    {
                         OnHiddenNetworkClicked();
                     },
-                });
-                menus.Add(new MoreMenuItem
+                };
+                mMenus.Add(mHiddenMenuItem);
+
+                mMenus.Add(new MoreMenuItem
                 {
                     Text = Resources.IDS_ST_BODY_ADVANCED,
                     Action = () => { },
                 });
-                menus.Add(new MoreMenuItem
+
+                mWifiDirectMenuItem = new MoreMenuItem
                 {
                     Text = Resources.IDS_WIFI_BODY_WI_FI_DIRECT_ABB,
                     Action = () => { },
-                });
+                };
+                mMenus.Add(mWifiDirectMenuItem);
             }
             else
             {
-                menus.Add(new MoreMenuItem
+                mMenus.Add(new MoreMenuItem
                 {
                     Text = Resources.IDS_ST_BODY_ADVANCED,
                     Action = () => { },
                 });
             }
-            return menus;
+            return mMenus;
         }
 
         public override IEnumerable<View> ProvideMoreActions()
@@ -390,6 +396,7 @@ namespace SettingWiFi
                 UpdateMainPageButtonState(true);
                 mApSource.UpdateGroupTitle(Resources.IDS_ST_HEADER_AVAILABLE_NETWORKS);
                 ScanAP();
+                UpdateMoreMenuItems(true);
             }
             else
             {
@@ -400,6 +407,7 @@ namespace SettingWiFi
                 mApSource.RemoveScanList();
                 mApSource.UpdateGroupTitle("");
                 UpdateMainPageButtonState(false);
+                UpdateMoreMenuItems(false);
             }
         }
 
@@ -409,6 +417,20 @@ namespace SettingWiFi
             mAddNetwork.IsEnabled = isEnabled;
         }
 
+        private void UpdateMoreMenuItems(bool isWiFiEnabled)
+        {
+            if (isWiFiEnabled)
+            {
+                mMenus.Insert(0, mHiddenMenuItem);
+                mMenus.Insert(2, mWifiDirectMenuItem);
+            }
+            else
+            {
+                mMenus.RemoveAt(2);
+                mMenus.RemoveAt(0);
+            }
+        }
+
         private void OnScanClicked(object sender, ClickedEventArgs e)
         {
             Debug("OnScanClicked");
index 6dbe76191a764831c9bd9ace37e0801968640a4b..b0cbfff9eeedaa2159e8dfed1f0ab4f2c9b36045 100644 (file)
Binary files a/packaging/org.tizen.cssetting-wifi-1.1.4.rpk and b/packaging/org.tizen.cssetting-wifi-1.1.4.rpk differ