X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmh_view_main.c;h=0892e084c797b6de80593a5f420ba817e1e08f80;hb=2bd6bb1cdd1a0564ac5f152315e690806b81fa3f;hp=fd7e6b8e42718fefee989f7ba0007f043c383bb7;hpb=48b3cfab3cc398b32fc57015506cf7017fc5af2b;p=apps%2Fnative%2Fug-mobile-ap.git diff --git a/src/mh_view_main.c b/src/mh_view_main.c index fd7e6b8..0892e08 100755 --- a/src/mh_view_main.c +++ b/src/mh_view_main.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "mh_view_main.h" #include "mh_popup.h" @@ -42,11 +43,11 @@ void _rotate_adjust_rename_popup(void) int change_ang = 0; change_ang = elm_win_rotation_get(g_ad->win); - if (change_ang == 0 || change_ang == 180) { + if (change_ang == 0 || change_ang == 180) _hadnle_rename_popup_rotation(EINA_TRUE); - } else { + else _hadnle_rename_popup_rotation(EINA_FALSE); - } + __MOBILE_AP_FUNC_EXIT__; } #endif @@ -105,9 +106,6 @@ Eina_Bool ap_update_data_packet_usage(mh_appdata_t *ad) ERR("Invalid param\n"); return EINA_FALSE; } - if (ad->main.usage_item == NULL) { - return EINA_TRUE; - } if (ad->main.usage_item) elm_genlist_item_update(ad->main.usage_item); @@ -129,9 +127,8 @@ Eina_Bool ap_get_data_statistics(void *data) } /* If previous data is not updated, new data is not required */ - if (ad->data_statistics.is_updated == false) { + if (ad->data_statistics.is_updated == false) return ECORE_CALLBACK_RENEW; - } /* Because previous data is updated, new data is required. It will be returned asynchronously. */ @@ -175,9 +172,9 @@ void _start_update_device_conn_time(mh_appdata_t *ad) return; } - if (ad->update_conn_time_handle) { + if (ad->update_conn_time_handle) _stop_update_device_conn_time(ad); - } + ad->update_conn_time_handle = ecore_timer_add(UPDATE_INTERVAL, ap_update_device_conn_time, (void *)ad); @@ -210,9 +207,8 @@ void _start_update_data_packet_usage(mh_appdata_t *ad) return; } - if (ad->update_statistics_handle) { + if (ad->update_statistics_handle) _stop_update_data_packet_usage(ad); - } ad->data_statistics.is_updated = false; tethering_get_data_usage(ad->handle, _data_usage_cb, (void *)ad); @@ -288,16 +284,16 @@ static void __read_setting(mh_appdata_t *ad) free(passphrase); ret = tethering_wifi_get_ssid_visibility(ad->handle, &visibility); - if (ret != TETHERING_ERROR_NONE) { + if (ret != TETHERING_ERROR_NONE) ERR("tethering_wifi_get_ssid_visibility is failed\n"); - } + ad->setup.visibility = visibility; ad->setup.visibility_new = visibility; ret = tethering_wifi_get_security_type(ad->handle, &type); - if (ret != TETHERING_ERROR_NONE) { + if (ret != TETHERING_ERROR_NONE) ERR("tethering_wifi_get_security_type is failed\n"); - } + ad->setup.security_type = type; ad->setup.security_type_new = type; @@ -308,9 +304,8 @@ void _update_wifi_item(mh_appdata_t *ad, int wifi_state) { __MOBILE_AP_FUNC_ENTER__; - if (ad->main.wifi_state == wifi_state) { + if (ad->main.wifi_state == wifi_state) return; - } if (ad->main.wifi_state == MH_STATE_PROCESS) { ad->main.wifi_state = MH_STATE_NONE; @@ -335,9 +330,8 @@ void _update_bt_item(mh_appdata_t *ad, int bt_state) { __MOBILE_AP_FUNC_ENTER__; - if (ad->main.bt_state == bt_state) { + if (ad->main.bt_state == bt_state) return; - } if (ad->main.bt_state == MH_STATE_PROCESS) { ad->main.bt_state = MH_STATE_NONE; @@ -359,9 +353,8 @@ void _update_usb_item(mh_appdata_t *ad, int usb_state) { __MOBILE_AP_FUNC_ENTER__; - if (ad->main.usb_state == usb_state) { + if (ad->main.usb_state == usb_state) return; - } if (ad->main.usb_state == MH_STATE_PROCESS) { ad->main.usb_state = MH_STATE_NONE; @@ -407,9 +400,8 @@ void _genlist_update_device_item(mh_appdata_t *ad) ad->main.device_item = item; } - if (ad->connected_device.navi_it) { + if (ad->connected_device.navi_it) _update_conn_clients(ad); - } __MOBILE_AP_FUNC_EXIT__; return; @@ -536,13 +528,11 @@ void _update_main_view(mh_appdata_t *ad, tethering_type_e type) _update_wifi_item(ad, MH_STATE_NONE); } else { obj = elm_object_item_part_content_get(ad->main.wifi_item, "elm.swallow.end"); - if (obj != NULL) { + if (obj != NULL) elm_check_state_set(obj, wifi_state); - } - if (ad->main.wifi_item) { + if (ad->main.wifi_item) elm_genlist_item_update(ad->main.wifi_item); - } } break; @@ -552,13 +542,11 @@ void _update_main_view(mh_appdata_t *ad, tethering_type_e type) _update_bt_item(ad, MH_STATE_NONE); } else { obj = elm_object_item_part_content_get(ad->main.bt_item, "elm.swallow.end"); - if (obj != NULL) { + if (obj != NULL) elm_check_state_set(obj, bt_state); - } - if (ad->main.bt_item) { + if (ad->main.bt_item) elm_genlist_item_update(ad->main.bt_item); - } } break; @@ -586,11 +574,57 @@ void _update_main_view(mh_appdata_t *ad, tethering_type_e type) return; } +static int __is_allowed(tethering_type_e type) +{ + int state = 0; + dpm_context_h context = NULL; + dpm_restriction_policy_h policy = NULL; + + context = dpm_context_create(); + if (context == NULL) { + ERR("Failed to create dpm context!!"); + 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; + } + + dpm_context_release_restriction_policy(context, policy); + dpm_context_destroy(context); + + return state; +} + static void __wifi_onoff_changed_cb(void *data, Evas_Object *obj, void *event_info) { __MOBILE_AP_FUNC_ENTER__; + if (!__is_allowed(TETHERING_TYPE_WIFI)) { + ERR("Wi-Fi tethering is restricted!!"); + elm_check_state_set(obj, EINA_FALSE); + _create_security_restriction_noti(TETHERING_TYPE_WIFI); + return; + } + if (data == NULL) { ERR("The param is NULL\n"); return; @@ -634,6 +668,13 @@ static void __bt_onoff_changed_cb(void *data, Evas_Object *obj, void *event_info { __MOBILE_AP_FUNC_ENTER__; + if (!__is_allowed(TETHERING_TYPE_BT)) { + ERR("BT tethering is restricted!!"); + elm_check_state_set(obj, EINA_FALSE); + _create_security_restriction_noti(TETHERING_TYPE_BT); + return; + } + if (data == NULL) { ERR("The param is NULL\n"); return; @@ -682,6 +723,13 @@ static void __usb_onoff_changed_cb(void *data, Evas_Object *obj, void *event_inf { __MOBILE_AP_FUNC_ENTER__; + if (!__is_allowed(TETHERING_TYPE_USB)) { + ERR("USB tethering is restricted!!"); + elm_check_state_set(obj, EINA_FALSE); + _create_security_restriction_noti(TETHERING_TYPE_USB); + return; + } + if (data == NULL) { ERR("The param is NULL\n"); return; @@ -746,9 +794,8 @@ static void __back_btn_cb(void *data, Elm_Object_Item *navi_item) static char *__get_wifi_label(void *data, Evas_Object *obj, const char *part) { - if (!strcmp("elm.text", part)) { + if (!strcmp("elm.text", part)) return strdup(STR_WIFI_TETH); - } return NULL; } @@ -787,9 +834,8 @@ static Evas_Object *__get_wifi_icon(void *data, Evas_Object *obj, static char *__get_bt_label(void *data, Evas_Object *obj, const char *part) { - if (!strcmp("elm.text", part)) { + if (!strcmp("elm.text", part)) return strdup(STR_BLUETOOTH_TETH); - } return NULL; } @@ -828,9 +874,8 @@ static Evas_Object *__get_bt_icon(void *data, Evas_Object *obj, const char *part static char *__get_usb_label(void *data, Evas_Object *obj, const char *part) { - if (!strcmp("elm.text", part)) { + if (!strcmp("elm.text", part)) return strdup(STR_USB_TETH); - } return NULL; } @@ -1402,16 +1447,16 @@ static void __ctx_move_more_ctxpopup(Evas_Object *ctx, mh_appdata_t *ad) 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; + 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__; } @@ -1497,9 +1542,8 @@ static void __create_ctxpopup_more_button(void *data, Evas_Object *obj, } __MOBILE_AP_FUNC_ENTER__; - if (ad->setup.navi_it == NULL) { + if (ad->setup.navi_it == NULL) return; - } elm_naviframe_item_pop_cb_set(ad->setup.navi_it, _setting_back_btn_cb, (void *)ad); ctxpopup = elm_ctxpopup_add(ad->naviframe);