Resolve issue of AddNetwork page items detail update. 75/291575/4
authorAkash Kumar <akash1.kumar@samsung.com>
Tue, 18 Apr 2023 11:24:20 +0000 (16:54 +0530)
committerAkash Kumar <akash1.kumar@samsung.com>
Fri, 21 Apr 2023 09:59:18 +0000 (15:29 +0530)
This patches resolves following issues:
- Items on Add network page gets updated based on RadioButton selected.
- Secure APs can be connected with entering password.

Change-Id: Iee18d2965f4f017a404fbf924ac8781c55925e72
Signed-off-by: Akash Kumar <akash1.kumar@samsung.com>
SettingWiFi/SettingWiFi/view/AddNetwork.cs
SettingWiFi/SettingWiFi/view/AddNetworkInfoInputPage.cs
SettingWiFi/SettingWiFi/view/AddNetworkInfoSource.cs
SettingWiFi/SettingWiFi/view/Resources.cs
packaging/org.tizen.cssetting-wifi-1.1.3.rpk

index 15844ca5102cc1daf063bc6f2e0ca3ce8ee1b424..03a2c0cf1f95fc882e659d956e30c8d88a5cb8f1 100644 (file)
@@ -22,7 +22,6 @@ namespace SettingWiFi
         private WiFi mWifi;
         private APSource mApSource;
         private AP mAp;
-        private string mPassword;
         private AddNetworkItem mNetworkItem;
         CheckBox mShowAdvancedButton;
 
@@ -34,11 +33,10 @@ namespace SettingWiFi
         CollectionView mAdvancedViewCollection;
         CollectionView mNetworkDetailsCollection;
 
-        Window mWindow = NUIApplication.GetDefaultWindow();
         internal AddNetwork(WiFi wifi)
         {
             mWifi = wifi;
-            mNetworkItem = new AddNetworkItem("None", "DHCP", "None");
+            mNetworkItem = new AddNetworkItem(Resources.IDS_ST_BODY_NONE, "DHCP", Resources.IDS_ST_BODY_NONE);
         }
 
         internal void CreateComponents(APSource apSource)
@@ -211,7 +209,7 @@ namespace SettingWiFi
                 {
                     OnIPSettingsClicked(sender, e);
                 }
-                else if (info.InfoTitle == Resources.IDS_ST_SBODY_PROXY_ADDRESS)
+                else if (info.InfoTitle == Resources.IDS_WIFI_BODY_PROXY)
                 {
                     OnProxyClicked(sender, e);
                 }
@@ -251,11 +249,11 @@ namespace SettingWiFi
 
             string[] options = new string[]
             {
-                "DHCP",
                 "Static",
+                "DHCP",
             };
 
-            var page = new AddNetworkInfoInputPage(mNetworkItem, mNetworkDetailsInfoSource);
+            var page = new AddNetworkInfoInputPage(mNetworkItem, mAddNetworkInfoSource);
             page.CreateRadioComponents(Resources.IDS_WIFI_BODY_IP_SETTINGS, options);
             NUIApplication.GetDefaultWindow().GetDefaultNavigator().Push(page);
         }
@@ -278,8 +276,8 @@ namespace SettingWiFi
                 "Manual",
             };
 
-            var page = new AddNetworkInfoInputPage(mNetworkItem, mNetworkDetailsInfoSource);
-            page.CreateRadioComponents(Resources.IDS_ST_SBODY_PROXY_ADDRESS, options);
+            var page = new AddNetworkInfoInputPage(mNetworkItem, mAddNetworkInfoSource);
+            page.CreateRadioComponents(Resources.IDS_WIFI_BODY_PROXY, options);
             NUIApplication.GetDefaultWindow().GetDefaultNavigator().Push(page);
         }
 
@@ -357,4 +355,3 @@ namespace SettingWiFi
         }
     }
 }
-
index 25c34ce0b5e1e6255f7646396b66b7a624ce3df1..564db59a0f5f3b855912ece359b5b5f64d591bef 100644 (file)
@@ -14,13 +14,11 @@ namespace SettingWiFi
         private TextField mValueField;
         private RadioButton[] mRadioButtons;
         private RadioButtonGroup mGroup;
