using System.Threading.Tasks;\r
using Tizen;\r
using Tizen.Network.WiFi;\r
+using SettingWiFi.res.locale;\r
using static SettingWiFi.Logger;\r
\r
namespace SettingWiFi\r
//Debug("AP name: " + item.NetworkInformation.Essid);\r
//Debug("AP connection state: " + item.NetworkInformation.ConnectionState.ToString());\r
\r
- string connectionState = item.NetworkInformation.ConnectionState.ToString();\r
- string securityType = item.SecurityInformation.SecurityType.ToString();\r
//bool isPassphraseRequired = item.SecurityInformation.IsPassphraseRequired;\r
+\r
+ string securityType = item.SecurityInformation.SecurityType.ToString();\r
bool isWpsSupported = item.SecurityInformation.IsWpsSupported;\r
\r
- if (item.NetworkInformation.ConnectionState.ToString().Equals("Connected"))\r
+ if (item.NetworkInformation.ConnectionState.ToString().Equals(Resources.IDS_WIFI_SBODY_CONNECTED_M_STATUS))\r
{\r
- apInfoList.Add(new AP(item.NetworkInformation.Essid, "Connected"));\r
+ apInfoList.Add(new AP(item.NetworkInformation.Essid, Resources.IDS_WIFI_SBODY_CONNECTED_M_STATUS, securityType, isWpsSupported));\r
continue;\r
}\r
string text = "";\r
\r
- if (securityType.Equals("None"))\r
+ if (securityType.Equals(Resources.IDS_ST_BODY_NONE))\r
{\r
- text = "Open";\r
+ text = Resources.IDS_WIFI_POP_OPEN;\r
}\r
- else if (securityType.Equals("Eap"))\r
+ else if (securityType.Equals(Resources.IDS_WIFI_BODY_EAP))\r
{\r
- text = "Secured (Eap)";\r
+ text = Resources.IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY + " (Eap)";\r
}\r
else if (isWpsSupported)\r
{\r
- text = "Secured (WPS available)";\r
+ text = Resources.IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY + " (WPS available)";\r
}\r
else\r
{\r
- text = "Secured";\r
+ text = Resources.IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY;\r
}\r
\r
- apInfoList.Add(new AP(item.NetworkInformation.Essid, text));\r
+ apInfoList.Add(new AP(item.NetworkInformation.Essid, text, securityType, isWpsSupported));\r
}\r
\r
return apInfoList;\r
return ResourceManager.GetString("IDS_WIFI_SK_FORGET", resourceCulture);
}
}
+
+ /// <summary>
+ /// 과(와) 유사한 지역화된 문자열을 찾습니다.
+ /// </summary>
+ public static string IDS_ST_BODY_NONE {
+ get {
+ return ResourceManager.GetString("IDS_ST_BODY_NONE", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// 과(와) 유사한 지역화된 문자열을 찾습니다.
+ /// </summary>
+ public static string IDS_WIFI_BODY_EAP {
+ get {
+ return ResourceManager.GetString("IDS_WIFI_BODY_EAP", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// 과(와) 유사한 지역화된 문자열을 찾습니다.
+ /// </summary>
+ public static string IDS_WIFI_POP_OPEN {
+ get {
+ return ResourceManager.GetString("IDS_WIFI_POP_OPEN", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// 과(와) 유사한 지역화된 문자열을 찾습니다.
+ /// </summary>
+ public static string IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY {
+ get {
+ return ResourceManager.GetString("IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY", resourceCulture);
+ }
+ }
}
}
<data name="IDS_WIFI_SK_FORGET" xml:space="preserve">\r
<value>Forget</value>\r
</data>\r
+ <data name="IDS_ST_BODY_NONE" xml:space="preserve">\r
+ <value>None</value>\r
+ </data>\r
+ <data name="IDS_WIFI_BODY_EAP" xml:space="preserve">\r
+ <value>EAP</value>\r
+ </data>\r
+ <data name="IDS_WIFI_POP_OPEN" xml:space="preserve">\r
+ <value>Open</value>\r
+ </data>\r
+ <data name="IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" xml:space="preserve">\r
+ <value>Secured</value>\r
+ </data>\r
</root>
\ No newline at end of file
<data name="IDS_WIFI_SK_FORGET" xml:space="preserve">\r
<value>지우기</value>\r
</data>\r
+ <data name="IDS_ST_BODY_NONE" xml:space="preserve">\r
+ <value>설정 안 함</value>\r
+ </data>\r
+ <data name="IDS_WIFI_BODY_EAP" xml:space="preserve">\r
+ <value>EAP</value>\r
+ </data>\r
+ <data name="IDS_WIFI_POP_OPEN" xml:space="preserve">\r
+ <value>공개</value>\r
+ </data>\r
+ <data name="IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" xml:space="preserve">\r
+ <value>보안</value>\r
+ </data>\r
</root>
\ No newline at end of file
<data name="IDS_WIFI_SK_FORGET" xml:space="preserve">\r
<value />\r
</data>\r
+ <data name="IDS_ST_BODY_NONE" xml:space="preserve">\r
+ <value />\r
+ </data>\r
+ <data name="IDS_WIFI_BODY_EAP" xml:space="preserve">\r
+ <value />\r
+ </data>\r
+ <data name="IDS_WIFI_POP_OPEN" xml:space="preserve">\r
+ <value />\r
+ </data>\r
+ <data name="IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY" xml:space="preserve">\r
+ <value />\r
+ </data>\r
</root>
\ No newline at end of file
using Tizen.NUI.Components;\r
using Tizen.NUI.Binding;\r
using Tizen.Network.WiFi;\r
+using SettingWiFi.res.locale;\r
using static SettingWiFi.Logger;\r
\r
\r
string iconDir = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "icon.png";\r
private string essid;\r
private string state;\r
+ private string secType;\r
+ private bool isWps;\r
\r
public event PropertyChangedEventHandler PropertyChanged;\r
\r
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));\r
}\r
\r
- public AP(string apEssid, string apState)\r
+ public AP(string apEssid, string apState, string apSecType, bool apIsWps)\r
{\r
essid = apEssid;\r
state = apState;\r
+ secType = apSecType;\r
+ isWps = apIsWps;\r
}\r
\r
public string Essid\r
OnPropertyChanged("State");\r
}\r
}\r
+\r
+ public string SecType\r
+ {\r
+ get\r
+ {\r
+ return secType;\r
+ }\r
+ }\r
+\r
+ public bool IsWps\r
+ {\r
+ get\r
+ {\r
+ return isWps;\r
+ }\r
+ }\r
};\r
\r
public class DeviceCollection : ObservableCollection<AP>\r
if (apList == null)\r
{\r
Debug("apList is null");\r
- this.Add(new AP("", ""));\r
+ this.Add(new AP("", "", "", false));\r
return;\r
}\r
// Clear method have some issue about asynchronous actions,\r
\r
foreach (var item in apList)\r
{\r
- this.Add(new AP(item.Essid, item.State));\r
+ this.Add(new AP(item.Essid, item.State, item.SecType, item.IsWps));\r
}\r
}\r
\r
- public void RemoveDevices()\r
+ public void RemoveScanList()\r
{\r
while (this.Count > 0)\r
{\r
this.RemoveAt(this.Count - 1);\r
}\r
}\r
+\r
+ public void UpdateState(AP ap)\r
+ {\r
+ string text = "";\r
+\r
+ if (ap.SecType.Equals(Resources.IDS_ST_BODY_NONE))\r
+ {\r
+ text = Resources.IDS_WIFI_POP_OPEN;\r
+ }\r
+ else if (ap.SecType.Equals(Resources.IDS_WIFI_BODY_EAP))\r
+ {\r
+ text = Resources.IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY + " (Eap)";\r
+ }\r
+ else if (ap.IsWps)\r
+ {\r
+ text = Resources.IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY + " (WPS available)";\r
+ }\r
+ else\r
+ {\r
+ text = Resources.IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY;\r
+ }\r
+\r
+ ap.State = text;\r
+ }\r
}\r
\r
public class APSource : ObservableCollection<DeviceCollection>\r
private DeviceCollection available;\r
public APSource()\r
{\r
- Debug("new APSource");\r
available = new DeviceCollection("Available networks");\r
this.Add(available);\r
- Debug("Add DeviceCollection");\r
}\r
+\r
public void UpdateScanList(List<AP> apList)\r
{\r
available.UpdateScanList(apList);\r
}\r
\r
- public void RemoveDevices()\r
+ public void RemoveScanList()\r
+ {\r
+ available.RemoveScanList();\r
+ }\r
+\r
+ public void UpdateState(AP ap)\r
{\r
- available.RemoveDevices();\r
+ available.UpdateState(ap);\r
}\r
}\r
}
\ No newline at end of file
connectView.Add(passwordField);
- var item1 = new DefaultLinearItem();
-
- connectView.Add(item1);
+ var item = new DefaultLinearItem();
+ connectView.Add(item);
var cancelButton = new Button()
{
AppBarStyle appBarStyle = (AppBarStyle)ThemeManager.GetStyle("Tizen.NUI.Components.AppBar");
Button backButton = new Button(((AppBarStyle)appBarStyle).BackButton);
- backButton.Clicked += OnBackButtonClicked;
+ backButton.Clicked += OnBackClicked;
appBar.NavigationContent = backButton;
View infoView = new View()
HeightSpecification = 80,
};
- forgetButton.Clicked += OnForgetButtonClicked;
+ forgetButton.Clicked += OnForgetClicked;
infoView.Add(forgetButton);
Content = infoView;
}
- private void OnBackButtonClicked(object source, ClickedEventArgs args)
+ private ContentPage CreateForgetPage()
+ {
+ var forgetView = new View()
+ {
+ Layout = new LinearLayout()
+ {
+ LinearOrientation = LinearLayout.Orientation.Vertical,
+ },
+ WidthSpecification = 200,
+ HeightSpecification = 100,
+ };
+
+ var item = new DefaultLinearItem();
+ forgetView.Add(item);
+
+ var cancelButton = new Button()
+ {
+ Text = "Cancel",
+ WidthSpecification = 300,
+ HeightSpecification = 80,
+ };
+ cancelButton.Clicked += OnCancelClicked;
+
+ var forgetButton = new Button()
+ {
+ Text = "Forget",
+ WidthSpecification = 300,
+ HeightSpecification = 80,
+ };
+ forgetButton.Clicked += OnForgetConfirmed;
+
+ ContentPage page = new ContentPage()
+ {
+ Content = new AlertDialog()
+ {
+ Title = "Forget network",
+ Content = forgetView,
+ Actions = new View[] { cancelButton, forgetButton },
+ },
+ };
+
+ return page;
+ }
+
+ private void OnBackClicked(object source, ClickedEventArgs args)
{
Navigator.Pop();
}
- private void OnForgetButtonClicked(object source, ClickedEventArgs args)
+ private void OnForgetClicked(object source, ClickedEventArgs args)
{
Debug("Forget " + mAp.Essid);
+ var page = CreateForgetPage();
+ Navigator.Push(page);
+ }
+
+ private void OnCancelClicked(object source, ClickedEventArgs args)
+ {
+ Navigator.Pop();
+ }
+
+ private void OnForgetConfirmed(object source, ClickedEventArgs args)
+ {
Forget();
+ Navigator.Pop();
}
private async void Forget()
WidthSpecification = 300,
HeightSpecification = 80,
};
- scanButton.Clicked += OnScanButtonClicked;
+ scanButton.Clicked += OnScanClicked;
mainView.Add(header);
mainView.Add(mScanList);
HeightSpecification = 40,
};
//infoButton.Icon.SetBinding(ImageView.ResourceUrlProperty, "InfoImageUrl");
- infoButton.Clicked += OnInfoButtonClicked;
+ infoButton.Clicked += OnInfoClicked;
item.Extra = infoButton;
return item;
{
await mWifi.Deactivate();
}
- mApSource.RemoveDevices();
+ mApSource.RemoveScanList();
}
}
- private void OnScanButtonClicked(object sender, ClickedEventArgs e)
+ private void OnScanClicked(object sender, ClickedEventArgs e)
{
- Debug("OnScanButtonClicked");
+ Debug("OnScanClicked");
ScanAP();
}
- private void OnInfoButtonClicked(object sender, ClickedEventArgs e)
+ private void OnInfoClicked(object sender, ClickedEventArgs e)
{
- Debug("OnInfoButtonClicked");
+ Debug("OnInfoClicked");
Button button = (Button)sender;
mInfoPage = CreateInfoPage(button.BindingContext as AP);
if (item == null) break;
if (item is AP ap)
{
- //Log.Debug(LogTag, "Disconnect ");
- //await wifi.Disconnect(device.Essid);
- //device.State = "Disonnected";
-
- // device.Connected = false;
+ Debug("Disconnect " + ap.Essid);
+ await mWifi.Disconnect(ap.Essid);
+ mApSource.UpdateState(ap);
}
}
foreach (object item in ev.CurrentSelection)
if (ap.State.Equals(Resources.IDS_WIFI_SBODY_CONNECTED_M_STATUS))
{
Debug("Already connected " + ap.Essid);
- return;
+ break;
}
mConnectPage = CreateConnectPage(ap);
Navigator.Push(mConnectPage);
-
-
break;
- // device.Connected = true;
- // device.Registered = true;
}
}
}
AppBarStyle appBarStyle = (AppBarStyle)ThemeManager.GetStyle("Tizen.NUI.Components.AppBar");
Button backButton = new Button(((AppBarStyle)appBarStyle).BackButton);
- backButton.Clicked += OnBackButtonClicked;
+ backButton.Clicked += OnBackClicked;
appBar.NavigationContent = backButton;
View moreView = new View()
Content = moreView;
}
- private void OnBackButtonClicked(object source, ClickedEventArgs args)
+ private void OnBackClicked(object source, ClickedEventArgs args)
{
Navigator.Pop();
}