{
int wifi_state = 0;
+ /* It's automatically updated by signal-handler
+ * DO NOT update manually
+ * It includes Wi-Fi state configuration
+ */
vconf_get_int(VCONFKEY_WIFI_STATE, &wifi_state);
if (powered == TRUE) {
if (wifi_state == VCONFKEY_WIFI_OFF &&
netconfig_is_wifi_direct_on() != TRUE &&
netconfig_is_wifi_tethering_on() != TRUE) {
- DBG("Wi-Fi successfully turned on");
+ DBG("Wi-Fi successfully turned on or waken up from power-save mode");
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 {
if (wifi_state != VCONFKEY_WIFI_OFF) {
- DBG("Wi-Fi successfully turned off");
+ DBG("Wi-Fi successfully turned off or in power-save mode");
- netconfig_del_wifi_found_notification();
+ netconfig_wifi_device_picker_service_stop();
- netconfig_wifi_bgscan_stop();
-
- __netconfig_wifi_set_profiles_count(0);
+ 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();
+
+ netconfig_wifi_bgscan_stop();
+
+ __netconfig_wifi_set_profiles_count(0);
}
}
}