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
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);
}
}
<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
<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
<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
--- /dev/null
+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
+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)
mWifi = wifi;
}
- internal void CreateComponents(AP ap)
+ internal void CreateComponents(AP ap, APSource ApSource)
{
mAp = ap;
+ mApSource = ApSource;
var appBar = new AppBar()
{
Button backButton = new Button(((AppBarStyle)appBarStyle).BackButton);
backButton.Clicked += OnBackButtonClicked;
+ appBar.NavigationContent = backButton;
+
View infoView = new View()
{
Layout = new LinearLayout()
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
using Tizen.NUI.BaseComponents;
using Tizen.NUI.Binding;
using Tizen.NUI.Components;
+using SettingWiFi.res.locale;
using static SettingWiFi.Logger;
ContentPage mInfoPage;
ContentPage mMorePage;
+ DialogPage mConnectPage;
WiFi mWifi;
APSource mApSource;
menuItems[0].SelectedChanged += (object sender, SelectedChangedEventArgs args) =>
{
var menuItem = sender as MenuItem;
+ mMorePage = CreateMorePage();
Navigator.Push(mMorePage);
};
{
return new DataTemplate(() =>
{
- DefaultLinearItem item = new DefaultLinearItem() //itemÀÌ °¢ AP
+ DefaultLinearItem item = new DefaultLinearItem()
{
WidthSpecification = LayoutParamPolicies.MatchParent,
};
if (IsWiFiActive())
{
isWiFiOn = true;
- Debug("ScanAP");
ScanAP();
}
private ContentPage CreateInfoPage(AP ap)
{
var page = new InfoPage(mWifi);
- page.CreateComponents(ap);
+ page.CreateComponents(ap, mApSource);
return page;
}
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)
{
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;
}
using Tizen.NUI.BaseComponents;
using Tizen.NUI.Components;
+
namespace SettingWiFi
{
internal class MorePage : ContentPage
Button backButton = new Button(((AppBarStyle)appBarStyle).BackButton);
backButton.Clicked += OnBackButtonClicked;
+ appBar.NavigationContent = backButton;
View moreView = new View()
{