Handling exceptions & turn on/off button
authork.stepaniuk <k.stepaniuk@samsung.com>
Tue, 24 Mar 2020 11:15:05 +0000 (12:15 +0100)
committerLukasz Stanislawski/IoT & UI Sample (PLT) /SRPOL/Engineer/Samsung Electronics <l.stanislaws@samsung.com>
Wed, 25 Mar 2020 08:01:41 +0000 (09:01 +0100)
Signed-off-by: k.stepaniuk <k.stepaniuk@samsung.com>
Oobe/OobeCommon/Styles/ButtonStyles.cs
Oobe/OobeWifi/Controls/Wifi/ApView.cs
Oobe/OobeWifi/Controls/Wifi/WifiState.cs
Oobe/OobeWifi/Controls/Wifi/WifiView.cs
Oobe/OobeWifi/res/12_icon_wifioff_disabled.png [new file with mode: 0644]
Oobe/OobeWifi/res/12_icon_wifion_disabled.png [new file with mode: 0644]

index ec2b11d..e57345c 100644 (file)
@@ -37,6 +37,17 @@ namespace Oobe.Common.Styles
             },
             Size2D = new Size2D(72, 32),
         };
+        public static ButtonStyle TurnOnOff = new ButtonStyle
+        {
+            BackgroundImage = new Selector<string>
+            {
+                Normal = NUIApplication.Current.DirectoryInfo.Resource + "12_icon_wifioff.png",
+                Disabled = NUIApplication.Current.DirectoryInfo.Resource + "12_icon_wifioff_disabled.png",
+                Selected = NUIApplication.Current.DirectoryInfo.Resource + "12_icon_wifion.png",
+                DisabledSelected = NUIApplication.Current.DirectoryInfo.Resource + "12_icon_wifion_disabled.png",
+            },
+            Size2D = new Size2D(72, 32),
+        };
         public static ButtonStyle AddNetwork = new ButtonStyle
         {
             BackgroundImage = new Selector<string>
index 523461e..a43b7f4 100644 (file)
@@ -65,18 +65,28 @@ namespace Oobe.Wifi.Controls.Wifi
 
         private static string GetDetailInfo(WiFiAP wifiAp)
         {
+            //state
             if (wifiAp.NetworkInformation.ConnectionState == WiFiConnectionState.Connected)
             {
                 return "Connected";
             }
-            else if (wifiAp.SecurityInformation.IsPassphraseRequired)
+            if (wifiAp.NetworkInformation.ConnectionState == WiFiConnectionState.Association)
             {
-                return "Secured";
+                return "Connecting...";
             }
-            else
+            //security
+            else if (wifiAp.SecurityInformation.SecurityType == Tizen.Network.Connection.WiFiSecurityType.None)
             {
                 return "Open";
             }
+            else if(wifiAp.SecurityInformation.IsPassphraseRequired == false)
+            {
+                return "Saved";
+            }
+            else
+            {
+                return "Secured";
+            }
         }
 
         private static string GetRangeImage(WiFiAP wifiAp)
index 7e6640b..6de399d 100644 (file)
@@ -16,26 +16,33 @@ namespace Oobe.Wifi.Controls.Wifi
 
         public async Task TurnWifi()
         {
-            if (IsTurnedOn)
+            try
             {
-                await Tizen.Network.WiFi.WiFiManager.DeactivateAsync();
-                if (IsTurnedOn == false)
+                if (IsTurnedOn)
                 {
-                    OnTurnedOff?.Invoke();
-                }
-            }
-            else
-            {
-                await Tizen.Network.WiFi.WiFiManager.ActivateAsync();
-                if (IsTurnedOn == false)
-                {
-                    OnTurningOnFailed?.Invoke();
+                    await Tizen.Network.WiFi.WiFiManager.DeactivateAsync();
+                    if (IsTurnedOn == false)
+                    {
+                        OnTurnedOff?.Invoke();
+                    }
                 }
                 else
                 {
-                    OnTurnedOn?.Invoke();
+                    await Tizen.Network.WiFi.WiFiManager.ActivateAsync();
+                    if (IsTurnedOn == false)
+                    {
+                        OnTurningOnFailed?.Invoke();
+                    }
+                    else
+                    {
+                        OnTurnedOn?.Invoke();
+                    }
                 }
             }
+            catch (Exception ex)
+            {
+                Tizen.Log.Error("oobe", $"{ex.ToString()}");
+            }
         }
 
         public async Task<IEnumerable<Tizen.Network.WiFi.WiFiAP>> Scan()
index 7777e71..c5ca0ad 100644 (file)
@@ -123,20 +123,22 @@ namespace Oobe.Wifi.Controls.Wifi
 
         private Button CreateTurnOnButton()
         {
-            var button = new Button(new ButtonStyle())
+            var button = new Button(ButtonStyles.TurnOnOff)
             {
                 Size = new Size(72, 32),
                 Position = new Position(369, 39),
             };
-            button.Style.BackgroundImage = NUIApplication.Current.DirectoryInfo.Resource +
-                (State.IsTurnedOn ? "12_icon_wifion.png" : "12_icon_wifioff.png");
+            button.IsSelected = State.IsTurnedOn;
 
-            State.OnTurnedOff += () =>
-                button.Style.BackgroundImage = NUIApplication.Current.DirectoryInfo.Resource + "12_icon_wifioff.png";
-            State.OnTurnedOn += () =>
-                button.Style.BackgroundImage = NUIApplication.Current.DirectoryInfo.Resource + "12_icon_wifion.png";
+            State.OnTurnedOff += () => button.IsSelected = State.IsTurnedOn;
+            State.OnTurnedOn += () => button.IsSelected = State.IsTurnedOn;
 
-            button.ClickEvent += async (s, e) => await State.TurnWifi();
+            button.ClickEvent += async (s, e) =>
+            {
+                button.IsEnabled = false;
+                await State.TurnWifi();
+                button.IsEnabled = true;
+            };
             return button;
         }
 
diff --git a/Oobe/OobeWifi/res/12_icon_wifioff_disabled.png b/Oobe/OobeWifi/res/12_icon_wifioff_disabled.png
new file mode 100644 (file)
index 0000000..26a807b
Binary files /dev/null and b/Oobe/OobeWifi/res/12_icon_wifioff_disabled.png differ
diff --git a/Oobe/OobeWifi/res/12_icon_wifion_disabled.png b/Oobe/OobeWifi/res/12_icon_wifion_disabled.png
new file mode 100644 (file)
index 0000000..4a775a0
Binary files /dev/null and b/Oobe/OobeWifi/res/12_icon_wifion_disabled.png differ