[SM][Data Usage] Main view update 09/142109/2
authorRadek Kintop <r.kintop@samsung.com>
Wed, 2 Aug 2017 12:43:38 +0000 (14:43 +0200)
committerRadek Kintop <r.kintop@samsung.com>
Fri, 4 Aug 2017 09:18:53 +0000 (11:18 +0200)
Main view is updated upon return from mobile subview.

Change-Id: Ia20cc1146ddc7ab609004e5c441f15a9c564fc66
Signed-off-by: Radek Kintop <r.kintop@samsung.com>
setting-smartmanager/smartmanager-data/include/smartmanager-data.h
setting-smartmanager/smartmanager-data/src/smartmanager-data-main-view.c
setting-smartmanager/smartmanager-data/src/smartmanager-data-usage-mobile-settings.c
setting-smartmanager/smartmanager-data/src/smartmanager-data.c

index d91d994e0043c0c8e90ce5768a997ae5633e757b..4369a96c2662f9745120fd375d4619fd12a407bf 100644 (file)
@@ -159,4 +159,6 @@ typedef struct {
        const SmartMgrData *ad;
 } data_usage_app_item_t;
 
+void smartmanager_stc_get_all_data(void);
+
 #endif /* SM_DATA_H_ */
index ce9eadb71e346fad22c3e7f98aae0fb9280cef18..2400373f13905d6ca38e3d4e7b64f7afed99421c 100644 (file)
@@ -52,13 +52,6 @@ static char *_apps_header_text_get(void *data, Evas_Object *genlist,
 static Evas_Object *_aplication_item_get(void *data, Evas_Object *genlist,
                                                                                const char *part);
 
-static void _initialize_limits(Data_Limits_T *limits)
-{
-       limits->custom_mode_interval = 0;
-       limits->cycle_mode = CYCLE_MODE_MONTHLY;
-       limits->cycle_start = 1;
-}
-
 static int _create(void *data)
 {
        SETTING_TRACE_BEGIN;
@@ -117,8 +110,10 @@ static int _create(void *data)
 
        evas_object_show(ad->md.window);
 
-       _initialize_limits(&ad->sim_1_limits);
-       _initialize_limits(&ad->sim_2_limits);
+       if (ad->num_sim_cards_available < 1)
+               _toolbar_item_click(ad, ad->toolbar, ad->toolbar_item_wifi);
+       if (ad->num_sim_cards_available >= 1)
+               _toolbar_item_click(ad, ad->toolbar, ad->toolbar_item_sim_1);
 
        /* Init sub views */
        init_mobile_settings_view(ad);
@@ -546,8 +541,6 @@ static int _update(void *data)
        if (MV_UPDATE_APPEND_NONE == ad->main_view_update_type)
                return 0;
 
-       _redraw_toolbar_buttons(ad);
-
        switch (ad->main_view_update_type) {
        case MV_UPDATE_SIM_1_WARN_N_LIMIT:
                elm_genlist_item_update(ad->item_sim_1_data_amount);
@@ -559,6 +552,7 @@ static int _update(void *data)
                elm_genlist_item_update(ad->item_wifi_data_amount);
                break;
        case MV_UPDATE_SIM_STATE_CHANGED:
+               _redraw_toolbar_buttons(ad);
                if (ad->num_sim_cards_available > 0) {
                        elm_genlist_clear(ad->sim_1_genlist);
                        ad->item_sim_1_data_amount = NULL;
@@ -568,6 +562,7 @@ static int _update(void *data)
                                                        &ad->item_sim_1_data_amount,
                                                        &ad->item_sim_1_data_usage_set,
                                                        "Set Data usage cycle, and Warning, Limit value");
+                       _toolbar_item_click(ad, ad->toolbar, ad->toolbar_item_sim_1);
                }
                if (ad->num_sim_cards_available > 1) {
                        elm_genlist_clear(ad->sim_2_genlist);
@@ -638,11 +633,6 @@ static int _update(void *data)
                break;
        }
 
-       if (ad->num_sim_cards_available < 1)
-               _toolbar_item_click(ad, ad->toolbar, ad->toolbar_item_wifi);
-       if (ad->num_sim_cards_available >= 1)
-               _toolbar_item_click(ad, ad->toolbar, ad->toolbar_item_sim_1);
-
        ad->main_view_update_type = MV_UPDATE_APPEND_NONE;
 
        SETTING_TRACE_END;
index 1b4f6f9d0df1e26cb90eb4ade462af6cfcb536e0..967f9584a9168f68ea8e3360926aa8b34937660d 100644 (file)
@@ -861,6 +861,8 @@ static Eina_Bool _pop_view_cb(void *data, Elm_Object_Item *it)
        SmartMgrData *smd = (SmartMgrData*)data;
        retv_if(!smd, FALSE);
 
+       smartmanager_stc_get_all_data();
+
        setting_view_change(smd->mobile_view, smd->main_view, smd);
 
        SETTING_TRACE_END;
index a52cbb3faec273c33762b2f6ebc05bcb72d3f57b..546a430dfd4026294606029db6cac0f3ca825b76 100644 (file)
@@ -26,10 +26,19 @@ static stc_callback_ret_e _total_stats_cb(stc_error_e result,
 static stc_callback_ret_e _get_restrictions_cb(stc_error_e result,
                                                                stc_restriction_info_h info, void *user_data);
 
+static void _initialize_limits(Data_Limits_T *limits);
+
 static Eina_Bool _delayed_timer_cb(void *data);
 
 static SmartMgrData ad = {0,};
 
+static bool wifi_stats_checked = false;
+static bool sim_stats_checked = false;
+static bool wifi_total_stats_checked = false;
+static bool sim_total_stats_checked = false;
+static bool wifi_restrictions_checked = false;
+static bool sim_restrictions_checked = false;
+
 static void _lang_changed(app_event_info_h event_info, void *data)
 {
        SETTING_TRACE_BEGIN;
@@ -44,12 +53,6 @@ static void _lang_changed(app_event_info_h event_info, void *data)
 
 static Eina_Bool _delayed_timer_cb(void *data)
 {
-       static bool wifi_stats_checked = false;
-       static bool sim_stats_checked = false;
-       static bool wifi_total_stats_checked = false;
-       static bool sim_total_stats_checked = false;
-       static bool wifi_restrictions_checked = false;
-       static bool sim_restrictions_checked = false;
        bool tmp = false;
 
        if (!sim_stats_checked) {
@@ -106,6 +109,19 @@ static Eina_Bool _delayed_timer_cb(void *data)
        return ECORE_CALLBACK_CANCEL;
 }
 
+void smartmanager_stc_get_all_data(void)
+{
+       wifi_stats_checked = false;
+       sim_stats_checked = false;
+       wifi_total_stats_checked = false;
+       sim_total_stats_checked = false;
+       wifi_restrictions_checked = false;
+       sim_restrictions_checked = false;
+
+       if (!ecore_timer_add(0.20, _delayed_timer_cb, NULL))
+               SETTING_TRACE_ERROR("delayed_timer creation failure");
+}
+
 static bool _create_app(void *data)
 {
        SETTING_TRACE_BEGIN;
@@ -157,6 +173,9 @@ static bool _create_app(void *data)
                _count_available_sim_cards(ad);
        }
 
+       _initialize_limits(&ad->sim_1_limits);
+       _initialize_limits(&ad->sim_2_limits);
+       _initialize_limits(&ad->wifi_limits);
        ret = stc_initialize(&ad->stc);
        if (ret != STC_ERROR_NONE) {
                SETTING_TRACE_ERROR("stc_initialize() error: %s", get_error_message(ret));
@@ -178,8 +197,7 @@ static bool _create_app(void *data)
        ad->main_view_update_type = MV_UPDATE_CLEAR_ALL_SIM_2_APPS;
        setting_view_update(ad->main_view, ad);
 
-       if (!ecore_timer_add(0.25, _delayed_timer_cb, NULL))
-               SETTING_TRACE_ERROR("delayed_timer creation failure");
+       smartmanager_stc_get_all_data();
 
        SETTING_TRACE_END;
        return true;
@@ -243,9 +261,9 @@ static void _sim_state_change_cb(telephony_h handle, telephony_noti_e noti_id,
                        )
                        SETTING_TRACE_DEBUG("IMSI_2 %s", ad->imsi_2);
 
-       ad->main_view_update_type = MV_UPDATE_SIM_STATE_CHANGED;
        if (setting_view_node_get_cur_view() == ad->main_view) {
                SETTING_TRACE_DEBUG("_sim_state_change_cb: updating main view");
+               ad->main_view_update_type = MV_UPDATE_SIM_STATE_CHANGED;
                setting_view_update(ad->main_view, ad);
        } else {
                SETTING_TRACE_DEBUG("_sim_state_change_cb: going back to main view");
@@ -601,3 +619,11 @@ static stc_callback_ret_e _get_restrictions_cb(stc_error_e result,
 
        return STC_CALLBACK_CONTINUE;
 }
+
+static void _initialize_limits(Data_Limits_T *limits)
+{
+       limits->custom_mode_interval = 0;
+       limits->cycle_mode = CYCLE_MODE_MONTHLY;
+       limits->cycle_start = 1;
+}
+