using Tizen.Network.WiFi;\r
//using SettingWiFi.res.locale;\r
using static SettingWiFi.Logger;\r
-\r
+using System.Linq;\r
+using System.Collections;\r
+using Interop;\r
\r
namespace SettingWiFi\r
{\r
OnPropertyChanged(new PropertyChangedEventArgs("Title"));\r
}\r
}\r
+\r
public float IconOpacity\r
{\r
get => iconOpacity;\r
}\r
}\r
\r
+ public void SortScanListByAlphabet(List<AP> apList)\r
+ {\r
+ Debug("SortScanListAlphabet called");\r
+ if (apList == null)\r
+ {\r
+ Debug("apList is null");\r
+ return;\r
+ }\r
+\r
+ while (this.Count > 0)\r
+ {\r
+ this.RemoveAt(this.Count - 1);\r
+ }\r
+\r
+ var sortedApList = apList.OrderBy(ap => ap.Essid).ToList();\r
+\r
+ foreach (var item in sortedApList)\r
+ {\r
+ this.Add(item);\r
+ }\r
+ }\r
+\r
+ public void SortScanListByStrength(List<AP> apList)\r
+ {\r
+ Debug("SortScanListStrength called");\r
+ if (apList == null)\r
+ {\r
+ Debug("apList is null");\r
+ return;\r
+ }\r
+\r
+ while (this.Count > 0)\r
+ {\r
+ this.RemoveAt(this.Count - 1);\r
+ }\r
+ var sortedApList = apList.OrderBy(ap => ap.SignalStrength).ToList();\r
+\r
+ foreach (var item in sortedApList)\r
+ {\r
+ this.Add(item);\r
+ }\r
+ }\r
+\r
public void RemoveScanList()\r
{\r
while (this.Count > 0)\r
{\r
ap.ProxyPort = port;\r
}\r
- else\r
- {\r
- ap.ProxyPort = -1;\r
- }\r
+ else\r
+ {\r
+ ap.ProxyPort = -1;\r
+ }\r
}\r
\r
ap.StaticIPConfig = (networkInfo.IPv4Setting.IPConfigType == Tizen.Network.Connection.IPConfigType.Static);\r
available.UpdateScanList(apList);\r
}\r
\r
+ public void SortScanListByAlphabet(List<AP> apList)\r
+ {\r
+ available.SortScanListByAlphabet(apList);\r
+ }\r
+\r
+ public void SortScanListByStrength(List<AP> apList)\r
+ {\r
+ available.SortScanListByStrength(apList);\r
+ }\r
+\r
public void RemoveScanList()\r
{\r
available.RemoveScanList();\r
{
private WiFi mWifi;
private APSource mApSource;
+ private List<AP> mApList;
+ private SortBy sortView;
- internal AdvancedPage(WiFi wifi)
+
+ internal AdvancedPage(WiFi wifi, List<AP> apList)
{
mWifi = wifi;
+ mApList = apList;
+
}
internal void CreateComponents(APSource apSource)
AppBar = CreateAppBar(Resources.IDS_WIFI_BODY_ADVANCED_SETTINGS);
Content = advacedView;
}
-
private void OnSortByClicked(object sender, ClickedEventArgs ev)
{
- // TO DO: Need to be completed.
- // IDS_EMAIL_POP_ALPHABETICAL
- // IDS_WIFI_MBODY_SIGNAL_STRENGTH_KOR_SKT
+ var sortPage = CreateSortByPage();
+ NUIApplication.GetDefaultWindow().GetDefaultNavigator().Push(sortPage);
+ }
+ internal ContentPage CreateSortByPage()
+ {
+ var page = new SortBy(mApList);
+ page.CreateSortByComponent(mApSource);
+ return page;
}
private void OnInstallCerticateClicked(object obj, ClickedEventArgs arg)
private CollectionView mScanList;
private Button mScanButton, mAddNetwork;
private List<MoreMenuItem> mMenus;
+ private List<AP> mApList;
private MoreMenuItem mHiddenMenuItem, mWifiDirectMenuItem;
public override string ProvideIconPath() => GetResourcePath("main-menu-wifi-icon.svg");
internal ContentPage CreateAdvancedPage()
{
- var page = new AdvancedPage(mWifi);
+ var page = new AdvancedPage(mWifi, mApList);
page.CreateComponents(mApSource);
return page;
}
{
mApSource.SetScanningState(true);
await mWifi.Scan();
- List<AP> apList = mWifi.GetScanResult();
- mApSource.UpdateScanList(apList);
+ mApList = mWifi.GetScanResult();
+ mApSource.UpdateScanList(mApList);
mApSource.SetScanningState(false);
}
}
static public string IDS_WIFI_BODY_WI_FI = "Wi-Fi";\r
static public string IDS_WIFI_BODY_UNKNOWN = "Unknown";\r
static public string IDS_WIFI_BODY_SORT_BY = "Sort by";\r
+ static public string IDS_WIFI_BODY_ALPHABETICAL = "Alphabetical";\r
+ static public string IDS_WIFI_BODY_SIGNAL_STRENGTH = "Signal Strength";\r
static public string IDS_WIFI_BODY_SCANNING_ING = "Scanning...";\r
static public string IDS_WIFI_BODY_NAME = "Name";\r
static public string IDS_WIFI_BODY_CONNECT = "Connect";\r
--- /dev/null
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI;
+using Tizen.NUI.Components;
+using Tizen.NUI.Binding;
+using SettingCore.Views;
+using Interop;
+using System.Diagnostics;
+
+namespace SettingWiFi
+{
+ public class SortBy : ContentPage
+ {
+ private APSource mApSource;
+ private List<AP> mApList;
+ public SortBy(List<AP> apList)
+ {
+ mApList = apList;
+ }
+ internal void CreateSortByComponent(APSource apSource)
+ {
+ mApSource = apSource;
+ View sortView = new View()
+ {
+ Layout = new LinearLayout()
+ {
+ LinearOrientation = LinearLayout.Orientation.Vertical,
+ HorizontalAlignment = HorizontalAlignment.Center,
+ },
+ WidthSpecification = LayoutParamPolicies.MatchParent,
+ HeightSpecification = LayoutParamPolicies.MatchParent,
+ };
+
+ var sortByAlphabet = new DefaultLinearItem()
+ {
+ WidthSpecification = LayoutParamPolicies.MatchParent,
+ Text = Resources.IDS_WIFI_BODY_ALPHABETICAL,
+ IsSelectable = false,
+ };
+ sortByAlphabet.Clicked += OnSortByAlphabetClicked;
+ sortByAlphabet.SubLabel.HorizontalAlignment = HorizontalAlignment.Begin;
+ sortView.Add(sortByAlphabet);
+
+ var sortByStrength = new DefaultLinearItem()
+ {
+ WidthSpecification = LayoutParamPolicies.MatchParent,
+ Text = Resources.IDS_WIFI_BODY_SIGNAL_STRENGTH,
+ IsSelectable = false,
+ };
+ sortByStrength.Clicked += OnSortByStrengthClicked;
+ sortView.Add(sortByAlphabet);
+ sortView.Add(sortByStrength);
+
+ AppBar = CreateAppBar(Resources.IDS_WIFI_BODY_SORT_BY);
+ Content = sortView;
+ }
+ protected virtual AppBar CreateAppBar(string title)
+ {
+ var appBar = new AppBar()
+ {
+ Title = title,
+ AutoNavigationContent = false,
+ };
+ var appBarStyle = ThemeManager.GetStyle("Tizen.NUI.Components.AppBar");
+ var navigationContent = new BackButton();
+ navigationContent.Clicked += (o, e) =>
+ {
+ NUIApplication.GetDefaultWindow().GetDefaultNavigator().Pop();
+ };
+ appBar.NavigationContent = navigationContent;
+ return appBar;
+ }
+ private void OnSortByAlphabetClicked(object obj, ClickedEventArgs arg)
+ {
+
+ mApSource.SortScanListByAlphabet(mApList);
+ }
+ private void OnSortByStrengthClicked(object obj, ClickedEventArgs arg)
+ {
+
+ mApSource.SortScanListByStrength(mApList);
+ }
+
+ }
+}