#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);
+
+static Eina_Bool rotate_flag = EINA_FALSE;
+
void _genlist_update_device_item(mh_appdata_t *ad);
mh_appdata_t *g_ad = NULL;
#define UPDATE_INTERVAL 1
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 {
static int __is_allowed(tethering_type_e type)
{
int state = 0;
- dpm_context_h context = NULL;
- dpm_restriction_policy_h policy = NULL;
+ device_policy_manager_h dpm = NULL;
- context = dpm_context_create();
- if (context == NULL) {
- ERR("Failed to create dpm context!!");
+ dpm = dpm_manager_create();
+ if (dpm == NULL) {
+ ERR("Failed to create device policy manager!!");
return 0;
}
- policy = dpm_context_acquire_restriction_policy(context);
- if (policy == NULL) {
- ERR("Failed to create policy handle");
- dpm_context_destroy(context);
- return 0;
- }
-
- switch(type) {
- case TETHERING_TYPE_WIFI:
- dpm_restriction_get_wifi_hotspot_state(policy, &state);
- break;
- case TETHERING_TYPE_USB:
- dpm_restriction_get_usb_tethering_state(policy, &state);
- break;
- case TETHERING_TYPE_BT:
- dpm_restriction_get_bluetooth_tethering_state(policy, &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_context_release_restriction_policy(context, policy);
- dpm_context_destroy(context);
+ dpm_manager_destroy(dpm);
return state;
}
{
__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__;
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;
}
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,
+ STR_ENTER_THE_PASSWORD_ON_THE_OTHER_DEVICE,
hidden[0] != '\0' ? "<br>" : "",
hidden);
} else {
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 {
__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;
+
+ if (!rotate_flag) {
+ evas_object_del(ctx);
+ ctx = NULL;
+ } else {
+ __ctx_move_more_ctxpopup(ctx, ad);
+ evas_object_show(ctx);
+ rotate_flag = EINA_FALSE;
+ }
+ __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);