*
* Copyright 2012 Samsung Electronics Co., Ltd
-* Licensed under the Flora License, Version 1.0 (the "License");
+* Licensed under the Flora License, Version 1.1 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
#include <dpm/restriction.h>
#include "mh_view_main.h"
+#include "mh_common_utility.h"
#include "mh_popup.h"
#include "mh_string.h"
+static void __ctx_move_more_ctxpopup(Evas_Object *ctx, mh_appdata_t *ad);
+static void __ctx_delete_more_ctxpopup_cb(void *data, Evas *e, Evas_Object *obj,
+ void *event_info);
+static void __create_ctxpopup_more_button(void *data, Evas_Object *obj,
+ void *event_info);
+
void _genlist_update_device_item(mh_appdata_t *ad);
mh_appdata_t *g_ad = NULL;
#define UPDATE_INTERVAL 1
-void _select_connected_dev(void *data, Evas_Object *obj, void *event_info)
+#ifdef TIZEN_FEATURE_EMULATOR
+static tethering_type_e updated_type = TETHERING_TYPE_ALL;
+static tethering_type_e selected_type = TETHERING_TYPE_ALL;
+static Eina_Bool selected_state = EINA_FALSE;
+
+tethering_type_e _get_updated_type(void)
+{
+ return updated_type;
+}
+
+tethering_type_e _get_selected_type(void)
+{
+ return selected_type;
+}
+
+Eina_Bool _get_selected_state(void)
+{
+ return selected_state;
+}
+#endif
+
+void _list_connected_dev(mh_appdata_t *ap)
{
__MOBILE_AP_FUNC_ENTER__;
- if (data == NULL) {
+ if (ap == NULL) {
ERR("data is NULL\n");
return;
}
- mh_appdata_t *ad = (mh_appdata_t *)data;
-
- elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
- _create_connected_client_view(ad);
+ _add_connected_clients(ap);
__MOBILE_AP_FUNC_EXIT__;
}
return ECORE_CALLBACK_CANCEL;
}
mh_appdata_t *ad = (mh_appdata_t *)data;
-
int count = 0;
+
+#ifdef TIZEN_FEATURE_EMULATOR
+ if (ad->main.hotspot_mode == VCONFKEY_MOBILE_HOTSPOT_MODE_NONE) {
+ _stop_update_device_conn_time(ad);
+ return ECORE_CALLBACK_CANCEL;
+ }
+
+ if (ad->main.hotspot_mode & VCONFKEY_MOBILE_HOTSPOT_MODE_WIFI) {
+ updated_type = TETHERING_TYPE_WIFI;
+ elm_genlist_item_fields_update(ad->main.emul_station_items[TETHERING_TYPE_WIFI],
+ "elm.text.sub", ELM_GENLIST_ITEM_FIELD_TEXT);
+ }
+
+ if (ad->main.hotspot_mode & VCONFKEY_MOBILE_HOTSPOT_MODE_BT) {
+ updated_type = TETHERING_TYPE_BT;
+ elm_genlist_item_fields_update(ad->main.emul_station_items[TETHERING_TYPE_BT],
+ "elm.text.sub", ELM_GENLIST_ITEM_FIELD_TEXT);
+ }
+
+ if (ad->main.hotspot_mode & VCONFKEY_MOBILE_HOTSPOT_MODE_USB) {
+ updated_type = TETHERING_TYPE_USB;
+ elm_genlist_item_fields_update(ad->main.emul_station_items[TETHERING_TYPE_USB],
+ "elm.text.sub", ELM_GENLIST_ITEM_FIELD_TEXT);
+ }
+
+ updated_type = TETHERING_TYPE_ALL;
+
+ return ECORE_CALLBACK_RENEW;
+#endif
+
if (ad->main.hotspot_mode == VCONFKEY_MOBILE_HOTSPOT_MODE_NONE) {
_stop_update_device_conn_time(ad);
__MOBILE_AP_FUNC_EXIT__;
return ECORE_CALLBACK_CANCEL;
}
- while (count < ad->connected_device.no_of_clients) {
- if (ad->connected_device.station_items[count])
- elm_genlist_item_fields_update(ad->connected_device.station_items[count++],
+ while (count < ad->main.no_of_clients) {
+ if (ad->main.station_items[count])
+ elm_genlist_item_fields_update(ad->main.station_items[count++],
"elm.text.sub", ELM_GENLIST_ITEM_FIELD_TEXT);
}
return ECORE_CALLBACK_RENEW;
no_of_dev = _get_list_clients_count(ad);
Elm_Object_Item *item = NULL;
- if (ad->main.device_item) {
- elm_object_item_del(ad->main.device_item);
- ad->main.device_item = NULL;
- if (no_of_dev == 0) {
- item = elm_genlist_item_append(ad->main.genlist,
- ad->main.device0_itc, ad, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ if (no_of_dev == 0) {
+ if (ad->main.device_item) {
+ elm_object_item_del(ad->main.device_item);
+ ad->main.device_item = NULL;
+ _update_conn_clients(ad);
+ }
+ } else {
+ if (ad->main.device_item) {
+ _update_conn_clients(ad);
} else {
item = elm_genlist_item_append(ad->main.genlist,
ad->main.device_itc, ad, NULL,
- ELM_GENLIST_ITEM_NONE, _select_connected_dev, (void *)ad);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DEFAULT);
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ ad->main.device_item = item;
+ _list_connected_dev(ad);
+ }
}
- ad->main.device_item = item;
- }
- if (ad->connected_device.navi_it)
- _update_conn_clients(ad);
__MOBILE_AP_FUNC_EXIT__;
return;
elm_object_item_disabled_set(ad->main.setup_item, EINA_FALSE);
if (ad->main.bt_item)
elm_object_item_disabled_set(ad->main.bt_item, EINA_FALSE);
- if (_get_vconf_usb_state() != VCONFKEY_SYSMAN_USB_AVAILABLE) {
+ if (_get_vconf_usb_state() == VCONFKEY_SYSMAN_USB_DISCONNECTED) {
if (ad->main.usb_item)
elm_object_item_disabled_set(ad->main.usb_item, EINA_TRUE);
} else {
no_of_dev = _get_list_clients_count(ad);
if (ad->main.device_item == NULL) {
- if (no_of_dev == 0) {
- item = elm_genlist_item_append(ad->main.genlist,
- ad->main.device0_itc, ad, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- } else {
+ if (no_of_dev != 0) {
item = elm_genlist_item_append(ad->main.genlist,
ad->main.device_itc, ad, NULL,
- ELM_GENLIST_ITEM_NONE, _select_connected_dev, (void *)ad);
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DEFAULT);
+ _list_connected_dev(ad);
+ _update_conn_clients(ad);
}
ad->main.device_item = item;
}
return;
}
+#ifdef TIZEN_FEATURE_EMULATOR
+void _update_emul_main_view(mh_appdata_t *ad, tethering_type_e type, Eina_Bool state)
+{
+ __MOBILE_AP_FUNC_ENTER__;
+
+ if (ad == NULL) {
+ ERR("Invalid param\n");
+ return;
+ }
+
+ Elm_Object_Item *item = NULL;
+
+ switch (type) {
+ case TETHERING_TYPE_WIFI:
+ /* Update Wi-Fi tethering on / off button */
+ _update_wifi_item(ad, MH_STATE_NONE);
+ if (state) {
+ ad->main.hotspot_mode |= VCONFKEY_MOBILE_HOTSPOT_MODE_WIFI;
+ if (ad->main.help_item) {
+ elm_genlist_item_update(ad->main.help_item);
+ } else {
+ item = elm_genlist_item_insert_after(ad->main.genlist,
+ ad->main.help_itc, ad, NULL,
+ ad->main.wifi_item,
+ ELM_GENLIST_ITEM_NONE, NULL,
+ NULL);
+ if (item == NULL) {
+ ERR("elm_genlist_item_insert_after NULL\n");
+ } else {
+ elm_genlist_item_select_mode_set(item,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ ad->main.help_item = item;
+ }
+ }
+ } else {
+ ad->main.hotspot_mode ^= VCONFKEY_MOBILE_HOTSPOT_MODE_WIFI;
+ if (ad->main.help_item) {
+ elm_object_item_del(ad->main.help_item);
+ ad->main.help_item = NULL;
+ }
+ }
+
+ if (ad->main.wifi_item)
+ elm_genlist_item_update(ad->main.wifi_item);
+ break;
+
+ case TETHERING_TYPE_BT:
+ /* Update BT tethering on / off button */
+ _update_bt_item(ad, MH_STATE_NONE);
+ if (state)
+ ad->main.hotspot_mode |= VCONFKEY_MOBILE_HOTSPOT_MODE_BT;
+ else
+ ad->main.hotspot_mode ^= VCONFKEY_MOBILE_HOTSPOT_MODE_BT;
+
+ if (ad->main.bt_item)
+ elm_genlist_item_update(ad->main.bt_item);
+ break;
+
+ case TETHERING_TYPE_USB:
+ /* Update USB tethering on / off button */
+ _update_usb_item(ad, MH_STATE_NONE);
+ if (state)
+ ad->main.hotspot_mode |= VCONFKEY_MOBILE_HOTSPOT_MODE_USB;
+ else
+ ad->main.hotspot_mode ^= VCONFKEY_MOBILE_HOTSPOT_MODE_USB;
+
+ if (ad->main.usb_item)
+ elm_genlist_item_update(ad->main.usb_item);
+ break;
+
+ default:
+ DBG("Unknown tethering type : %d\n", type);
+ break;
+ }
+
+ if (ad->main.hotspot_mode && ad->main.device_item == NULL) {
+ item = elm_genlist_item_append(ad->main.genlist,
+ ad->main.device_itc, ad, NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DEFAULT);
+ ad->main.device_item = item;
+ } else if (ad->main.hotspot_mode == 0 && ad->main.device_item) {
+ elm_object_item_del(ad->main.device_item);
+ ad->main.device_item = NULL;
+ }
+
+ __update_emul_clients_genlist(ad);
+
+ __MOBILE_AP_FUNC_EXIT__;
+ return;
+}
+#endif
+
static int __is_allowed(tethering_type_e type)
{
int state = 0;
return 0;
}
- switch(type) {
- case TETHERING_TYPE_WIFI:
- dpm_restriction_get_wifi_hotspot_state(dpm, &state);
- break;
- case TETHERING_TYPE_USB:
- dpm_restriction_get_usb_tethering_state(dpm, &state);
- break;
- case TETHERING_TYPE_BT:
- dpm_restriction_get_bluetooth_tethering_state(dpm, &state);
- break;
- default:
- break;
+ switch (type) {
+ case TETHERING_TYPE_WIFI:
+ dpm_restriction_get_wifi_hotspot_state(dpm, &state);
+ break;
+ case TETHERING_TYPE_USB:
+ dpm_restriction_get_usb_tethering_state(dpm, &state);
+ break;
+ case TETHERING_TYPE_BT:
+ dpm_restriction_get_bluetooth_tethering_state(dpm, &state);
+ break;
+ default:
+ break;
}
dpm_manager_destroy(dpm);
_update_wifi_item(ad, MH_STATE_PROCESS);
ad->type = TETHERING_TYPE_WIFI;
ad->is_wifi_teth_enabling = true;
+
+#ifdef TIZEN_FEATURE_EMULATOR
+ selected_type = TETHERING_TYPE_WIFI;
+ selected_state = (ad->main.hotspot_mode & VCONFKEY_MOBILE_HOTSPOT_MODE_WIFI) ? EINA_FALSE : EINA_TRUE;
+ DBG("type [%d] state[%d]", selected_type, selected_state);
+#endif
+
if (_handle_wifi_onoff_change(ad) != 0) {
ERR("_handle_wifi_onoff_change is failed\n");
_update_wifi_item(ad, MH_STATE_NONE);
ad->is_wifi_teth_enabling = false;
}
+#ifdef TIZEN_FEATURE_EMULATOR
+ if (_get_checkbox_status(selected_type) || !selected_state)
+ _update_emul_main_view(ad, selected_type, selected_state);
+#endif
+
__MOBILE_AP_FUNC_EXIT__;
return;
{
__MOBILE_AP_FUNC_ENTER__;
+ Evas_Object *content;
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+
if (data == NULL) {
ERR("The param is NULL\n");
return;
}
- mh_appdata_t *ad = (mh_appdata_t *)data;
- elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
- mh_draw_wifi_setup_view(ad);
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ content = elm_object_item_part_content_get(item, "elm.icon");
+ __wifi_onoff_changed_cb(data, content, NULL);
__MOBILE_AP_FUNC_EXIT__;
ad->type = TETHERING_TYPE_BT;
ad->is_bt_teth_enabling = true;
+#ifdef TIZEN_FEATURE_EMULATOR
+ selected_type = TETHERING_TYPE_BT;
+ selected_state = (ad->main.hotspot_mode & VCONFKEY_MOBILE_HOTSPOT_MODE_BT) ? EINA_FALSE : EINA_TRUE;
+ DBG("type [%d] state[%d]", selected_type, selected_state);
+#endif
+
if (_handle_bt_onoff_change(ad) != 0) {
ERR("_handle_bt_onoff_change is failed\n");
_update_bt_item(ad, MH_STATE_NONE);
ad->is_bt_teth_enabling = false;
}
+#ifdef TIZEN_FEATURE_EMULATOR
+ if (_get_checkbox_status(selected_type) || !selected_state)
+ _update_emul_main_view(ad, selected_type, selected_state);
+#endif
+
__MOBILE_AP_FUNC_EXIT__;
return;
_update_usb_item(ad, MH_STATE_PROCESS);
ad->type = TETHERING_TYPE_USB;
ad->is_usb_teth_enabling = true;
+
+#ifdef TIZEN_FEATURE_EMULATOR
+ selected_type = TETHERING_TYPE_USB;
+ selected_state = (ad->main.hotspot_mode & VCONFKEY_MOBILE_HOTSPOT_MODE_USB) ? EINA_FALSE : EINA_TRUE;
+#endif
+
if (_handle_usb_onoff_change(ad) != 0) {
ERR("_handle_usb_onoff_change is failed\n");
_update_usb_item(ad, MH_STATE_NONE);
ad->is_usb_teth_enabling = false;
}
+#ifdef TIZEN_FEATURE_EMULATOR
+ if (_get_checkbox_status(selected_type) || !selected_state)
+ _update_emul_main_view(ad, selected_type, selected_state);
+#endif
+
__MOBILE_AP_FUNC_EXIT__;
return;
static char *__get_wifi_label(void *data, Evas_Object *obj, const char *part)
{
if (!strcmp("elm.text", part))
- return strdup(STR_WIFI_TETH);
+ return strdup(STR_MOBILE_HOTSPOT);
return NULL;
}
{
mh_appdata_t *ad = (mh_appdata_t *)data;
char buf[MH_LABEL_LENGTH_MAX] = {0, };
- char device_name[MH_LABEL_LENGTH_MAX] = {0, };
- char passphrase[MH_LABEL_LENGTH_MAX] = {0, };
- char security_type[MH_LABEL_LENGTH_MAX] = {0, };
+ char device_name[DEVICE_NAME_LENGTH_MAX] = {0, };
+ char passphrase[WIFI_PASSPHRASE_LENGTH_MAX] = {0, };
+ char security_type[SECURITY_TYPE_LENGTH_MAX] = {0, };
char *fmt = STR_SECURITY_TYPE_PS;
char *hidden = "";
char *ptr = NULL;
wifi_state = ad->main.hotspot_mode & VCONFKEY_MOBILE_HOTSPOT_MODE_WIFI;
if (wifi_state && ad->setup.visibility == false)
- hidden = STR_WIFI_TETH_HIDDEN;
+ hidden = STR_MOBILE_HOTSPOT_IS_HIDDEN;
if (wifi_state && ad->setup.security_type != TETHERING_WIFI_SECURITY_TYPE_NONE) {
snprintf(buf, MH_LABEL_LENGTH_MAX,
STR_PASSWORD,
passphrase,
security_type,
- STR_PASSWORD_FOR_WIFI_TETH,
- hidden[0] != '\0' ? "<br>" : "",
+ STR_ENTER_THE_PASSWORD_ON_THE_OTHER_DEVICE,
+ hidden && hidden[0] != '\0' ? "<br>" : "",
hidden);
} else {
snprintf(buf, MH_LABEL_LENGTH_MAX,
"</font_size>",
STR_DEV_NAME,
device_name,
- hidden[0] != '\0' ? "<br>" : "",
+ hidden && hidden[0] != '\0' ? "<br>" : "",
hidden);
}
return NULL;
}
-static char *__get_no_connected_device_label(void *data, Evas_Object *obj,
+static char *__get_device_label(void *data, Evas_Object *obj,
const char *part)
{
- mh_appdata_t *ad = (mh_appdata_t*)data;
char buf[MH_LABEL_LENGTH_MAX] = {0, };
- int no_of_dev;
if (data == NULL) {
ERR("The param is NULL\n");
return NULL;
}
- if (!strcmp("elm.text.multiline", part)) {
- no_of_dev = _get_list_clients_count(ad);
- snprintf(buf, MH_LABEL_LENGTH_MAX, "<font_size=30>%s<br>%d</font_size>", STR_CONNECTED_DEV, no_of_dev);
- return strdup(buf);
- }
-
- return NULL;
-}
-
-static char *__get_connected_device_label(void *data, Evas_Object *obj,
- const char *part)
-{
- mh_appdata_t *ad = (mh_appdata_t*)data;
- char buf[MH_LABEL_LENGTH_MAX] = {0, };
- int no_of_dev;
-
- if (data == NULL) {
- ERR("The param is NULL\n");
- return NULL;
- }
-
- if (!strcmp("elm.text.sub", part)) {
- g_strlcpy(buf, STR_CONNECTED_DEV, sizeof(buf));
- return strdup(buf);
- } else if (!strcmp("elm.text", part)) {
- no_of_dev = _get_list_clients_count(ad);
- snprintf(buf, MH_LABEL_LENGTH_MAX, "%d", no_of_dev);
+ if (!strcmp("elm.text", part)) {
+ snprintf(buf, MH_LABEL_LENGTH_MAX, "<font_size=30>%s</font_size>", STR_CONNECTED_DEV);
return strdup(buf);
}
/* End of Off view's item class for genlist */
- /* On view's item class for genlist */
- ad->main.device0_itc = elm_genlist_item_class_new();
- if (ad->main.device0_itc == NULL) {
- ERR("elm_genlist_item_class_new failed\n");
- return;
- }
-
- ad->main.device0_itc->item_style = MH_GENLIST_MULTILINE_TEXT_STYLE;
- ad->main.device0_itc->func.text_get = __get_no_connected_device_label;
- ad->main.device0_itc->func.content_get = NULL;
- ad->main.device0_itc->func.state_get = NULL;
- ad->main.device0_itc->func.del = NULL;
ad->main.device_itc = elm_genlist_item_class_new();
if (ad->main.device_itc == NULL) {
return;
}
- ad->main.device_itc->item_style = MH_GENLIST_2LINE_BOTTOM_TEXT_STYLE;
- ad->main.device_itc->func.text_get = __get_connected_device_label;
+ ad->main.device_itc->item_style = MH_GENLIST_GROUP_INDEX_STYLE;
+ ad->main.device_itc->func.text_get = __get_device_label;
ad->main.device_itc->func.content_get = NULL;
ad->main.device_itc->func.state_get = NULL;
ad->main.device_itc->func.del = NULL;
ad, NULL, ELM_GENLIST_ITEM_NONE,
__select_usb_item, ad);
ad->main.usb_item = item;
- if (_get_vconf_usb_state() != VCONFKEY_SYSMAN_USB_AVAILABLE) {
+ if (_get_vconf_usb_state() == VCONFKEY_SYSMAN_USB_DISCONNECTED) {
if (ad->main.usb_item)
elm_object_item_disabled_set(ad->main.usb_item, EINA_TRUE);
} else {
_connected_clients_cb, (void *)ad);
no_of_dev = _get_list_clients_count(ad);
- if (no_of_dev == 0) {
+ if (no_of_dev != 0) {
item = elm_genlist_item_append(ad->main.genlist,
- ad->main.device0_itc, ad, NULL,
+ ad->main.device_itc, ad, NULL,
ELM_GENLIST_ITEM_NONE, NULL, NULL);
elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- } else {
- item = elm_genlist_item_append(ad->main.genlist,
- ad->main.device_itc, ad, NULL,
- ELM_GENLIST_ITEM_NONE, _select_connected_dev, (void *)ad);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DEFAULT);
+ _list_connected_dev(ad);
+ _update_conn_clients(ad);
}
ad->main.device_item = item;
}
__MOBILE_AP_FUNC_EXIT__;
}
+void _ctxpopup_more_button_callback_add(mh_appdata_t *ad)
+{
+ eext_object_event_callback_add(ad->naviframe, EEXT_CALLBACK_MORE,
+ __create_ctxpopup_more_button, ad);
+}
+
+void _ctxpopup_more_button_callback_del(mh_appdata_t *ad)
+{
+ eext_object_event_callback_del(ad->naviframe, EEXT_CALLBACK_MORE,
+ __create_ctxpopup_more_button);
+}
+
+static void __ctx_move_more_ctxpopup(Evas_Object *ctx, mh_appdata_t *ad)
+{
+ Evas_Coord w;
+ Evas_Coord h;
+ int pos = -1;
+ __MOBILE_AP_FUNC_ENTER__;
+
+ elm_win_screen_size_get(ad->win, NULL, NULL, &w, &h);
+ pos = elm_win_rotation_get(ad->win);
+
+ switch (pos) {
+ case 0:
+ case 180:
+ evas_object_move(ctx, w/2, h);
+ break;
+ case 90:
+ evas_object_move(ctx, h/2, w);
+ break;
+ case 270:
+ evas_object_move(ctx, h/2, w);
+ break;
+ }
+ __MOBILE_AP_FUNC_EXIT__;
+}
+
+static void __rotate_more_ctxpopup_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ __MOBILE_AP_FUNC_ENTER__;
+
+ mh_appdata_t *ad = (mh_appdata_t *)data;
+ Evas_Object *ctx = ad->ctxpopup;
+
+ __ctx_move_more_ctxpopup(ctx, ad);
+ evas_object_show(ctx);
+
+ __MOBILE_AP_FUNC_EXIT__;
+}
+
+static void __dismissed_more_ctxpopup_cb(void *data, Evas_Object *obj, void *event)
+{
+ __MOBILE_AP_FUNC_ENTER__;
+
+ mh_appdata_t *ad = (mh_appdata_t *)data;
+ Evas_Object *ctx = ad->ctxpopup;
+ evas_object_del(ctx);
+ ctx = NULL;
+
+ __MOBILE_AP_FUNC_EXIT__;
+}
+
+static void __ctx_delete_more_ctxpopup_cb(void *data, Evas *e, Evas_Object *obj,
+ void *event_info)
+{
+ Evas_Object *navi = (Evas_Object *)data;
+ Evas_Object *ctx = obj;
+
+ if (navi == NULL) {
+ ERR("data is null\n");
+ return;
+ }
+ __MOBILE_AP_FUNC_ENTER__;
+
+ evas_object_smart_callback_del(ctx, "dismissed",
+ __dismissed_more_ctxpopup_cb);
+ evas_object_smart_callback_del(elm_object_top_widget_get(ctx),
+ "rotation,changed", __rotate_more_ctxpopup_cb);
+ evas_object_event_callback_del_full(ctx, EVAS_CALLBACK_DEL,
+ __ctx_delete_more_ctxpopup_cb, navi);
+ __MOBILE_AP_FUNC_EXIT__;
+}
+
+static void __gl_configure_wifi_tethering(void *data, Evas_Object *obj, void *event_info)
+{
+ __MOBILE_AP_FUNC_ENTER__;
+
+ if (data == NULL) {
+ ERR("The param is NULL\n");
+ return;
+ }
+ mh_appdata_t *ad = (mh_appdata_t *)data;
+
+ evas_object_del(ad->ctxpopup);
+ ad->ctxpopup = NULL;
+
+ elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+ _ctxpopup_more_button_callback_del(ad);
+ mh_draw_wifi_setup_view(ad);
+
+ __MOBILE_AP_FUNC_EXIT__;
+
+ return;
+}
+
+static void __create_ctxpopup_more_button(void *data, Evas_Object *obj,
+ void *event_info)
+{
+ mh_appdata_t *ad = (mh_appdata_t *)data;
+ Evas_Object *ctxpopup = NULL;
+
+ if (ad == NULL) {
+ ERR("ad is null\n");
+ return;
+ }
+ __MOBILE_AP_FUNC_ENTER__;
+
+ ctxpopup = elm_ctxpopup_add(ad->win);
+ elm_ctxpopup_auto_hide_disabled_set(ctxpopup, EINA_TRUE);
+
+ eext_object_event_callback_add(ctxpopup, EEXT_CALLBACK_BACK,
+ eext_ctxpopup_back_cb, ad);
+ eext_object_event_callback_add(ctxpopup, EEXT_CALLBACK_MORE,
+ eext_ctxpopup_back_cb, ad);
+ elm_object_style_set(ctxpopup, "more/default");
+ evas_object_smart_callback_add(ctxpopup, "dismissed",
+ __dismissed_more_ctxpopup_cb, ad);
+ evas_object_smart_callback_add(elm_object_top_widget_get(ctxpopup), "rotation,changed",
+ __rotate_more_ctxpopup_cb, ad);
+ evas_object_event_callback_add(ctxpopup, EVAS_CALLBACK_DEL,
+ __ctx_delete_more_ctxpopup_cb, ad->naviframe);
+
+ elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_UP,
+ ELM_CTXPOPUP_DIRECTION_DOWN,
+ ELM_CTXPOPUP_DIRECTION_UNKNOWN,
+ ELM_CTXPOPUP_DIRECTION_UNKNOWN);
+
+ __ctx_move_more_ctxpopup(ctxpopup, ad);
+ elm_ctxpopup_item_append(ctxpopup, STR_CONFIGURE_MOBILE_HOTSPOT,
+ NULL, __gl_configure_wifi_tethering, ad);
+
+ evas_object_show(ctxpopup);
+
+ ad->ctxpopup = ctxpopup;
+
+ __MOBILE_AP_FUNC_EXIT__;
+}
+
+
void _main_draw_contents(mh_appdata_t *ad)
{
INFO("+\n");
eext_object_event_callback_add(ad->naviframe, EEXT_CALLBACK_BACK,
eext_naviframe_back_cb, NULL);
-
+ _ctxpopup_more_button_callback_add(ad);
evas_object_smart_callback_add(ad->main.back_btn, "clicked", (Evas_Smart_Cb)__back_btn_cb, (void *)ad);
elm_object_focus_allow_set(ad->main.back_btn, EINA_FALSE);