Check already powered during Wi-Fi enable/disable
[framework/connectivity/net-config.git] / src / wifi-state.c
index dc513a6..9028b5b 100644 (file)
@@ -321,16 +321,14 @@ void netconfig_wifi_update_power_state(gboolean powered)
                                netconfig_is_wifi_tethering_on() != TRUE) {
                        DBG("Wi-Fi successfully turned on or waken up from power-save mode");
 
-                       netconfig_wifi_notify_power_completed(TRUE);
-
-                       netconfig_wifi_device_picker_service_start();
-
                        vconf_set_int(VCONFKEY_NETWORK_WIFI_STATE, VCONFKEY_NETWORK_WIFI_NOT_CONNECTED);
-
                        vconf_set_int(VCONF_WIFI_LAST_POWER_STATE, WIFI_POWER_ON);
-
                        vconf_set_int(VCONFKEY_WIFI_STATE, VCONFKEY_WIFI_UNCONNECTED);
 
+                       netconfig_wifi_notify_power_completed(TRUE);
+
+                       netconfig_wifi_device_picker_service_start();
+
                        netconfig_wifi_bgscan_start();
                }
        } else {
@@ -341,6 +339,10 @@ void netconfig_wifi_update_power_state(gboolean powered)
 
                        netconfig_wifi_remove_driver();
 
+                       vconf_set_int(VCONFKEY_NETWORK_WIFI_STATE, VCONFKEY_NETWORK_WIFI_OFF);
+                       vconf_set_int(VCONF_WIFI_LAST_POWER_STATE, WIFI_POWER_OFF);
+                       vconf_set_int(VCONFKEY_WIFI_STATE, VCONFKEY_WIFI_OFF);
+
                        netconfig_wifi_notify_power_completed(FALSE);
 
                        netconfig_del_wifi_found_notification();
@@ -348,12 +350,6 @@ void netconfig_wifi_update_power_state(gboolean powered)
                        netconfig_wifi_bgscan_stop();
 
                        __netconfig_wifi_set_profiles_count(0);
-
-                       vconf_set_int(VCONFKEY_NETWORK_WIFI_STATE, VCONFKEY_NETWORK_WIFI_OFF);
-
-                       vconf_set_int(VCONF_WIFI_LAST_POWER_STATE, WIFI_POWER_OFF);
-
-                       vconf_set_int(VCONFKEY_WIFI_STATE, VCONFKEY_WIFI_OFF);
                }
        }
 }