Fix network connection issue on a AP click. 44/284544/1
authorAkash <akash1.kumar@samsung.com>
Fri, 18 Nov 2022 10:34:11 +0000 (16:04 +0530)
committerAkash <akash1.kumar@samsung.com>
Fri, 18 Nov 2022 11:29:41 +0000 (16:59 +0530)
This patch fixes following issues:
- Do not pop the password input page when an AP type is open.
- Check if connect is done when after the password from keyboard input.

Change-Id: Ia04c445c36e1364a49f4b8f7ab61ea292dfdd3c0
Signed-off-by: Akash <akash1.kumar@samsung.com>
SettingWiFi/SettingWiFi/model/AP.cs
SettingWiFi/SettingWiFi/view/ConnectPage.cs
SettingWiFi/SettingWiFi/view/MainPage.cs

index fdf42ffeba16242e178a58f4632485ffd5309385..94fc6b8004e1f4bbd68a9d8a615579f7929bc747 100755 (executable)
@@ -183,6 +183,15 @@ namespace SettingWiFi
             return "";\r
         }\r
 \r
+        public bool IsAPOpen()\r
+        {\r
+            if (secType == WiFiSecurityType.None)\r
+            {\r
+                return true;\r
+            }\r
+            return false;\r
+        }\r
+\r
         public string ImageUrl\r
         {\r
             get\r
index d6086fe4cfe79dd78244af27d9780413c36e5cae..98db6c8815b797a45f937b2f730daa476c82aa8b 100644 (file)
@@ -12,6 +12,7 @@ namespace SettingWiFi
     {
         private AP mAp;
         private WiFi mWifi;
+        private TextField passwordField;
 
         internal ConnectPage(WiFi wifi)
         {
@@ -84,7 +85,8 @@ namespace SettingWiFi
                 HeightSpecification = LayoutParamPolicies.WrapContent,
             };
 
-            connectView.Add(CreatePasswordField());
+            passwordField = CreatePasswordField();
+            connectView.Add(passwordField);
             connectView.Add(CreateWpsItem());
 
             var cancelButton = new Button()
@@ -129,7 +131,7 @@ namespace SettingWiFi
         {
             Debug("Connect");
             //mAp.StateInfo = Resources.IDS_WIFI_BODY_CONNECTING_ING;
-            await mWifi.Connect(mAp, "datanetwork");
+            await mWifi.Connect(mAp, passwordField.Text);
 
             if(mWifi.GetConnectedAP().Equals(mAp.Essid))
             {
@@ -137,4 +139,4 @@ namespace SettingWiFi
             }
         }
     }
-}
\ No newline at end of file
+}
index 8e29245bf5b33790eadadf88378fd8bdca683539..72717ff16bbf3e1efc526c243f9aa81fa9c53220 100644 (file)
@@ -318,6 +318,17 @@ namespace SettingWiFi
             return page;
         }
 
+        private async void ConnectOpenAP(AP ap)
+        {
+            Debug("Connect open AP");
+            await mWifi.Connect(ap, "");
+
+            if (mWifi.GetConnectedAP().Equals(ap.Essid))
+            {
+                ap.StateInfo = Resources.IDS_WIFI_SBODY_CONNECTED_M_STATUS;
+            }
+        }
+
         /* Call WiFi */
         private async void OnWiFiSelected(object sender, SelectedChangedEventArgs e)
         {
@@ -379,8 +390,15 @@ namespace SettingWiFi
             DefaultLinearItem deviceItem = (DefaultLinearItem)sender;
             var device = deviceItem.BindingContext as AP;
             Info("OnAPClicked: " + device.Essid);
-            mConnectPage = CreateConnectPage(device);
-            Navigator.Push(mConnectPage);
+            if (device.IsAPOpen())
+            {
+                ConnectOpenAP(device);
+            }
+            else
+            {
+                mConnectPage = CreateConnectPage(device);
+                Navigator.Push(mConnectPage);
+            }
         }
 
         public async void OnScanListSelected(object sender, SelectionChangedEventArgs ev)