-        private ButtonStyle mRadioButtonStyle;
-
         private string mTitle;
         private int mCount;
         private string mImagesPath;
         private string[] mOptionNames;
-
+        private int mSelectedIndex;
 
         internal AddNetworkInfoInputPage(AddNetworkItem item, AddNetworkInfoSource infoSource)
         {
@@ -44,11 +42,19 @@ namespace SettingWiFi
                 HeightSpecification = LayoutParamPolicies.WrapContent,
             };
 
-            mValueField = new TextField()
+            if(mTitle == Resources.IDS_WIFI_HEADER_PASSWORD)
             {
-                WidthSpecification = 600,
-                PlaceholderText = value,
-            };
+                mValueField = CreatePasswordField();
+            }
+            else
+            {
+                mValueField = new TextField()
+                {
+                    WidthSpecification = 600,
+                    PlaceholderText = value,
+                };
+            }
+
             infoView.Add(mValueField);
 
             var cancelButton = new Button()
@@ -58,7 +64,7 @@ namespace SettingWiFi
             cancelButton.Clicked += OnCancelClicked;
             var okButton = new Button()
             {
-                Text = "OK",
+                Text = Resources.IDS_WIFI_SK2_OK,
             };
             okButton.Clicked += OnOkClicked;
 
@@ -70,6 +76,25 @@ namespace SettingWiFi
             };
         }
 
+        internal TextField CreatePasswordField()
+        {
+            Debug("");
+            var passwordField = new TextField()
+            {
+                WidthSpecification = 600,
+                BackgroundColor = Color.Silver,
+                PlaceholderText = Resources.IDS_WIFI_HEADER_PASSWORD,
+            };
+
+            var hiddenInput = new Tizen.NUI.Text.HiddenInput();
+            hiddenInput.Mode = HiddenInputModeType.ShowLastCharacter;
+            hiddenInput.SubstituteCharacter = '*';
+            hiddenInput.SubstituteCount = 0;
+            hiddenInput.ShowLastCharacterDuration = 1000;
+            passwordField.SetHiddenInput(hiddenInput);
+
+            return passwordField;
+        }
         internal void CreateRadioComponents(string title, string[] options)
         {
             Debug("CreateRadioComponents" + title);
@@ -77,8 +102,8 @@ namespace SettingWiFi
             mOptionNames = options;
             mCount = options.Length;
             mRadioButtons = new RadioButton[mCount];
+            getSelectedIndex();
 
-            CreateRadioButtonStyle();
             var optionView = new View()
             {
                 Layout = new LinearLayout()
@@ -96,7 +121,7 @@ namespace SettingWiFi
             okButton.Clicked += OnRadioOkClicked;
 
             CreateRadioOptions(optionView);
-            mRadioButtons[0].IsSelected = true;
+            mRadioButtons[mSelectedIndex].IsSelected = true;
             Content = new AlertDialog()
             {
                 Title = mTitle,
@@ -104,10 +129,59 @@ namespace SettingWiFi
                 Actions = new View[] { okButton },
             };
         }
+
+        private void getSelectedIndex()
+        {
+            Debug("");
+            mSelectedIndex = 0;
+            if (mTitle == Resources.IDS_ST_BUTTON_SECURITY_ABB)
+            {
+                switch (mAddItem.SecurityType)
+                {
+                    case "None":
+                        mSelectedIndex = 0;
+                        break;
+                    case "WEP":
+                        mSelectedIndex = 1;
+                        break;
+                    case "WPA PSK":
+                        mSelectedIndex = 2;
+                        break;
+                    case "WPA2 PSK":
+                        mSelectedIndex = 3;
+                        break;
+                }
+            }
+            else if (mTitle == Resources.IDS_WIFI_BODY_IP_SETTINGS)
+            {
+                switch (mAddItem.IPSettings)
+                {
+                    case "Static":
+                        mSelectedIndex = 0;
+                        break;
+                    case "DHCP":
+                        mSelectedIndex = 1;
+                        break;
+                }
+            }
+            else if (mTitle == Resources.IDS_WIFI_BODY_PROXY)
+            {
+                switch (mAddItem.ProxyType)
+                {
+                    case "None":
+                        mSelectedIndex = 0;
+                        break;
+                    case "Manual":
+                        mSelectedIndex = 1;
+                        break;
+                }
+            }
+        }
         private void CreateRadioOptions(View optionView)
         {
             for (int i = 0; i < mCount; i++)
             {
+                int index = i;
                 var childView = new View()
                 {
                     Layout = new GridLayout()
@@ -119,15 +193,16 @@ namespace SettingWiFi
                     },
                 };
                 mRadioButtons[i] = new RadioButton();
+                var buttonStyle = mRadioButtons[i].Style;
+                CreateRadioButtonStyle(buttonStyle);
                 mRadioButtons[i].SelectedChanged += (object sender, SelectedChangedEventArgs args) =>
                 {
-                    OnSelectionChanged(sender, args, i);
+                    OnSelectionChanged(sender, args, index);
                 };
-                mRadioButtons[i].ApplyStyle(mRadioButtonStyle);
+                mRadioButtons[i].ApplyStyle(buttonStyle);
                 mRadioButtons[i].Size = new Size(48, 48);
                 mRadioButtons[i].Icon.Size = new Size(48, 48);
                 mGroup.Add(mRadioButtons[i]);
-
                 var nameLabel = new TextLabel(mOptionNames[i]);
                 nameLabel.WidthSpecification = 150;
                 childView.Add(nameLabel);
@@ -135,19 +210,19 @@ namespace SettingWiFi
                 optionView.Add(childView);
             }
         }
