#include <bundle.h>
#include <bundle_internal.h>
#include <eventsystem.h>
+#include <syspopup_caller.h>
#include "log.h"
#include "util.h"
static GSList *notifier_list = NULL;
+static guint network_connected_popup_timer_id = 0;
+static gboolean block_network_connected_popup = FALSE;
static void __netconfig_pop_wifi_connected_poppup(const char *ssid)
{
b = bundle_create();
bundle_add(b, "_SYSPOPUP_TITLE_", "Network connection popup");
- bundle_add(b, "_SYSPOPUP_TYPE_", "notification");
+ bundle_add(b, "_SYSPOPUP_TYPE_", "toast_popup");
bundle_add(b, "_SYSPOPUP_CONTENT_", "wifi connected");
bundle_add(b, "_AP_NAME_", ssid);
DBG("Launch Wi-Fi connected alert network popup");
- syspopup_launch("net.netpopup", b);
+ syspopup_launch("net-popup", b);
bundle_free(b);
}
+static gboolean _block_network_connection_popup(gpointer data)
+{
+ block_network_connected_popup = FALSE;
+ netconfig_stop_timer(&network_connected_popup_timer_id);
+ return FALSE;
+}
+
static void __set_wifi_connected_essid(void)
{
const char *essid_name = NULL;
}
netconfig_set_vconf_str(VCONFKEY_WIFI_CONNECTED_AP_NAME, essid_name);
- __netconfig_pop_wifi_connected_poppup(essid_name);
+
+ /* Block Network Connected popup for 3sec
+ * to avoid multiple popup's due to ready signals */
+ if (block_network_connected_popup == FALSE) {
+ block_network_connected_popup = TRUE;
+ netconfig_start_timer(3000, _block_network_connection_popup,
+ NULL, &network_connected_popup_timer_id);
+ __netconfig_pop_wifi_connected_poppup(essid_name);
+ }
}
static void __unset_wifi_connected_essid(void)
g_variant_get(message, "(a(oa{sv}))", &iter);
while (g_variant_iter_loop(iter, "(oa{sv})", &obj, &next)) {
- if (obj == NULL || netconfig_is_wifi_profile((const gchar*)obj) == FALSE) {
+ if (obj == NULL || netconfig_is_wifi_profile((const gchar*)obj) == FALSE)
continue;
- }
g_variant_iter_free(next);
g_free(obj);
while (g_variant_iter_loop(array, "{sv}", &key, &var)) {
gboolean value;
- if (g_str_equal(key, "Favorite") != TRUE) {
+ if (g_str_equal(key, "Favorite") != TRUE)
continue;
- }
value = g_variant_get_boolean(var);
if (value)
goto cleanup;
}
- vconf_get_int(VCONFKEY_WIFI_ENABLE_QS, &qs_enable);
+ netconfig_vconf_get_int(VCONFKEY_WIFI_ENABLE_QS, &qs_enable);
if (qs_enable != VCONFKEY_WIFI_QS_ENABLE) {
DBG("qs_enable != VCONFKEY_WIFI_QS_ENABLE");
goto cleanup;
}
- vconf_get_int(VCONFKEY_WIFI_UG_RUN_STATE, &ug_state);
- if (ug_state == VCONFKEY_WIFI_UG_RUN_STATE_ON_FOREGROUND) {
+ netconfig_vconf_get_int(VCONFKEY_WIFI_UG_RUN_STATE, &ug_state);
+ if (ug_state == VCONFKEY_WIFI_UG_RUN_STATE_ON_FOREGROUND)
goto cleanup;
- }
netconfig_send_notification_to_net_popup(NETCONFIG_ADD_FOUND_AP_NOTI, NULL);
g_variant_get(message, "(a(oa{sv}))", &iter);
while (g_variant_iter_loop(iter, "(oa{sv})", &obj, &next)) {
- if (obj == NULL || netconfig_is_wifi_profile(obj) == FALSE) {
+ if (obj == NULL || netconfig_is_wifi_profile(obj) == FALSE)
continue;
- }
if (__is_favorited(next) == TRUE) {
favorite_service = g_strdup(obj);
{
int value = -1;
- if (vconf_get_int(VCONFKEY_WIFI_ENABLE_QS, &value) < 0) {
+ if (netconfig_vconf_get_int(VCONFKEY_WIFI_ENABLE_QS, &value) < 0)
return;
- }
- if (value == VCONFKEY_WIFI_QS_DISABLE) {
+ if (value == VCONFKEY_WIFI_QS_DISABLE)
netconfig_send_notification_to_net_popup(NETCONFIG_DEL_FOUND_AP_NOTI, NULL);
- }
}
static void _register_network_notification(void)
else
old_state = power_save;
+ g_variant_unref(input_args);
return;
}
"org.tizen.system.deviced.display",
lock_method,
params);
- if (reply == NULL){
+ if (reply == NULL) {
ERR("Failed to set_power_lock");
return;
}
else
wifi_emit_power_off_completed((Wifi *)get_wifi_object());
- DBG("Successfully sent signal [%s]",(power_on)?"powerOn":"powerOff");
+ DBG("Successfully sent signal [%s]", (power_on) ? "powerOn" : "powerOff");
}
void wifi_state_emit_power_failed(void)
netconfig_wifi_bgscan_stop();
netconfig_wifi_bgscan_start(TRUE);
- } else if ((old_state > NETCONFIG_WIFI_IDLE && old_state < NETCONFIG_WIFI_CONNECTED) && new_state == NETCONFIG_WIFI_IDLE){
- //in ipv6 case disconnect/association -> association
+ } else if ((old_state > NETCONFIG_WIFI_IDLE && old_state < NETCONFIG_WIFI_CONNECTED) && new_state == NETCONFIG_WIFI_IDLE) {
+ /* in ipv6 case disconnect/association -> association */
DBG("reset the bg scan period");
netconfig_wifi_set_bgscan_pause(FALSE);
_wifi_state_changed(new_state);
- if (new_state == NETCONFIG_WIFI_CONNECTED){
+ if (new_state == NETCONFIG_WIFI_CONNECTED)
_wifi_state_connected_activation();
-#if defined TIZEN_WEARABLE
- wc_launch_syspopup(WC_POPUP_TYPE_WIFI_CONNECTED);
-#endif
- }
}
wifi_service_state_e wifi_state_get_service_state(void)
g_variant_get(message, "(a(oa{sv}))", &iter);
while (g_variant_iter_loop(iter, "(oa{sv})", &path, &next)) {
- if (path == NULL || g_strcmp0(path, CONNMAN_WIFI_TECHNOLOGY_PREFIX) != 0) {
+ if (path == NULL || g_strcmp0(path, CONNMAN_WIFI_TECHNOLOGY_PREFIX) != 0)
continue;
- }
while (g_variant_iter_loop(next, "{sv}", &key, &variant)) {
const gchar *sdata = NULL;
data = g_variant_get_boolean(variant);
DBG("key-[%s] - %s", key, data ? "True" : "False");
- if (strcmp(key, "Powered") == 0 && data) {
+ if (strcmp(key, "Powered") == 0 && data)
wifi_tech_powered = TRUE;
- } else if (strcmp(key, "Connected") == 0 && data) {
+ else if (strcmp(key, "Connected") == 0 && data)
wifi_tech_connected = TRUE;
- } else if (strcmp(key, "Tethering") == 0 && data) {
- // For further use
- }
+ /* For further use
+ else if (strcmp(key, "Tethering") == 0 && data) {
+ } */
} else if (g_variant_is_of_type(variant, G_VARIANT_TYPE_STRING)) {
sdata = g_variant_get_string(variant, NULL);
DBG("%s", sdata);
}
}
- g_variant_iter_free (next);
+ g_variant_iter_free(next);
}
g_variant_unref(message);
- g_variant_iter_free (iter);
+ g_variant_iter_free(iter);
if (wifi_tech_powered == TRUE)
ret = NETCONFIG_WIFI_TECH_POWERED;
void wifi_state_set_connected_essid(void)
{
__set_wifi_connected_essid();
-#if defined TIZEN_WEARABLE
- wc_launch_syspopup(WC_POPUP_TYPE_WIFI_CONNECTED);
-#endif
}
void wifi_state_get_connected_essid(gchar **essid)
* WIFI_CONNECTION_STATE_CONFIGURATION = 2
* WIFI_CONNECTION_STATE_CONNECTED = 3
*/
+/* connection_wifi_state_e in CAPI
+ *
+ * CONNECTION_WIFI_STATE_DEACTIVATED = 0
+ * CONNECTION_WIFI_STATE_DISCONNECTED = 1
+ * CONNECTION_WIFI_STATE_CONNECTED = 2
+ */
gboolean handle_get_wifi_state(Wifi *wifi, GDBusMethodInvocation *context)
{
g_return_val_if_fail(wifi != NULL, FALSE);
- wifi_service_state_e state = NETCONFIG_WIFI_UNKNOWN;
- gint wifi_state = 0;
- state = wifi_state_get_service_state();
+ GVariant *param = NULL;
+ wifi_tech_state_e tech_state = NETCONFIG_WIFI_TECH_UNKNOWN;
+ wifi_service_state_e service_state = NETCONFIG_WIFI_UNKNOWN;
+ tech_state = wifi_state_get_technology_state();
+ service_state = wifi_state_get_service_state();
- switch (state) {
- case NETCONFIG_WIFI_FAILURE:
- wifi_state = -1;
- break;
- case NETCONFIG_WIFI_UNKNOWN:
- case NETCONFIG_WIFI_IDLE:
- wifi_state = 0;
- break;
- case NETCONFIG_WIFI_ASSOCIATION:
- wifi_state = 1;
- break;
- case NETCONFIG_WIFI_CONFIGURATION:
- wifi_state = 2;
- break;
- case NETCONFIG_WIFI_CONNECTED:
- wifi_state = 3;
- break;
- default:
- wifi_state = 0;
+ if (tech_state == NETCONFIG_WIFI_TECH_UNKNOWN)
+ param = g_variant_new("(s)", "unknown");
+ else if (tech_state == NETCONFIG_WIFI_TECH_OFF ||
+ tech_state == NETCONFIG_WIFI_TECH_WPS_ONLY)
+ param = g_variant_new("(s)", "deactivated");
+ else if (tech_state == NETCONFIG_WIFI_TECH_CONNECTED)
+ param = g_variant_new("(s)", "connected");
+ else {
+ switch (service_state) {
+ case NETCONFIG_WIFI_FAILURE:
+ param = g_variant_new("(s)", "failure");
+ break;
+ case NETCONFIG_WIFI_ASSOCIATION:
+ param = g_variant_new("(s)", "association");
+ break;
+ case NETCONFIG_WIFI_CONFIGURATION:
+ param = g_variant_new("(s)", "configuration");
+ break;
+ case NETCONFIG_WIFI_CONNECTED:
+ param = g_variant_new("(s)", "connected");
+ break;
+ case NETCONFIG_WIFI_UNKNOWN:
+ case NETCONFIG_WIFI_IDLE:
+ default:
+ param = g_variant_new("(s)", "disconnected");
+ }
}
- g_dbus_method_invocation_return_value(context, g_variant_new("(i)", wifi_state));
+ g_dbus_method_invocation_return_value(context, param);
return TRUE;
}