From 68243e22bf7ed968e6eedff236fa84a2d33fda42 Mon Sep 17 00:00:00 2001 From: Hyunjee Kim Date: Mon, 20 Jan 2014 16:07:30 +0900 Subject: [PATCH] Implement cancel connecting ap Change-Id: Ia6f5aa20b448305402a677f300ac416e7d8af7a3 Signed-off-by: Hyunjee Kim --- packaging/wifi-efl-ug.spec | 2 +- sources/ui-gadget/include/ug_wifi.h | 3 ++- sources/ui-gadget/include/viewer_manager.h | 3 ++- sources/ui-gadget/viewers-layout/wifi_viewer_list.c | 21 +++++++++------------ 4 files changed, 14 insertions(+), 15 deletions(-) diff --git a/packaging/wifi-efl-ug.spec b/packaging/wifi-efl-ug.spec index a010059..38072f5 100644 --- a/packaging/wifi-efl-ug.spec +++ b/packaging/wifi-efl-ug.spec @@ -1,6 +1,6 @@ Name: wifi-efl-ug Summary: Wi-Fi UI Gadget -Version: 0.5.2_47 +Version: 0.5.2_48 Release: 1 Group: App/Network License: Flora License diff --git a/sources/ui-gadget/include/ug_wifi.h b/sources/ui-gadget/include/ug_wifi.h index dc152fd..b41c48b 100644 --- a/sources/ui-gadget/include/ug_wifi.h +++ b/sources/ui-gadget/include/ug_wifi.h @@ -78,7 +78,8 @@ typedef struct { char *rbutton_setup_wizard_skip; popup_manager_object_t *popup_manager; eap_connect_data_t *eap_view; - bool is_disconnect; + + bool ap_connected; } wifi_appdata ; int wifi_exit(void); diff --git a/sources/ui-gadget/include/viewer_manager.h b/sources/ui-gadget/include/viewer_manager.h index 6b4f338..302f395 100644 --- a/sources/ui-gadget/include/viewer_manager.h +++ b/sources/ui-gadget/include/viewer_manager.h @@ -47,7 +47,8 @@ typedef enum { VIEWER_ITEM_RADIO_MODE_OFF = 0x01, VIEWER_ITEM_RADIO_MODE_CONNECTED, VIEWER_ITEM_RADIO_MODE_CONNECTING, - VIEWER_ITEM_RADIO_MODE_MAX + VIEWER_ITEM_RADIO_MODE_MAX, + VIEWER_ITEM_RADIO_MODE_DISCONNECTING } VIEWER_ITEM_RADIO_MODES; typedef enum { diff --git a/sources/ui-gadget/viewers-layout/wifi_viewer_list.c b/sources/ui-gadget/viewers-layout/wifi_viewer_list.c index b6eebd4..1eacc54 100644 --- a/sources/ui-gadget/viewers-layout/wifi_viewer_list.c +++ b/sources/ui-gadget/viewers-layout/wifi_viewer_list.c @@ -494,15 +494,12 @@ static void __viewer_list_item_clicked_cb(void *data, Evas_Object *obj, } break; - case VIEWER_ITEM_RADIO_MODE_CONNECTED: + case VIEWER_ITEM_RADIO_MODE_CONNECTING: ret = wlan_manager_disconnect(device_info->ap); if (ret != WLAN_MANAGER_ERR_NONE) - ERROR_LOG(UG_NAME_NORMAL, "Failed disconnect [0x%x]", device_info); - else - ug_app_state->is_disconnect = true; + ERROR_LOG(UG_NAME_NORMAL, "Failed connect cancel [0x%x]", device_info); break; - - case VIEWER_ITEM_RADIO_MODE_CONNECTING: + case VIEWER_ITEM_RADIO_MODE_CONNECTED: default: INFO_LOG(UG_NAME_NORMAL, "Ignore click"); break; @@ -518,10 +515,9 @@ static char *viewer_list_get_device_status_txt(wifi_device_info_t *wifi_device, char *status_txt = NULL; /* The strings are currently hard coded. It will be replaced with string ids later */ if (VIEWER_ITEM_RADIO_MODE_CONNECTING == mode) { - if (ug_app_state->is_disconnect) - status_txt = g_strdup(sc(PACKAGE, I18N_TYPE_Disconnecting)); - else - status_txt = g_strdup(sc(PACKAGE, I18N_TYPE_Connecting)); + status_txt = g_strdup(sc(PACKAGE, I18N_TYPE_Connecting)); + } else if (VIEWER_ITEM_RADIO_MODE_DISCONNECTING == mode) { + status_txt = g_strdup(sc(PACKAGE, I18N_TYPE_Disconnecting)); } else if (VIEWER_ITEM_RADIO_MODE_CONNECTED == mode) { status_txt = g_strdup(sc(PACKAGE, I18N_TYPE_Connected)); } else if (VIEWER_ITEM_RADIO_MODE_OFF == mode) { @@ -530,7 +526,6 @@ static char *viewer_list_get_device_status_txt(wifi_device_info_t *wifi_device, status_txt = g_strdup(sc(PACKAGE, I18N_TYPE_Unknown)); INFO_LOG(UG_NAME_NORMAL, "Invalid mode: %d", mode); } - ug_app_state->is_disconnect = false; return status_txt; } @@ -542,7 +537,6 @@ Evas_Object* viewer_list_create(Evas_Object *win) first_item = NULL; last_item = NULL; grouptitle = NULL; - ug_app_state->is_disconnect = false; assertm_if(NULL == win, "NULL!!"); viewer_list = elm_genlist_add(win); @@ -643,6 +637,9 @@ int viewer_list_item_radio_mode_set(Elm_Object_Item* item, return FALSE; } + if (gdata->radio_mode == VIEWER_ITEM_RADIO_MODE_CONNECTED) + mode = VIEWER_ITEM_RADIO_MODE_DISCONNECTING; + if (gdata->radio_mode == mode) { INFO_LOG(UG_NAME_NORMAL, "[%s] is already in requested state", gdata->device_info->ssid); return FALSE; -- 2.7.4