From: Abhishek Sansanwal Date: Wed, 20 Dec 2017 10:04:36 +0000 (+0530) Subject: Fix for [TCM-3097] - Wifi turns off automatically X-Git-Tag: accepted/tizen/unified/20171222.062624^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0bcca20452606be5fa12374d921ae32f63acb8b4;p=apps%2Fnative%2Fug-wifi-efl.git Fix for [TCM-3097] - Wifi turns off automatically Description: The WiFi state was not remembered so when the application was started again the state was always off in case of emulator. Also in case of emulator the radio button was on initially on for a short duration and then turned to off for every time the application was started. The solution was to use a vconf key and set/get the key in case of emulator instead of using wifi-manager calls as in the case of hardware device. When the application is launched we get the vconf key value and restore the state again. Change-Id: I0a9c3355a80d298864374a122bad69588f1df96a Signed-off-by: Abhishek Sansanwal --- diff --git a/sources/libraries/WlanManager/WlanManager/wlan_manager.c b/sources/libraries/WlanManager/WlanManager/wlan_manager.c index 58f8781..13579fd 100755 --- a/sources/libraries/WlanManager/WlanManager/wlan_manager.c +++ b/sources/libraries/WlanManager/WlanManager/wlan_manager.c @@ -547,10 +547,16 @@ int wlan_manager_get_connected_ap(wifi_manager_ap_h *ap) int wlan_manager_state_get(void) { + int value = VCONFKEY_WIFI_OFF; int ret_val = 0; if (_is_emulator()) { - if (wifi_emulator_state == WIFI_MANAGER_DEVICE_STATE_ACTIVATED) + value = common_util_get_system_registry(VCONFKEY_WIFI_STATE); + if (value == -1) { + ERROR_LOG(COMMON_NAME_ERR, "fail to get vconf key!"); + return VCONFKEY_WIFI_OFF; + } + if (value == VCONFKEY_WIFI_UNCONNECTED) ret_val = WLAN_MANAGER_UNCONNECTED; else ret_val = WLAN_MANAGER_OFF; @@ -645,6 +651,8 @@ int wlan_manager_power_on(void) __COMMON_FUNC_EXIT__; return WLAN_MANAGER_ERR_UNKNOWN; } + } else { + common_util_set_system_registry(VCONFKEY_WIFI_STATE, VCONFKEY_WIFI_UNCONNECTED); } __COMMON_FUNC_EXIT__; @@ -668,6 +676,8 @@ int wlan_manager_power_off(void) __COMMON_FUNC_EXIT__; return WLAN_MANAGER_ERR_UNKNOWN; } + } else { + common_util_set_system_registry(VCONFKEY_WIFI_STATE, VCONFKEY_WIFI_OFF); } __COMMON_FUNC_EXIT__; diff --git a/sources/ui-gadget/viewers-layout/viewer_manager.c b/sources/ui-gadget/viewers-layout/viewer_manager.c index 96e6834..1b59771 100755 --- a/sources/ui-gadget/viewers-layout/viewer_manager.c +++ b/sources/ui-gadget/viewers-layout/viewer_manager.c @@ -1144,6 +1144,19 @@ Evas_Object *viewer_manager_create(Evas_Object *_parent, Evas_Object *_win_main) else __viewer_manager_create_wifi_ug_content(view_content, _win_main); + if(_is_emulator()) { + int state = wlan_manager_state_get(); + if(state == WLAN_MANAGER_UNCONNECTED) { + viewer_manager_header_mode_set(HEADER_MODE_ON); + wifi_emulator_create_event_timer(WIFI_EMUL_EVENT_TIMER_ACTIVATE, + 1000, wlan_manager_emulator_power_on, NULL); + } else { + viewer_manager_header_mode_set(HEADER_MODE_OFF); + wifi_emulator_create_event_timer(WIFI_EMUL_EVENT_TIMER_DEACTIVATE, + 500, wlan_manager_emulator_power_off, NULL); + } + } + evas_object_show(layout); elm_object_focus_set(layout, EINA_TRUE);