-        void CreateRadioButtonStyle()
+        void CreateRadioButtonStyle(ButtonStyle buttonStyle)
         {
-            mRadioButtonStyle = new ButtonStyle();
-            mRadioButtonStyle.Icon.Opacity = new Selector<float?>
+            Debug("");
+            buttonStyle.Icon.Opacity = new Selector<float?>
             {
                 Normal = 1.0f,
                 Selected = 1.0f,
                 Disabled = 0.4f,
                 DisabledSelected = 0.4f
             };
-            mRadioButtonStyle.Icon.BackgroundImage = "";
+            buttonStyle.Icon.BackgroundImage = "";
 
-            mRadioButtonStyle.Icon.ResourceUrl = new Selector<string>
+            buttonStyle.Icon.ResourceUrl = new Selector<string>
             {
                 Normal = mImagesPath + "controller_btn_radio_off.png",
                 Selected = mImagesPath + "controller_btn_radio_on.png",
@@ -158,21 +233,26 @@ namespace SettingWiFi
 
         void OnSelectionChanged(object sender, SelectedChangedEventArgs e, int i)
         {
-            Debug($"Left {i}th Utility RadioButton's IsSelected is changed to {e.IsSelected}.");
-            // To Do
+            Debug($"{i}th RadioButton's IsSelected is changed to {e.IsSelected}.");
+            if (e.IsSelected)
+            {
+                mSelectedIndex = i;
+                Debug("Selected index: " + mSelectedIndex);
+            }
         }
 
         private void OnRadioOkClicked(object source, ClickedEventArgs args)
         {
             Debug("OnRadioOkClicked");
+            mInfoSource.Clear();
+            UpdateInfo(mTitle, mOptionNames[mSelectedIndex]);
             NUIApplication.GetDefaultWindow().GetDefaultNavigator().Pop();
         }
         private void OnOkClicked(object sender, ClickedEventArgs e)
         {
             Debug("OnOkClicked " + mValueField.Text + " : " + mTitle);
-            UpdateInfo(mTitle, mValueField.Text);
             mInfoSource.Clear();
-            mInfoSource.ShowNetworkInfo();
+            UpdateInfo(mTitle, mValueField.Text);
             NUIApplication.GetDefaultWindow().GetDefaultNavigator().Pop();
         }
 
@@ -188,23 +268,33 @@ namespace SettingWiFi
 
             if (fieldName == Resources.IDS_WIFI_BODY_NETWORK_NAME)
             {
+                Debug("Name: Updating value to " + value + " from " + mAddItem.NetworkName);
                 mAddItem.NetworkName = value;
-                Debug("Name after: " + mAddItem.NetworkName);
+                mInfoSource.ShowNetworkInfo();
             }
             else if (fieldName == Resources.IDS_ST_BUTTON_SECURITY_ABB)
             {
+                Debug("Security: Updating value to " + value + " from " + mAddItem.SecurityType);
                 mAddItem.SecurityType = value;
+                mInfoSource.ShowNetworkInfo();
             }
             else if (fieldName == Resources.IDS_WIFI_BODY_IP_SETTINGS)
             {
+                Debug("IP: Updating value to " + value + " from " + mAddItem.IPSettings);
                 mAddItem.IPSettings = value;
+                mInfoSource.ShowAdvancedInfo();
             }
-            else if (fieldName == Resources.IDS_ST_SBODY_PROXY_ADDRESS)
+            else if (fieldName == Resources.IDS_WIFI_BODY_PROXY)
             {
+                Debug("Proxy: Updating value to " + value + " from " + mAddItem.ProxyType);
                 mAddItem.ProxyType = value;
-            }else if (fieldName == Resources.IDS_WIFI_HEADER_PASSWORD)
+                mInfoSource.ShowAdvancedInfo();
+            }
+            else if (fieldName == Resources.IDS_WIFI_HEADER_PASSWORD)
             {
+                Debug("Password: Updating value to " + value + " from " + mAddItem.Password);
                 mAddItem.Password = value;
+                mInfoSource.ShowNetworkInfo();
             }
         }
     }
