*
*/
#include <setting.h>
+#include <app.h>
+
#include <appcore-common.h>
-#include <heynoti.h>
#include <Ecore_X.h>
#include <sensor.h>
#include <aul.h>
#include "setting-main.h"
#include <elm_object.h>
#include <appsvc.h>
+#include <EWebKit2.h>
+#include <nfc.h>
+#include <signal.h>
extern void setting_update_gl_item(void* data);
#define KEY_END "XF86Stop"
+#define SUPPORT_UG_MESSAGE
int g_geometry_x, g_geometry_y, g_geometry_w, g_geometry_h;
-extern int aul_listen_app_dead_signal(int (*func)(int signal, void *data), void *data);
+
+void termination_handler(int signum)
+{
+ SETTING_TRACE_BEGIN;
+ SETTING_TRACE(">>>>>>>>>>> SIGTERM >>>>>>>>>>>>>>> SETTING");
+
+ elm_exit();
+}
static void __main_motion_sensor_cb( unsigned long long timestamp, void *data)
{
/* The code 'return ;' will be deleted after the defect of elm_genlist_item_top_show() is fixed */
setting_retm_if(NULL == data, "NULL == data");
- SETTING_TRACE_BEGIN;
setting_main_appdata *ad = (setting_main_appdata *) data;
SETTING_TRACE(">>>>>>>Double tap event detected");
//SETTING_TRACE("content:%p", content);
const char *type = elm_object_widget_type_get(content);
- SETTING_TRACE("content type:%s", type);
+ //SETTING_TRACE("content type:%s", type);
if (0 == safeStrCmp(type, "genlist")) {
genlist = content;
- //} else if (0 == safeStrCmp(type, "layout") || 0 == safeStrCmp(type, "conformant")) {
} else if (NULL != type) {//type="layout","conformant" etc..
//layout
//genlist = elm_object_part_content_get(content, "elm.swallow.contents");
type = elm_object_widget_type_get(subobj);
if (0 == safeStrCmp(type, "genlist")) {
genlist = subobj;
- SETTING_TRACE("Get the genlist:%p", genlist);
Elm_Object_Item *first_item = elm_genlist_first_item_get(genlist);
if (first_item) {
elm_genlist_item_show(first_item, ELM_GENLIST_ITEM_SCROLLTO_TOP);
} else {
//keep genlist to be NULL.
}
- SETTING_TRACE("genlist(:%p) type:%s", genlist, elm_object_widget_type_get(genlist));
if (genlist && 0 == safeStrCmp(elm_object_widget_type_get(genlist), "genlist")) {
SETTING_TRACE("Get the genlist:%p", genlist);
Elm_Object_Item *first_item = elm_genlist_first_item_get(genlist);
Evas_Object *content = elm_object_content_get(popup);
const char *type = elm_widget_type_get(content);
if (type && !safeStrCmp(type, "progressbar")) {
- SETTING_TRACE_DEBUG
- ("Found popup[%p], but it respresent a progress bar, so skip it.",
- popup);
+ SETTING_TRACE_DEBUG ("Found popup[%p], but it respresent a progress bar, so skip it.", popup);
} else {
- evas_object_smart_callback_call(popup,
- "timeout",
- NULL);
-
- /* error handling */
- /*Evas_Object *popup2 = get_toppest_popup_window(ad->evas);
- if (popup == popup2)
- {
- SETTING_TRACE_ERROR("error handling");
- evas_object_del(popup);
- } */
+ evas_object_smart_callback_call(popup, "timeout", NULL);
}
}
return;
}
}
}
-#else /* FOR MWC DEMO 2010.02.07 */
+#else
if (ev && !safeStrCmp(ev->keyname, KEY_END)) {
/* do nothing except exit */
SETTING_TRACE("before --- elm_exit ");
/**
* The event process when battery becomes low.
*/
-static int setting_main_low_battery_cb(void *data)
+static void setting_main_low_battery_cb(void *data)
{
SETTING_TRACE_BEGIN;
setting_main_appdata *ad = data;
if (ad->ug)
ug_send_event(UG_EVENT_LOW_BATTERY);
-
- return 0;
}
#endif
/**
* To active rotation effect in Setting App
*/
-static int setting_main_rotate(enum appcore_rm m, void *data)
+static void setting_main_rotate(app_device_orientation_e m, void *data)
{
SETTING_TRACE_BEGIN;
setting_main_appdata *ad = data;
- int r;
if (ad == NULL || ad->win_main == NULL)
- return 0;
+ return;
+
+#if 0
+ int value = 0;
+ vconf_get_bool
+ (VCONFKEY_SETAPPL_ROTATE_LOCK_BOOL, &value);
+ // true : aoto rotation OFF
+ // false : auto rotation ON
+ value = !value;
+#else
+ //int hold_flag = 0;
+ //vconf_get_bool (VCONFKEY_SETAPPL_ROTATE_HOLD_BOOL, &hold_flag);
+ //SETTING_TRACE("hold_flag:%d", hold_flag);
+ //if (hold_flag)
+ //{
+ //do nothing..
+ // return;
+ //}
+
+ int value = 0;
+ vconf_get_bool (VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL, &value);
+
+ if (value == 0)
+ m = 0;
+ elm_win_rotation_with_resize_set(ad->win_main, m);
+
+ /////Send the rotation event to UGs..
+ enum ug_event event = UG_EVENT_ROTATE_PORTRAIT;
switch (m) {
- case APPCORE_RM_PORTRAIT_NORMAL:
- r = 0;
+ case APP_DEVICE_ORIENTATION_0:
+ event = UG_EVENT_ROTATE_PORTRAIT;
break;
- case APPCORE_RM_PORTRAIT_REVERSE:
- r = 180;
+ case APP_DEVICE_ORIENTATION_180:
+ event = UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN;
break;
- case APPCORE_RM_LANDSCAPE_NORMAL:
- r = 270;
+ case APP_DEVICE_ORIENTATION_90:
+ event = UG_EVENT_ROTATE_LANDSCAPE;
break;
- case APPCORE_RM_LANDSCAPE_REVERSE:
- r = 90;
+ case APP_DEVICE_ORIENTATION_270:
+ event = UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN;
break;
default:
- r = -1;
- break;
+ return;
}
+ ug_send_event(event);
+ //elm_win_rotation_get
+#endif
- if (r >= 0)
- elm_win_rotation_with_resize_set(ad->win_main, r);
-
- return 0;
}
#endif
/**
* The event process when region is changes.
*/
-static int setting_main_region_changed_cb(void *data)
+static void setting_main_region_changed_cb(void *data)
{
setting_main_appdata *ad = data;
if (ad->ug)
ug_send_event(UG_EVENT_REGION_CHANGE);
-
- return 0;
}
/**
elm_exit();
}
+void profile_changed_cb(void *data, Evas_Object * obj, void *event)
+{
+ const char *profile = elm_config_profile_get();
+
+ if (strcmp(profile, "desktop") == 0)
+ elm_win_indicator_mode_set (obj, ELM_WIN_INDICATOR_HIDE);
+ else
+ elm_win_indicator_mode_set (obj, ELM_WIN_INDICATOR_SHOW);
+}
+
/**
* To create a win object, the win is shared between the App and all its UGs
*/
Evas_Object *eo;
int w, h;
- eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
+ //eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
+ eo = elm_win_util_standard_add(name, name);
if (eo) {
elm_win_title_set(eo, name);
- elm_win_borderless_set(eo, EINA_TRUE);
- evas_object_smart_callback_add(eo, "delete,request",
- setting_main_del_win, NULL);
+ evas_object_smart_callback_add(eo, "delete,request", setting_main_del_win, NULL);
+ evas_object_smart_callback_add(eo, "profile,changed", profile_changed_cb, NULL);
+ //elm_win_conformant_set(eo, EINA_TRUE);
ecore_x_window_size_get(ecore_x_window_root_first_get(),
&w, &h);
evas_object_resize(eo, w, h);
/**
* exceptional process, reset the env vars by Setting vconf VCONFKEY_LANGSET
*/
-static int setting_main_lang_changed_cb(void *data)
+static void setting_main_lang_changed_cb(void *data)
{
SETTING_TRACE_BEGIN;
setting_main_appdata *ad = data;
if ( ! str) str = g_strdup("err");
ad->data_nfc->sub_desc = str;
}
- if (ad->data_mobileApp) {
- str = (char *)g_strdup(get_Mobile_AP_on_off_str());
- if ( ! str) str = g_strdup("err");
- ad->data_mobileApp->sub_desc = str;
- }
if (ad->data_bright) {
str = (char*)g_strdup(get_brightness_mode_str());
if ( ! str) str = g_strdup("err");
#if SUPPORT_BOTTOM_BTNS
elm_object_item_text_set(ad->edit_item, _(EDIT_PREFERRED_STR));
#else
- //elm_object_text_set(ad->edit_item, _(EDIT_PREFERRED_STR));
Evas_Object *eo_btn = elm_object_item_part_content_get(ad->edit_item, "object");
setting_retm_if(eo_btn == NULL, "get eo_lbtn failed");
elm_object_text_set(eo_btn, _(EDIT_PREFERRED_STR));
#endif
}
- if (ad->segment_all) elm_object_item_text_set(ad->segment_all, _(ALL_STR));
- if (ad->segment_preferred) elm_object_item_text_set(ad->segment_preferred,
- _(PREFERRED_STR));
+ if (ad->segment_all)
+ elm_object_item_text_set(ad->segment_all, _(ALL_STR));
+ if (ad->segment_preferred)
+ elm_object_item_text_set(ad->segment_preferred, _(PREFERRED_STR));
- Elm_Object_Item *item = NULL;
- item = elm_toolbar_first_item_get(ad->controlbar);
- setting_retvm_if(!item, SETTING_RETURN_FAIL, "get toolbar first item failed");
+ // set toolbar text
char tmp_text[MAX_DISPLAY_NAME_LEN_ON_UI + 1] = {0,};
if (MAIN_PROFILE_ALL == ad->profile_type) {
snprintf(tmp_text, MAX_DISPLAY_NAME_LEN_ON_UI, "%s", _(PREFERRED_STR));
} else {
/* do nothing */
}
- elm_object_item_text_set(item, tmp_text);
+ Evas_Object *btn = elm_object_item_part_content_get(navi_it, "toolbar_button1");
+ elm_object_text_set(btn, tmp_text);
+
if (ad->ug)
ug_send_event(UG_EVENT_LANG_CHANGE);
-
- return SETTING_RETURN_SUCCESS;
}
/**
if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_WIDGET_THEME_STR)) {
return;
- } else if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_FLIGHT_MODE_BOOL)) {
+ } else if (!safeStrCmp(vconf_name, VCONFKEY_TELEPHONY_FLIGHT_MODE)) {
item_to_update = ad->data_flight;
retm_if(!item_to_update, "ad->data_flight is NULL");
int status = 0;
- vconf_get_bool(VCONFKEY_SETAPPL_FLIGHT_MODE_BOOL, &status);
+ vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &status);
item_to_update->chk_status = status;
- if (ad->bAppPause || ad->ug) {
- ad->updateItems[GL_ITEM_FLIGHT] = EINA_TRUE;
- } else { // app is not in pause without ug
- elm_check_state_set(item_to_update->eo_check, status);
+ //do not need delay for checks
+ elm_check_state_set(item_to_update->eo_check, item_to_update->chk_status);
+
+ //Flight mode is ON : Network menu dimmed
+ if (ad->data_network)
+ {
+ if (status)
+ {
+ setting_disable_genlist_item(ad->data_network->item);
+ }
+ else
+ {
+ setting_enable_genlist_item(ad->data_network->item);
+ }
}
return;
- } else if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_ROTATE_LOCK_BOOL)) {
+ } else if (!safeStrCmp(vconf_name, VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL)) {
item_to_update = ad->data_rotationMode;
retm_if(!item_to_update, "ad->data_rotationMode is NULL");
int status = 0;
- vconf_get_bool(VCONFKEY_SETAPPL_ROTATE_LOCK_BOOL, &status);
+ vconf_get_bool(VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL, &status);
- item_to_update->chk_status = !status;
-
- if (ad->bAppPause || ad->ug) {
- ad->updateItems[GL_ITEM_ROTATION] = EINA_TRUE;
- } else { // app is not in pause without ug
- elm_check_state_set(item_to_update->eo_check, item_to_update->chk_status);
+ item_to_update->chk_status = status;
+ //do not need delay for checks
+ elm_check_state_set(item_to_update->eo_check, item_to_update->chk_status);
+ SETTING_TRACE("item_to_update->chk_status:%d", item_to_update->chk_status);
+ if (item_to_update->chk_status) //rotation function is not blocked
+ {
+ SETTING_TRACE("Rotation function is on, it is necessary to adjust the device orientation");
+ int mode = APP_DEVICE_ORIENTATION_0;
+ mode = app_get_device_orientation();
+ elm_win_rotation_with_resize_set(ad->win_main, mode);
}
+
return;
} else if (!safeStrCmp(vconf_name, VCONFKEY_NFC_STATE)) {
SETTING_TRACE_DEBUG("%s updated", vconf_name);
item_to_update = ad->data_nfc;
retm_if(!item_to_update, "ad->data_nfc is NULL");
- item_to_update->sub_desc = (char *)g_strdup(get_NFC_on_off_str());
+ int status = 0;
+ vconf_get_bool(VCONFKEY_NFC_STATE, &status);
+
+ item_to_update->chk_status = status;
+ //do not need delay for checks
+ elm_check_state_set(item_to_update->eo_check, item_to_update->chk_status);
+ SETTING_TRACE("item_to_update->chk_status:%d", item_to_update->chk_status);
+ item_to_update->sub_desc = (char *)g_strdup(get_NFC_on_off_str());
SETTING_TRACE_DEBUG("%s", item_to_update->sub_desc);
if (ad->bAppPause || ad->ug) {
/**
* the event process when int VCONFS changes
+* @todo code clean - it has big if-else structure
*/
static void setting_int_vconf_change_cb(keynode_t *key, void *data)
{
char *pa_wifi_device = NULL;
Setting_GenGroupItem_Data* item_to_update = NULL;
+
if (!safeStrCmp(vconf_name, VCONFKEY_WIFI_STATE)) {
+ // do handling in case of VCONFKEY_WIFI_STATE
item_to_update = ad->data_wifi;
retm_if(!item_to_update, "ad->data_wifi is NULL");
switch (status) {
case VCONFKEY_WIFI_OFF:
item_to_update->sub_desc = (char *)g_strdup(_("IDS_COM_BODY_OFF_M_STATUS"));
+
+ item_to_update->chk_status = EINA_FALSE;
break;
case VCONFKEY_WIFI_UNCONNECTED:
item_to_update->sub_desc = (char *)g_strdup(_("IDS_COM_BODY_ON_M_STATUS"));
}
FREE(pa_wifi_device);
+
+ item_to_update->chk_status = EINA_TRUE;
break;
default:
SETTING_TRACE_ERROR("Invalid wifi status!");
return;
}
+ elm_check_state_set(item_to_update->eo_check, item_to_update->chk_status);
+
if (ad->bAppPause || ad->ug) {
ad->updateItems[GL_ITEM_WIFI] = EINA_TRUE;
} else { // app is not in pause without ug
elm_object_item_data_set(item_to_update->item, item_to_update);
elm_genlist_item_update(item_to_update->item);
}
+ }
+ else if (!safeStrCmp(vconf_name, VCONFKEY_CALL_STATE)) {
+ // do handling in case of VCONFKEY_CALL_STATE
+ //In call situation : Wi-fi / Tethering / Network menu dimmed
+ if (VCONFKEY_CALL_OFF != status)
+ {
+ if (ad->data_network)
+ setting_disable_genlist_item(ad->data_network->item);
+ if (ad->data_wifi)
+ setting_disable_genlist_item(ad->data_wifi->item);
+ }
+ else
+ {
+ if (ad->data_network)
+ setting_enable_genlist_item(ad->data_network->item);
+ if (ad->data_wifi)
+ setting_enable_genlist_item(ad->data_wifi->item);
+ }
+
} else if (!safeStrCmp(vconf_name, VCONFKEY_BT_STATUS)) {
item_to_update = ad->data_bt;
retm_if(!item_to_update, "ad->data_bt is NULL");
if (FALSE == status) {
item_to_update->sub_desc = (char *)g_strdup(_("IDS_COM_BODY_OFF_M_STATUS"));
+
+ item_to_update->chk_status = EINA_FALSE;
} else {
item_to_update->sub_desc = (char *)g_strdup(_("IDS_COM_BODY_ON_M_STATUS"));
- }
- if (ad->bAppPause || ad->ug) {
- ad->updateItems[GL_ITEM_BT] = EINA_TRUE;
- } else { // app is not in pause without ug
- elm_object_item_data_set(item_to_update->item, item_to_update);
- elm_genlist_item_update(item_to_update->item);
+ item_to_update->chk_status = EINA_TRUE;
}
- } else if (!safeStrCmp(vconf_name, VCONFKEY_MOBILE_HOTSPOT_MODE)) {
- item_to_update = ad->data_mobileApp;
- retm_if(!item_to_update, "ad->data_mobileApp is NULL");
- /* For other vconfs */
- if (FALSE == status) {
- item_to_update->sub_desc = (char *)g_strdup(_("IDS_COM_BODY_OFF_M_STATUS"));
- } else {
- item_to_update->sub_desc = (char *)g_strdup(_("IDS_COM_BODY_ON_M_STATUS"));
- }
+ item_to_update->chk_status = status;
+ elm_check_state_set(item_to_update->eo_check, item_to_update->chk_status);
if (ad->bAppPause || ad->ug) {
- ad->updateItems[GL_ITEM_MAP] = EINA_TRUE;
+ ad->updateItems[GL_ITEM_BT] = EINA_TRUE;
} else { // app is not in pause without ug
elm_object_item_data_set(item_to_update->item, item_to_update);
elm_genlist_item_update(item_to_update->item);
elm_genlist_item_update(ad->data_bright->item);
}
} else {
- SETTING_TRACE_ERROR("vconf_name is bad[%s]", vconf_name);
+ SETTING_TRACE_ERROR("vconf_name is bad[%s]", vconf_name);
}
return;
case VCONFKEY_WIFI_OFF:
item_to_update->sub_desc =
(char *)g_strdup(setting_gettext ("IDS_COM_BODY_OFF_M_STATUS"));
+
+ item_to_update->chk_status = EINA_FALSE;
+ elm_check_state_set(item_to_update->eo_check, item_to_update->chk_status);
break;
case VCONFKEY_WIFI_UNCONNECTED:
item_to_update->sub_desc =
(char *) g_strdup(setting_gettext ("IDS_COM_BODY_ON_M_STATUS"));
}
+
+ item_to_update->chk_status = EINA_TRUE;
+ elm_check_state_set(item_to_update->eo_check, item_to_update->chk_status);
break;
default:
SETTING_TRACE_ERROR("Invalid wifi status!");
SETTING_TRACE_ERROR("sensor attach fail");
}
-
if (sensor_motion_doubletap_set_cb(ad->sf_handle, __main_motion_sensor_cb, ad) != SENSOR_ERROR_NONE) {
SETTING_TRACE("sensor_motion_doubletap_set_cb fail to gather data");
}
SETTING_TRACE_ERROR("sensor_start fail");
}
- appcore_set_event_callback(APPCORE_EVENT_LANG_CHANGE,
- setting_main_lang_changed_cb, ad);
-
-#if LOW_BATTERY_DO_NOTHING
- appcore_set_event_callback(APPCORE_EVENT_LOW_BATTERY,
- setting_main_low_battery_cb, ad);
-#endif
-
- appcore_set_event_callback(APPCORE_EVENT_REGION_CHANGE,
- setting_main_region_changed_cb, ad);
-
#if SUPPORT_APP_ROATION
- appcore_set_rotation_cb(setting_main_rotate, ad);
evas_object_geometry_get(ad->win_main, &g_geometry_x, &g_geometry_y, &g_geometry_w, &g_geometry_h);
#endif
/**
* The function is called to create Setting view widgets
*/
-static int setting_main_app_create(void *data)
+static bool setting_main_app_create(void *data)
{
SETTING_TRACE_BEGIN;
//fprintf(stderr, "[TIME] 3. it taked %d msec from main to setting_main_app_create \n", appcore_measure_time());
- SETTING_TRACE("[TIME] 3. it taked %d msec from main to setting_main_app_create ", appcore_measure_time());
- appcore_measure_start();
+ //SETTING_TRACE("[TIME] 3. it taked %d msec from main to setting_main_app_create ", appcore_measure_time());
+ //appcore_measure_start();
setting_main_appdata *ad = data;
+ // registering sigterm
+ if (signal(SIGTERM, termination_handler) == SIG_IGN)
+ {
+ signal(SIGTERM, SIG_IGN);
+ }
+
ad->data_roaming_popup = NULL;
/* create window */
/* load config file */
int cfg_operation_ret = setting_cfg_init();
- PLUGIN_INIT;
+ //PLUGIN_INIT(ad);
elm_theme_extension_add(NULL, SETTING_THEME_EDJ_NAME);
#if SUPPORT_LCD_TIMEOUT_KEEPING
case Cfg_Error_Type_CreateCfg_Failed:
{
- notifyStr = _("failed to create config file, <br>re-install com.samsung.setting please");
+ notifyStr = _("failed to create config file, <br>re-install org.tizen.setting please");
break;
}
case Cfg_Error_Type_Mkdir_Failed:
{
- notifyStr = _("file system missed<br>/opt/data/setting, <br>re-install com.samsung.setting please");
+ notifyStr = _("file system missed<br>/opt/data/setting, <br>re-install org.tizen.setting please");
break;
}
case Cfg_Error_Type_RemoveCfg_Failed:
return SETTING_RETURN_FAIL;
}
//fprintf(stderr, "[TIME] 4. setting_main_app_create taked %d msec \n", appcore_measure_time());
- SETTING_TRACE("[TIME] 4. setting_main_app_create taked %d msec ", appcore_measure_time());
- appcore_measure_start();
+ //SETTING_TRACE("[TIME] 4. setting_main_app_create taked %d msec ", appcore_measure_time());
+ //appcore_measure_start();
- return 0;
+ // set default local automatically
+ set_defaultLangICU();
+ return true;
}
/**
{
SETTING_TRACE_BEGIN;
setting_main_appdata *ad = data;
+ //vconf_set_bool (VCONFKEY_SETAPPL_ROTATE_HOLD_BOOL, FALSE);
PLUGIN_FINI;
setting_cfg_exit();
clear_system_service_data();
/**
* The function is called when Setting begins run in background from forground
*/
-static int setting_main_app_pause(void *data)
+static void setting_main_app_pause(void *data)
{
SETTING_TRACE_BEGIN;
setting_main_appdata *ad = data;
sensor_stop(ad->sf_handle, SENSOR_MOTION_DOUBLETAP);
- return 0;
}
/**
* The function is called when Setting begins run in forground from background
*/
-static int setting_main_app_resume(void *data)
+static void setting_main_app_resume(void *data)
{
SETTING_TRACE_BEGIN;
setting_main_appdata *ad = data;
SETTING_TRACE("update main genlist in resuming app without UG");
setting_update_gl_item(ad); // update genlist sub-texts
}
-
- return 0;
}
/**
-* The function is called by app-fwk after app_create. It always do the process which cost much time.
-*/
-static int setting_main_app_reset(service_h service, void *data)
+ * The function is called by app-fwk after app_create. It always do the process which cost much time.
+ */
+static void setting_main_app_reset(service_h service, void *data)
{
SETTING_TRACE_BEGIN;
setting_main_appdata *ad = data;
-#if SUPPORT_LIVEBOX_DEMO
- char *ug_name = NULL;
- if(b != NULL)
+ int value = 0;
+ vconf_get_bool (VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL, &value);
+ SETTING_TRACE("value:%d", value);
+ if (value) //rotation function is not blocked
{
- ug_name = (char*)appsvc_get_data(b, "ug");
- if(ug_name)
+ SETTING_TRACE("Rotation function is on, it is necessary to adjust the device orientation");
+ int mode = APP_DEVICE_ORIENTATION_0;
+ mode = app_get_device_orientation();
+ elm_win_rotation_with_resize_set(ad->win_main, mode);
+ }
+
+ vconf_callback_fn cb = NULL;
+
+ cb = setting_int_vconf_change_cb;
+ REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_BT_STATUS, cb, data);
+ REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_WIFI_STATE, cb, ad);
+ REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_CALL_STATE, cb, ad);
+
+ //do need to disable 'Brightness' menu,just disable sub-items in 'Brightness' menu
+ //REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_SYSMAN_BATTERY_STATUS_LOW, cb, ad);
+ REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_SETAPPL_BRIGHTNESS_AUTOMATIC_INT, cb, data);
+
+ cb = setting_string_vconf_change_cb;
+ REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_WIFI_CONNECTED_AP_NAME, cb, ad);
+
+ cb = setting_other_vconf_change_cb;
+ REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_SETAPPL_USB_MODE_INT, cb, ad);
+ REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_SETAPPL_WIDGET_THEME_STR, cb, ad);
+
+ REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_TELEPHONY_FLIGHT_MODE, cb, ad);
+ REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_SETAPPL_AUTO_ROTATE_SCREEN_BOOL, cb, ad);
+ REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_NFC_STATE, cb, ad);
+
+ if (ad->win_main)
+ elm_win_activate(ad->win_main);
+
+ ecore_idler_add(setting_on_idle_lazy, ad);
+
+ int flight_mode = 0;
+ vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &flight_mode);
+ if (flight_mode)
+ {
+ if (ad->data_network) setting_disable_genlist_item(ad->data_network->item);
+ }
+
+ int call_status = VCONFKEY_CALL_OFF;
+ vconf_get_int(VCONFKEY_CALL_STATE, &call_status);
+ if (VCONFKEY_CALL_OFF != call_status)
+ {
+ if (ad->data_network) setting_disable_genlist_item(ad->data_network->item);
+ if (ad->data_wifi) setting_disable_genlist_item(ad->data_wifi->item);
+ //if (ad->data_mobileApp) setting_disable_genlist_item(ad->data_mobileApp->item);
+ }
+
+ /* for jumping view */
+ service_get_extra_data(service, "view_to_jump", &(ad->view_to_jump));
+ if(ad->view_to_jump)
+ {
+ SETTING_TRACE_DEBUG("view to jump is %s", ad->view_to_jump);
+ /* Jumping */
+ if(!safeStrCmp(ad->view_to_jump, KeyStr_Sounds))
{
- SETTING_TRACE_DEBUG("get ug_name : %s", ug_name);
+
+ SETTING_TRACE_DEBUG("Kill launched ug.");
+ if(ad->isInUGMode == TRUE && (safeStrCmp(ad->cur_loaded_ug, "setting-profile-efl") != 0))
+ {
+ ug_destroy_all();
+ ad->ug = NULL;
+ }
+ if(ad->isInUGMode == TRUE && (safeStrCmp(ad->cur_loaded_ug, "setting-profile-efl") == 0))
+ {
+ return;
+ }
+
struct ug_cbs *cbs = (struct ug_cbs *)calloc(1, sizeof(struct ug_cbs));
setting_retm_if(!cbs, "calloc failed");
cbs->layout_cb = setting_main_layout_ug_cb;
cbs->destroy_cb = setting_main_destroy_ug_cb;
cbs->priv = (void *)ad;
- char *path = get_ug_path_from_ug_args(data);
- service_h svc = get_bundle_from_ug_args(data);
- ad->ug = ug_create(NULL, ug_name, UG_MODE_FULLVIEW, svc, cbs);
+ SETTING_TRACE_DEBUG("call setting-profile-efl ug");
+ ad->ug = ug_create(NULL, "setting-profile-efl", UG_MODE_FULLVIEW, 0, cbs);
if (ad->ug) {
ad->isInUGMode = TRUE;
+ memset(ad->cur_loaded_ug, 0x00, MAX_DISPLAY_NAME_LEN_ON_UI);
+ safeCopyStr(ad->cur_loaded_ug, "setting-profile-efl", MAX_DISPLAY_NAME_LEN_ON_UI);
} else {
-
evas_object_show(ad->ly_main);
SETTING_TRACE_ERROR("errno:%d", errno);
setting_create_simple_popup(ad, ad->win_main, NULL, NO_UG_FOUND_MSG);
}
- if (path)
- FREE(path);
if (cbs)
FREE(cbs);
- path = NULL;
cbs = NULL;
- service_destroy(svc);
- }
- else
- {
- SETTING_TRACE_DEBUG("ug_name is NULL");
+ ad->view_to_jump = NULL;
}
}
else
{
- SETTING_TRACE_DEBUG("bundle is NULL");
+ SETTING_TRACE_DEBUG("No need to jump view. Draw main.");
}
-#endif
- vconf_callback_fn cb = NULL;
-
- cb = setting_int_vconf_change_cb;
- REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_BT_STATUS, cb, data);
- REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_WIFI_STATE, cb, ad);
- REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_MOBILE_HOTSPOT_MODE, cb, ad);
- REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_SYSMAN_BATTERY_STATUS_LOW, cb, ad);
- REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_SETAPPL_BRIGHTNESS_AUTOMATIC_INT, cb, data);
-
- cb = setting_string_vconf_change_cb;
- REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_WIFI_CONNECTED_AP_NAME, cb, ad);
-
- cb = setting_other_vconf_change_cb;
- REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_SETAPPL_USB_MODE_INT, cb, ad);
- REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_SETAPPL_WIDGET_THEME_STR, cb, ad);
-
- REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_SETAPPL_FLIGHT_MODE_BOOL, cb, ad);
- REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_SETAPPL_ROTATE_LOCK_BOOL, cb, ad);
- REGISTER_VCONF_NODE(ad->listened_list, VCONFKEY_NFC_STATE, cb, ad);
-
- if (ad->win_main)
- elm_win_activate(ad->win_main);
-
- ecore_idler_add(setting_on_idle_lazy, ad);
-
- //fprintf(stderr, "[TIME] 5. app_create -> app_resume (first display) : %d msec\n", appcore_measure_time());
- SETTING_TRACE("[TIME] 5. app_create -> app_resume (first display) : %d msec", appcore_measure_time());
- //fprintf(stderr, "[TIME] Total. aul_launch -> app_resume (first display) : %d msec\n", appcore_measure_time_from("APP_START_TIME"));
- SETTING_TRACE("[TIME] Total. aul_launch -> app_resume (first display) : %d msec", appcore_measure_time_from("APP_START_TIME"));
-
- return 0;
}
int main(int argc, char *argv[])
elm_init(argc, argv);
#if SUPPORT_GL_ENGINE
// opengl_x11 or software_x11
- elm_config_engine_set("software_x11");
+ elm_config_preferred_engine_set("software_x11");
#endif
//fprintf(stderr, "[TIME] 1. aul_launch -> main :: Setting main : %d msec \n", appcore_measure_time_from("APP_START_TIME"));
- SETTING_TRACE("[TIME] 1. aul_launch -> main :: Setting main : %d msec ", appcore_measure_time_from("APP_START_TIME"));
- appcore_measure_start();
+ //SETTING_TRACE("[TIME] 1. aul_launch -> main :: Setting main : %d msec ", appcore_measure_time_from("APP_START_TIME"));
+ //appcore_measure_start();
- struct appcore_ops ops = {
+ app_event_callback_s ops = {
.create = setting_main_app_create,
.terminate = setting_main_app_terminate,
.pause = setting_main_app_pause,
.resume = setting_main_app_resume,
- .reset = setting_main_app_reset,
+ .service = setting_main_app_reset,
+ .low_battery = setting_main_low_battery_cb,
+ .language_changed = setting_main_lang_changed_cb,
+ .region_format_changed = setting_main_region_changed_cb,
+ .device_orientation = setting_main_rotate,
};
- memset(&ad, 0x0, sizeof(setting_main_appdata));
- ops.data = &ad;
+
+ memset(&ad, 0x00, sizeof(setting_main_appdata));
//fprintf(stderr, "[TIME] 2. main : %d msec \n", appcore_measure_time());
- SETTING_TRACE("[TIME] 2. main : %d msec ", appcore_measure_time());
- appcore_measure_start();
- r = appcore_efl_main(SETTING_PACKAGE, &argc, &argv, &ops);
+ //SETTING_TRACE("[TIME] 2. main : %d msec ", appcore_measure_time());
+ //appcore_measure_start();
+ r = app_efl_main(&argc, &argv, &ops, &ad);
retv_if(r == -1, -1);
return 0;