#include <time.h>
#include <limits.h>
#include <efl_extension.h>
+#include <dpm/restriction.h>
#include "mh_view_main.h"
#include "mh_popup.h"
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
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);
}
/* 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. */
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);
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);
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;
{
__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;
{
__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;
{
__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;
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;
_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;
_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;
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;
{
__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;
{
__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;
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;
}
{
mh_appdata_t *ad = (mh_appdata_t*)data;
Evas_Object *btn = NULL;
- Evas_Object *icon_layout = NULL;
if (data == NULL) {
ERR("The param is NULL\n");
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;
}
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;
}
char device_name[MH_LABEL_LENGTH_MAX] = {0, };
char passphrase[MH_LABEL_LENGTH_MAX] = {0, };
char security_type[MH_LABEL_LENGTH_MAX] = {0, };
+ char *fmt = STR_SECURITY_TYPE_PS;
char *hidden = "";
char *ptr = NULL;
char *device_name_utf = NULL;
g_free(ptr);
snprintf(security_type, sizeof(security_type),
- STR_SECURITY_TYPE_PS, "WPA2 PSK");
+ fmt, "WPA2 PSK");
}
wifi_state = ad->main.hotspot_mode & VCONFKEY_MOBILE_HOTSPOT_MODE_WIFI;
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__;
}
}
__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);