\r
if (item.NetworkInformation.ConnectionState.ToString().Equals(Resources.IDS_WIFI_SBODY_CONNECTED_M_STATUS))\r
{\r
- apInfoList.Add(new AP(item, item.NetworkInformation.Essid, Resources.IDS_WIFI_SBODY_CONNECTED_M_STATUS, securityType, isWpsSupported));\r
+ apInfoList.Add(new AP(item, item.NetworkInformation.Essid,\r
+ Resources.IDS_WIFI_SBODY_CONNECTED_M_STATUS, securityType,\r
+ isWpsSupported, item.NetworkInformation.RssiLevel));\r
continue;\r
}\r
string text = "";\r
text = Resources.IDS_ST_BODY_SECURED_ABB_M_WIFI_AP_SUMMARY;\r
}\r
\r
- apInfoList.Add(new AP(item, item.NetworkInformation.Essid, text, securityType, isWpsSupported));\r
+ apInfoList.Add(new AP(item, item.NetworkInformation.Essid,\r
+ text, securityType,\r
+ isWpsSupported, item.NetworkInformation.RssiLevel));\r
}\r
\r
return apInfoList;\r
{\r
public class AP : INotifyPropertyChanged\r
{\r
- string iconDir = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "icon.png";\r
+ public enum SignalStrengthIndicator {\r
+ EXCELLENT,\r
+ GOOD,\r
+ WEAK,\r
+ VERY_WEAK,\r
+ UNKNOWN,\r
+ }\r
+ string iconDir = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "/images/wifi-ap_icon_lock_03.png";\r
private string essid;\r
private string state;\r
private string secType;\r
private bool isWps;\r
+ private SignalStrengthIndicator signalStrength = SignalStrengthIndicator.UNKNOWN;\r
\r
public event PropertyChangedEventHandler PropertyChanged;\r
\r
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));\r
}\r
\r
- public AP(WiFiAP apHandle, string apEssid, string apState, string apSecType, bool apIsWps)\r
+ private SignalStrengthIndicator ConvertToSignalStrength(WiFiRssiLevel wifiRssiLevel)\r
+ {\r
+ Debug("ConvertToRssiLevel");\r
+ switch (wifiRssiLevel)\r
+ {\r
+ case WiFiRssiLevel.Level4:\r
+ return SignalStrengthIndicator.EXCELLENT;\r
+ case WiFiRssiLevel.Level3:\r
+ return SignalStrengthIndicator.GOOD;\r
+ case WiFiRssiLevel.Level2:\r
+ return SignalStrengthIndicator.WEAK;\r
+ case WiFiRssiLevel.Level1:\r
+ case WiFiRssiLevel.Level0:\r
+ return SignalStrengthIndicator.VERY_WEAK;\r
+ default:\r
+ return SignalStrengthIndicator.UNKNOWN;\r
+ }\r
+ }\r
+\r
+ private void UpdateWiFiAPIcon()\r
+ {\r
+ string iconName = "wifi-ap_icon_";\r
+\r
+ if (secType != "None")\r
+ {\r
+ iconName += "lock_";\r
+ }\r
+\r
+ switch (signalStrength)\r
+ {\r
+ case SignalStrengthIndicator.EXCELLENT:\r
+ iconName += "03";\r
+ break;\r
+ case SignalStrengthIndicator.GOOD:\r
+ iconName += "02";\r
+ break;\r
+ case SignalStrengthIndicator.WEAK:\r
+ iconName += "01";\r
+ break;\r
+ case SignalStrengthIndicator.VERY_WEAK:\r
+ case SignalStrengthIndicator.UNKNOWN:\r
+ default:\r
+ iconName += "00";\r
+ break;\r
+ }\r
+\r
+ iconName += ".png";\r
+\r
+ Debug("Signal: " + signalStrength.ToString()\r
+ + ", Icon name: " + iconName); // TODO: will be removed.\r
+ }\r
+\r
+ public AP(WiFiAP apHandle, string apEssid, string apState, string apSecType, bool apIsWps, SignalStrengthIndicator apSignalStrength)\r
{\r
ApHandle = apHandle;\r
essid = apEssid;\r
state = apState;\r
secType = apSecType;\r
isWps = apIsWps;\r
+ signalStrength = apSignalStrength;\r
+ UpdateWiFiAPIcon();\r
+ }\r
+\r
+ public AP(WiFiAP apHandle, string apEssid, string apState, string apSecType, bool apIsWps, WiFiRssiLevel apRssiLevel)\r
+ {\r
+ ApHandle = apHandle;\r
+ essid = apEssid;\r
+ state = apState;\r
+ secType = apSecType;\r
+ isWps = apIsWps;\r
+ signalStrength = ConvertToSignalStrength(apRssiLevel);\r
+ UpdateWiFiAPIcon();\r
}\r
\r
public WiFiAP ApHandle\r
return isWps;\r
}\r
}\r
+\r
+ public SignalStrengthIndicator SignalStrength\r
+ {\r
+ get\r
+ {\r
+ return signalStrength;\r
+ }\r
+ }\r
};\r
}
\ No newline at end of file
if (apList == null)\r
{\r
Debug("apList is null");\r
- this.Add(new AP(null, "", "", "", false));\r
+ this.Add(new AP(null, "", "", "", false, AP.SignalStrengthIndicator.UNKNOWN));\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.ApHandle, item.Essid, item.State, item.SecType, item.IsWps));\r
+ this.Add(new AP(item.ApHandle, item.Essid, item.State, item.SecType, item.IsWps, item.SignalStrength));\r
}\r
}\r
\r
item.Label.HorizontalAlignment = HorizontalAlignment.Begin;
item.SubLabel.SetBinding(TextLabel.TextProperty, "State");
item.SubLabel.HorizontalAlignment = HorizontalAlignment.Begin;
+
+ ImageViewStyle imageViewStyle = new ImageViewStyle()
+ {
+ Color = new Selector<Color>()
+ {
+ Normal = new Color("#17234D"),
+ Focused = new Color("#17234D"),
+ Pressed = new Color("#FF6200"),
+ Disabled = new Color("#CACACA"),
+ },
+ };
+
+ item.Icon = new ImageView(imageViewStyle);
item.Icon.SetBinding(ImageView.ResourceUrlProperty, "ImageUrl");
item.Icon.WidthSpecification = 40;
item.Icon.HeightSpecification = 40;