Disable Wi-fi / Tethering / Network menu in calling,disable 'Network' when flight...
[apps/core/preloaded/settings.git] / src / setting.c
index 09c4112..3dcc060 100755 (executable)
@@ -419,6 +419,19 @@ static void setting_other_vconf_change_cb(keynode_t *key, void *data)
                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);
+
+               //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)) {
                item_to_update = ad->data_rotationMode;
@@ -428,8 +441,6 @@ static void setting_other_vconf_change_cb(keynode_t *key, void *data)
                vconf_get_bool(VCONFKEY_SETAPPL_ROTATE_LOCK_BOOL, &status);
 
                item_to_update->chk_status = !status;
-               SETTING_TRACE("ad->bAppPause:%d", ad->bAppPause);
-               SETTING_TRACE("ad->ug:%p", ad->ug);
                //do not need delay for checks
                elm_check_state_set(item_to_update->eo_check, item_to_update->chk_status);
                return;
@@ -497,6 +508,22 @@ static void setting_int_vconf_change_cb(keynode_t *key, void *data)
                        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)) {
+               //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);
+                       if (ad->data_mobileApp) setting_disable_genlist_item(ad->data_mobileApp->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);
+                       if (ad->data_mobileApp) setting_enable_genlist_item(ad->data_mobileApp->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");
@@ -884,6 +911,7 @@ static int setting_main_app_reset(service_h service, void *data)
        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);
@@ -904,12 +932,21 @@ static int setting_main_app_reset(service_h service, void *data)
 
        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"));
+       int flight_mode = 0;
+       vconf_get_bool(VCONFKEY_SETAPPL_FLIGHT_MODE_BOOL, &flight_mode);
+       if (flight_mode)
+       {
+               if (ad->data_network) setting_disable_genlist_item(ad->data_network->item);
+       }
 
-       //return 0;
+       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);
+       }
 }
 
 int main(int argc, char *argv[])