Add Connect Page 48/282648/1
authorchaehee-hong <chaehee.hong@samsung.com>
Fri, 7 Oct 2022 09:34:51 +0000 (18:34 +0900)
committerchaehee-hong <chaehee.hong@samsung.com>
Fri, 7 Oct 2022 09:34:51 +0000 (18:34 +0900)
Change-Id: I78aa331869568004a2a172c325d002661784d495

SettingWiFi/SettingWiFi/controller/WiFi.cs
SettingWiFi/SettingWiFi/res/locale/Resources.Designer.cs
SettingWiFi/SettingWiFi/res/locale/Resources.en.resx
SettingWiFi/SettingWiFi/res/locale/Resources.ko-KR.resx
SettingWiFi/SettingWiFi/res/locale/Resources.resx
SettingWiFi/SettingWiFi/view/ConnectPage.cs [new file with mode: 0644]
SettingWiFi/SettingWiFi/view/InfoPage.cs
SettingWiFi/SettingWiFi/view/MainPage.cs
SettingWiFi/SettingWiFi/view/MorePage.cs
packaging/org.tizen.cssetting-wifi-1.0.0.tpk

index 2b4068cbe16dbf4db7dcbbb04c8d56980587b4dc..7b4ce3ba114662252063fb6c9165ce195106bfbb 100755 (executable)
@@ -97,7 +97,7 @@ namespace SettingWiFi
             return ap.DisconnectAsync();\r
         }\r
 \r
-        public void Forget(string essid)\r
+        public async Task Forget(string essid)\r
         {\r
             Debug("WiFi.Forget");\r
             WiFiAP ap = FindAP(essid);\r
index 3bc30d79cea62c199f59bd02f805d982d14e8847..0548f91e5124852d79842a7c37acb9209596f292 100755 (executable)
@@ -77,22 +77,22 @@ namespace SettingWiFi.res.locale {
                 return ResourceManager.GetString("IDS_WIFI_BODY_CONNECTING_ING", resourceCulture);
             }
         }
-        
+
         /// <summary>
         ///   과(와) 유사한 지역화된 문자열을 찾습니다.
         /// </summary>
