Change signal level policy 75/190675/1 accepted/tizen/5.0/unified/20181102.015009 accepted/tizen/unified/20181010.061706 submit/tizen/20181004.140159 submit/tizen/20181005.071221 submit/tizen_5.0/20181101.000003
authorJaehyun Kim <jeik01.kim@samsung.com>
Thu, 4 Oct 2018 13:09:39 +0000 (22:09 +0900)
committerJaehyun Kim <jeik01.kim@samsung.com>
Thu, 4 Oct 2018 13:35:14 +0000 (22:35 +0900)
Change-Id: I41b9e45518c1198b16b7208f2918999418c41ca2
Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
src/wifi-indicator.c

index 86fd4d8..dd6c7b5 100755 (executable)
@@ -118,25 +118,72 @@ static int __netconfig_wifi_update_and_get_rssi(void)
        return rssi_dbm;
 }
 
-int netconfig_wifi_rssi_level(const int rssi_dbm)
+static int __netconfig_wifi_convert_dbm_to_level_24(int rssi_dbm)
 {
-       int snr_level = 0;
+       int rssi_level = 0;
 
-       /* Wi-Fi Signal Strength Display
+       /* Wi-Fi Signal Strength Display (for 2.4G (dB))
         *
-        * Excellent :  -63 ~
-        * Good:                -74 ~ -64
-        * Weak:                -82 ~ -75
-        * Very weak:           ~ -83
+        * Excellent :     ~ -63
+        * Good      : -64 ~ -74
+        * Weak      : -75 ~ -82
+        * Very weak : -83 ~ -88
+        * No signal : -89 ~
         */
+
        if (rssi_dbm >= -63)
-               snr_level = 4;
+               rssi_level = 4;
        else if (rssi_dbm >= -74)
-               snr_level = 3;
+               rssi_level = 3;
        else if (rssi_dbm >= -82)
-               snr_level = 2;
+               rssi_level = 2;
+       else if (rssi_dbm >= -88)
+               rssi_level = 1;
+       else
+               rssi_level = 0;
+
+       return rssi_level;
+}
+
+static int __netconfig_wifi_convert_dbm_to_level_50(int rssi_dbm)
+{
+       int rssi_level = 0;
+
+       /* Wi-Fi Signal Strength Display (for 5G (dB))
+        *
+        * Excellent :     ~ -72
+        * Good      : -73 ~ -78
+        * Weak      : -79 ~ -83
+        * Very weak : -84 ~ -88
+        * No signal : -89 ~
+        */
+
+       if (rssi_dbm >= -72)
+               rssi_level = 4;
+       else if (rssi_dbm >= -78)
+               rssi_level = 3;
+       else if (rssi_dbm >= -83)
+               rssi_level = 2;
+       else if (rssi_dbm >= -88)
+               rssi_level = 1;
+       else
+               rssi_level = 0;
+
+       return rssi_level;
+}
+
+int netconfig_wifi_rssi_level(const int rssi_dbm)
+{
+       int snr_level = 0;
+       int freq = 0;
+       int ret = 0;
+
+       ret = netconfig_vconf_get_int("memory/private/wifi/frequency", &freq);
+
+       if (!ret && freq > 4900)
+               snr_level = __netconfig_wifi_convert_dbm_to_level_50(rssi_dbm);
        else
-               snr_level = 1;
+               snr_level = __netconfig_wifi_convert_dbm_to_level_24(rssi_dbm);
 
        return snr_level;
 }