index 4aa413de522fa2cfc9036ae9247c3355c38dc10e..e5246815450aae21c2d57f760f2a9d0292d309e8 100644 (file)
@@ -3,7 +3,6 @@ using System.Collections.Generic;
 using System.Collections.ObjectModel;
 using System.ComponentModel;
 using Tizen.NUI.Components;
-using SettingWiFi.res.locale;
 using static SettingWiFi.Logger;
 
 namespace SettingWiFi
@@ -23,9 +22,9 @@ namespace SettingWiFi
             Debug("ShowNetworkInfo");
             Add(new AddNetworkInfoText(Resources.IDS_WIFI_BODY_NETWORK_NAME, mNetworkItem.NetworkName, null));
             Add(new AddNetworkInfoText(Resources.IDS_ST_BUTTON_SECURITY_ABB, mNetworkItem.SecurityType, null));
-            if(mNetworkItem.SecurityType != "None")
+            if(mNetworkItem.SecurityType != Resources.IDS_ST_BODY_NONE)
             {
-                Add(new AddNetworkInfoText(Resources.IDS_WIFI_HEADER_PASSWORD, "...", null));
+                Add(new AddNetworkInfoText(Resources.IDS_WIFI_HEADER_PASSWORD, "*****", null));
             }
         }
 
@@ -33,7 +32,7 @@ namespace SettingWiFi
         {
             Debug("ShowAdvancedInfo");
             Add(new AddNetworkInfoText(Resources.IDS_WIFI_BODY_IP_SETTINGS, mNetworkItem.IPSettings, null));
-            Add(new AddNetworkInfoText(Resources.IDS_ST_SBODY_PROXY_ADDRESS, mNetworkItem.ProxyType, null));
+            Add(new AddNetworkInfoText(Resources.IDS_WIFI_BODY_PROXY, mNetworkItem.ProxyType, null));
         }
     }
 
@@ -128,4 +127,3 @@ namespace SettingWiFi
         }
     }
 }
-
index e8212373b357001723b20398ea6c09985e986666..4043fb6b7d4ca4bb734e7b141e764cb705f9e9a9 100755 (executable)
         static public string IDS_WIFI_BODY_SHOW_ADVANCED_OPTIONS = "Show advanced options";\r
         static public string IDS_WIFI_BODY_NETWORK_NAME = "Network name";\r
         static public string IDS_WIFI_BODY_IP_SETTINGS = "IP settings";\r
+        static public string IDS_WIFI_BODY_PROXY = "Proxy";\r
     }\r
 }\r
index 33554277f57dbc7d2efa9588c60d14e017a721e2..93d1801e0a69f46c036bda0cf86a53e52def78f3 100644 (file)
Binary files a/packaging/org.tizen.cssetting-wifi-1.1.3.rpk and b/packaging/org.tizen.cssetting-wifi-1.1.3.rpk differ