-        public static string IDS_WIFI_HEADER_WI_FI_NETWORK_INFO_ABB {
+        public static string IDS_WIFI_SBODY_CONNECTED_M_STATUS {
             get {
-                return ResourceManager.GetString("IDS_WIFI_HEADER_WI_FI_NETWORK_INFO_ABB", resourceCulture);
+                return ResourceManager.GetString("IDS_WIFI_SBODY_CONNECTED_M_STATUS", resourceCulture);
             }
         }
         
         /// <summary>
         ///   과(와) 유사한 지역화된 문자열을 찾습니다.
         /// </summary>
-        public static string IDS_WIFI_SBODY_CONNECTED_M_STATUS {
+        public static string IDS_WIFI_HEADER_WI_FI_NETWORK_INFO_ABB {
             get {
-                return ResourceManager.GetString("IDS_WIFI_SBODY_CONNECTED_M_STATUS", resourceCulture);
+                return ResourceManager.GetString("IDS_WIFI_HEADER_WI_FI_NETWORK_INFO_ABB", resourceCulture);
             }
         }
         
index 5fe28abc942949eaeeb1a7c4cc2499a39b83e1b3..6c27373fa21fd7cce8d6c9e0021755f806ea7222 100755 (executable)
   <data name="IDS_WIFI_BODY_CONNECTING_ING" xml:space="preserve">\r
     <value>Connecting...</value>\r
   </data>\r
+  <data name="IDS_WIFI_SBODY_CONNECTED_M_STATUS" xml:space="preserve">\r
+    <value>Connected</value>\r
+  </data>\r
   <data name="IDS_WIFI_HEADER_WI_FI_NETWORK_INFO_ABB" xml:space="preserve">\r
     <value>Wi-Fi network info</value>\r
   </data>\r
index 5e4636c93ff458e6544443e6265217553cc0a3d5..9fd4240b7a983ebc3102fc03634707c4fdd69490 100755 (executable)
   <data name="IDS_WIFI_BODY_CONNECTING_ING" xml:space="preserve">\r
     <value>연결 중...</value>\r
   </data>\r
-  <data name="IDS_WIFI_HEADER_WI_FI_NETWORK_INFO_ABB" xml:space="preserve">\r
-    <value>Wi-Fi 네트워크 정보</value>\r
-  </data>\r
   <data name="IDS_WIFI_SBODY_CONNECTED_M_STATUS" xml:space="preserve">\r
     <value>연결됨</value>\r
   </data>\r
+  <data name="IDS_WIFI_HEADER_WI_FI_NETWORK_INFO_ABB" xml:space="preserve">\r
+    <value>Wi-Fi 네트워크 정보</value>\r
+  </data>\r
   <data name="IDS_WIFI_SK_FORGET" xml:space="preserve">\r
     <value>지우기</value>\r
   </data>\r
index 14adf932544e62b24896c93a18ad81dda501d520..533fe7596e935f297fce2074230167abb55b3e8f 100755 (executable)
   <data name="IDS_WIFI_BODY_CONNECTING_ING" xml:space="preserve">\r
     <value />\r
   </data>\r
-  <data name="IDS_WIFI_HEADER_WI_FI_NETWORK_INFO_ABB" xml:space="preserve">\r
+  <data name="IDS_WIFI_SBODY_CONNECTED_M_STATUS" xml:space="preserve">\r
     <value />\r
   </data>\r
-  <data name="IDS_WIFI_SBODY_CONNECTED_M_STATUS" xml:space="preserve">\r
+  <data name="IDS_WIFI_HEADER_WI_FI_NETWORK_INFO_ABB" xml:space="preserve">\r
     <value />\r
   </data>\r
   <data name="IDS_WIFI_SK_FORGET" xml:space="preserve">\r
diff --git a/SettingWiFi/SettingWiFi/view/ConnectPage.cs b/SettingWiFi/SettingWiFi/view/ConnectPage.cs
new file mode 100644 (file)
index 0000000..c71b2d0
--- /dev/null
@@ -0,0 +1,97 @@
+using Tizen.NUI;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Components;
+using SettingWiFi.res.locale;
+
+
+namespace SettingWiFi
+{
+    internal class ConnectPage : DialogPage
+    {
+        private AP mAp;
+        private WiFi mWifi;
+
+        internal ConnectPage(WiFi wifi)
+        {
+            mWifi = wifi;
+        }
+
+        internal void CreateComponents(AP ap)
+        {
+            mAp = ap;
+
+            var connectView = new View()
+            {
+                Layout = new LinearLayout()
+                {
+                    LinearOrientation = LinearLayout.Orientation.Vertical,
+                },
+                WidthSpecification = 200,
+                HeightSpecification = 100,
+            };
+
+            var passwordField = new TextField()
+            {
+                WidthSpecification = 400,
+            };
+
+            var hiddenInput = new Tizen.NUI.Text.HiddenInput();
+            hiddenInput.Mode = HiddenInputModeType.ShowLastCharacter;
+            hiddenInput.SubstituteCharacter = '*';
+            hiddenInput.SubstituteCount = 0;
+            hiddenInput.ShowLastCharacterDuration = 1000;
+            passwordField.SetHiddenInput(hiddenInput);
+
+            connectView.Add(passwordField);
+
+            var item1 = new DefaultLinearItem();
+
+            connectView.Add(item1);
+
+            var cancelButton = new Button()
+            {
+                Text = "Cancel",
+                WidthSpecification = 300,
+                HeightSpecification = 80,
+            };
+            cancelButton.Clicked += OnCancelClicked;
+
+            var connectButton = new Button()
+            {
+                Text = "Connect",
+                WidthSpecification = 300,
+                HeightSpecification = 80,
+            };
+            connectButton.Clicked += OnConnectClicked;
+
+            Content = new AlertDialog()
+            {
+                Title = mAp.Essid,
+                Content = connectView,
+                Actions = new View[] { cancelButton, connectButton },
+            };
+        }
+
+        private void OnCancelClicked(object source, ClickedEventArgs args)
+        {
+            Navigator.Pop();
+        }
+
+        private void OnConnectClicked(object source, ClickedEventArgs args)
+        {
+            Connect();
+            Navigator.Pop();
+        }
+
+        private async void Connect()
+        {
+            mAp.State = Resources.IDS_WIFI_BODY_CONNECTING_ING;
+            await mWifi.Connect(mAp.Essid, "datanetwork");
+
+            if(mWifi.GetConnectedAP().Equals(mAp.Essid))
+            {
+                mAp.State = Resources.IDS_WIFI_SBODY_CONNECTED_M_STATUS;
+            }
+        }
+    }
+}
\ No newline at end of file
index 94210afdea09d0c2cc6c0a9661754b0e86f1c557..4695fbbe6b91b88e36d7aae3149ef4ca5db49bbc 100644 (file)
@@ -1,14 +1,17 @@
+using System.Collections.Generic;
 using Tizen;
 using Tizen.NUI;
 using Tizen.NUI.BaseComponents;
 using Tizen.NUI.Components;
 using static SettingWiFi.Logger;
 
+
 namespace SettingWiFi
 {
     internal class InfoPage : ContentPage
     {
         private AP mAp;
+        private APSource mApSource;
         private WiFi mWifi;
 
         internal InfoPage(WiFi wifi)
@@ -16,9 +19,10 @@ namespace SettingWiFi
             mWifi = wifi;
         }
 
-        internal void CreateComponents(AP ap)
+        internal void CreateComponents(AP ap, APSource ApSource)
         {
             mAp = ap;
+            mApSource = ApSource;
 
             var appBar = new AppBar()
             {
@@ -29,6 +33,8 @@ namespace SettingWiFi
             Button backButton = new Button(((AppBarStyle)appBarStyle).BackButton);
 
             backButton.Clicked += OnBackButtonClicked;
+            appBar.NavigationContent = backButton;
+
             View infoView = new View()
             {
                 Layout = new LinearLayout()
@@ -63,7 +69,23 @@ namespace SettingWiFi
         private void OnForgetButtonClicked(object source, ClickedEventArgs args)
         {
             Debug("Forget " + mAp.Essid);
-            mWifi.Forget(mAp.Essid);
+            Forget();
+        }
+
+        private async void Forget()
+        {
+            await mWifi.Forget(mAp.Essid);
+            if (mWifi.IsActive())
+            {
+                ScanAP();
+            }
+        }
+
+        private async void ScanAP()
+        {
+            await mWifi.Scan();
+            List<AP> apList = mWifi.GetScanResult();
+            mApSource.UpdateScanList(apList);
         }
     }
 }
\ No newline at end of file
index 84712311734653434a631dbb06ea35bda45b46ac..ecc9f42ecda92ecc511034a64ae3da02542266c2 100644 (file)
@@ -4,6 +4,7 @@ using Tizen.NUI;
 using Tizen.NUI.BaseComponents;
 using Tizen.NUI.Binding;
 using Tizen.NUI.Components;
+using SettingWiFi.res.locale;
 using static SettingWiFi.Logger;
 
 
@@ -15,6 +16,7 @@ namespace SettingWiFi
 
         ContentPage mInfoPage;
         ContentPage mMorePage;
+        DialogPage mConnectPage;
 
         WiFi mWifi;
         APSource mApSource;
@@ -41,6 +43,7 @@ namespace SettingWiFi
             menuItems[0].SelectedChanged += (object sender, SelectedChangedEventArgs args) =>
             {
                 var menuItem = sender as MenuItem;
+                mMorePage = CreateMorePage();
                 Navigator.Push(mMorePage);
             };
 
@@ -127,7 +130,7 @@ namespace SettingWiFi
         {
             return new DataTemplate(() =>
                 {
-                    DefaultLinearItem item = new DefaultLinearItem() //itemÀÌ °¢ AP
+                    DefaultLinearItem item = new DefaultLinearItem()
                     {
                         WidthSpecification = LayoutParamPolicies.MatchParent,
                     };
@@ -169,7 +172,6 @@ namespace SettingWiFi
             if (IsWiFiActive())
             {
                 isWiFiOn = true;
-                Debug("ScanAP");
                 ScanAP();
             }
 
@@ -196,7 +198,7 @@ namespace SettingWiFi
         private ContentPage CreateInfoPage(AP ap)
         {
             var page = new InfoPage(mWifi);
-            page.CreateComponents(ap);
+            page.CreateComponents(ap, mApSource);
             return page;
         }
 
@@ -207,6 +209,13 @@ namespace SettingWiFi
             return page;
         }
 
+        private DialogPage CreateConnectPage(AP ap)
+        {
+            var page = new ConnectPage(mWifi);
+            page.CreateComponents(ap);
+            return page;
+        }
+
         /* Call WiFi */
         private async void OnWiFiSelected(object sender, SelectedChangedEventArgs e)
         {
@@ -280,19 +289,16 @@ namespace SettingWiFi
                 if (item == null) break;
                 if (item is AP ap)
                 {
-                    if (ap.State.Equals("Connected"))
+                    if (ap.State.Equals(Resources.IDS_WIFI_SBODY_CONNECTED_M_STATUS))
                     {
-                        Debug("already connected");
+                        Debug("Already connected " + ap.Essid);
                         return;
                     }
+                    mConnectPage = CreateConnectPage(ap);
+                    Navigator.Push(mConnectPage);
 
-                    /* TODO: pop-up (password, cancel, connect) */
-                    ap.State = "Connecting";
-                    await mWifi.Connect(ap.Essid, "datanetwork");
-                    if(mWifi.GetConnectedAP().Equals(ap.Essid))
-                    {
-                        ap.State = "Connected";
-                    }
+
+                    break;
                     //  device.Connected = true;
                     //  device.Registered = true;
                 }
index a0a2c1d85412d86dcf41938a1d550c5ff49a1ac7..08ac6e3ec06e034c2764aa4e55b51778522d0814 100644 (file)
@@ -3,6 +3,7 @@ using Tizen.NUI;
 using Tizen.NUI.BaseComponents;
 using Tizen.NUI.Components;
 
+
 namespace SettingWiFi
 {
     internal class MorePage : ContentPage
@@ -25,6 +26,7 @@ namespace SettingWiFi
             Button backButton = new Button(((AppBarStyle)appBarStyle).BackButton);
 
             backButton.Clicked += OnBackButtonClicked;
+            appBar.NavigationContent = backButton;
 
             View moreView = new View()
             {
index 419f78314271bd36d82101e00b70d42689fa2d23..f277c75e089b9d775b12ed4fe28dbe364e880a30 100755 (executable)
Binary files a/packaging/org.tizen.cssetting-wifi-1.0.0.tpk and b/packaging/org.tizen.cssetting-wifi-1.0.0.tpk differ