[UI] Updating the 'Data usage settings' list 23/138223/5
authorMichal Skorupinski <m.skorupinsk@samsung.com>
Tue, 11 Jul 2017 17:11:17 +0000 (19:11 +0200)
committerRadek Kintop <r.kintop@samsung.com>
Wed, 19 Jul 2017 09:59:48 +0000 (11:59 +0200)
Change-Id: I40278cca1b5af0dc6d1301c258fbf1c4ba9cc12c
Signed-off-by: Michal Skorupinski <m.skorupinsk@samsung.com>
setting-smartmanager/smartmanager-data/src/smartmanager-data-usage-mobile-settings.c

index 439bb9086cdd82b19084801c5e987e97078fa691..6a6343ba1ab30b95e84df7ead4e7e1e5c6e58127 100644 (file)
@@ -82,26 +82,27 @@ static Element elements[] = {
                {"Start date",    NULL, ELEMENT_TYPE_START_DATE, NULL}
 };
 
-
-static void _update_genlist_item(Element_Type_E element_type, SmartMgrData *smd)
+static void _update_genlist_limit_item(Element_Type_E element_type, SmartMgrData *smd)
 {
        SETTING_TRACE_BEGIN;
        int64_t value = 0;
        Element *element = &elements[element_type];
        char buf[256];
 
-       if (element_type == ELEMENT_TYPE_WARNING) {
+       if (element_type == ELEMENT_TYPE_WARNING)
                value = smd->sim_1_limits.warning;
-       } else {
+       else if (element_type == ELEMENT_TYPE_LIMIT)
                value = smd->sim_1_limits.limit;
-       }
+       else
+               SLOGE("Unknown element type: %d", element_type);
 
        get_data_amount_str("", value, buf, sizeof(buf));
        element->value = strdup(buf);
 
        SETTING_TRACE_DEBUG("GENLIST DATA UPDATE: %s", element->value);
-       elm_genlist_realized_items_update(smd->mobile_data_setting_genlist);
 
+
+       elm_genlist_realized_items_update(smd->mobile_data_setting_genlist);
        SETTING_TRACE_END;
 }
 
@@ -380,7 +381,7 @@ static void _popup_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_inf
        SETTING_TRACE_BEGIN;
        Limit_Popup_Data *limit_popup_data = (Limit_Popup_Data *)data;
 
-       _update_genlist_item(limit_popup_data->element_type, limit_popup_data->smd);
+       _update_genlist_limit_item(limit_popup_data->element_type, limit_popup_data->smd);
 
        free(limit_popup_data);
        SETTING_TRACE_END;
@@ -444,6 +445,34 @@ static Elm_Widget_Item *_append_item_to_radio_list(SmartMgrData *smd, Evas_Objec
        return item;
 }
 
+static void _update_genlist_cycle_item(Radio_List_Item_T *item_data, Element *element)
+{
+       SETTING_TRACE_BEGIN;
+
+       switch (item_data->radio_value) {
+       case CYCLE_MODE_MONTHLY:
+               element->value = "Monthly";
+               break;
+       case CYCLE_MODE_WEEKLY:
+               element->value = "Weekly";
+               break;
+       case CYCLE_MODE_DAILY:
+               element->value = "Daily";
+               break;
+       case CYCLE_MODE_CUSTOM:
+               element->value = "Custom";
+               break;
+       default:
+               SETTING_TRACE_ERROR("Unknown cycle mode: %d", item_data->radio_value);
+               break;
+       }
+
+       SETTING_TRACE_DEBUG("GENLIST DATA UPDATE: %s", element->value);
+       elm_genlist_realized_items_update(item_data->smd->mobile_data_setting_genlist);
+
+       SETTING_TRACE_END;
+}
+
 static void _radio_selected_cb(void *data, Evas_Object *obj, void *event_info)
 {
        SETTING_TRACE_BEGIN;
@@ -451,6 +480,8 @@ static void _radio_selected_cb(void *data, Evas_Object *obj, void *event_info)
        Radio_List_Item_T *item_data = (Radio_List_Item_T *)data;
 
        item_data->smd->sim_1_limits.cycle_mode = item_data->radio_value;
+       _update_genlist_cycle_item(item_data, &elements[ELEMENT_TYPE_CYCLE]);
+
        evas_object_del(item_data->popup);
 
        SETTING_TRACE_END;
@@ -461,7 +492,10 @@ void _radio_list_item_selected_cb(void *data, Evas_Object *obj, void *event_info
        SETTING_TRACE_BEGIN;
 
        Radio_List_Item_T *item_data = (Radio_List_Item_T *)data;
+
        item_data->smd->sim_1_limits.cycle_mode = item_data->radio_value;
+       _update_genlist_cycle_item(item_data, &elements[ELEMENT_TYPE_CYCLE]);
+
        evas_object_del(item_data->popup);
 
        SETTING_TRACE_END;