[SM][Data Usage] IMSI matching 62/145762/2
authorRadek Kintop <r.kintop@samsung.com>
Wed, 23 Aug 2017 14:43:26 +0000 (16:43 +0200)
committerRadek Kintop <r.kintop@samsung.com>
Wed, 23 Aug 2017 16:16:01 +0000 (18:16 +0200)
Data call interface IMSI matching enabled.
Fix: incorrect imsi variables were used (imsi1 instead of imsi2).

Change-Id: I561b42d8b607ee862e7341e2daf9616a3b4fa88a
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.c

index 94a32712da73459e497fab037d8dd50dca751f68..4d7f7562e971e5959f5705dbba1486a861e119f3 100644 (file)
@@ -128,7 +128,7 @@ typedef struct {
                                                                                                        data settings view */
        Elm_Object_Item *item_wifi_first_app_info; /* The first application */
 
-       /* Wifi view data usage: */
+       /* Wifi view data usage settings: */
        setting_view *wifi_view;
        Evas_Object *wifi_data_setting_genlist;
 
@@ -141,9 +141,10 @@ typedef struct {
        struct tm wifi_start_date;
        data_usage_cycle wifi_data_usage_cycle;
 
-       /* Mobile view data usage: */
+       /* Mobile view data usage settings: */
        setting_view *mobile_view;
        Evas_Object *mobile_data_setting_genlist;
+       const char *selected_sim_imsi;
 
        /* Data statistics and settings: */
        stc_h stc;
index ae801ff483d94578e242f4e375077cc8b7b247cc..c6da2f936ea3d7c8c60fc98f042e2721257394bf 100644 (file)
@@ -170,10 +170,15 @@ static void _data_usage_sett_click_cb(void *data, Evas_Object *obj,
 
        elm_genlist_item_selected_set(event_info, EINA_FALSE);
 
-       if (event_info == ad->item_sim_1_data_usage_set ||
-               event_info == ad->item_sim_2_data_usage_set
-               )
+       if (event_info == ad->item_sim_1_data_usage_set) {
+               ad->selected_sim_imsi = ad->imsi_1;
                setting_view_change(&smartmanager_view_data_main, ad->mobile_view, ad);
+       }
+
+       if (event_info == ad->item_sim_2_data_usage_set) {
+               ad->selected_sim_imsi = ad->imsi_2;
+               setting_view_change(&smartmanager_view_data_main, ad->mobile_view, ad);
+       }
 
        if (event_info == ad->item_wifi_data_usage_set)
                setting_view_change(&smartmanager_view_data_main, ad->wifi_view, ad);
index f997b5fcae40ecfbac1d4638af077664516a65da..45df1ec15c94f0b4793b29dc75e479f23f2afbdd 100644 (file)
@@ -215,7 +215,7 @@ static bool _create_app(void *data)
                                                                        get_error_message(ret));
                        if (get_imsi_from_telephony_handle(
                                        ad->telephony_handles.handle[1],
-                                       ad->imsi_1, sizeof(ad->imsi_1))
+                                       ad->imsi_2, sizeof(ad->imsi_2))
                                )
                                SETTING_TRACE_DEBUG("IMSI_2 %s", ad->imsi_2);
                }
@@ -304,10 +304,10 @@ static void _sim_state_change_cb(telephony_h handle, telephony_noti_e noti_id,
                )
                SETTING_TRACE_DEBUG("IMSI_1 %s", ad->imsi_1);
 
-       if (ad->num_sim_cards_available)
+       if (ad->num_sim_cards_available > 1)
                if (get_imsi_from_telephony_handle(
                                ad->telephony_handles.handle[1],
-                               ad->imsi_1, sizeof(ad->imsi_1))
+                               ad->imsi_2, sizeof(ad->imsi_2))
                        )
                        SETTING_TRACE_DEBUG("IMSI_2 %s", ad->imsi_2);
 
@@ -512,17 +512,16 @@ static stc_callback_ret_e _stc_stats_info_cb(stc_error_e result,
                if (STC_ERROR_NONE == ret) {
 
                        SETTING_TRACE_DEBUG("Obtained IMSI: %s", imsi);
-                       /* TODO: uncomment when api stc works: */
-                       /*if (compare_imsis(ad.imsi_1, imsi))*/
+                       if (compare_imsis(ad.imsi_1, imsi))
                                if (_append_stats_list_item(&ad.sim_1_apps, app_id, incoming + outgoing)) {
                                        ad.main_view_update_type = MV_UPDATE_APPEND_SIM_1_APP;
                                        setting_view_update(ad.main_view, &ad);
                                }
-                               /*if (compare_imsis(ad.imsi_2, imsi))
+                       if (compare_imsis(ad.imsi_2, imsi))
                                if (_append_stats_list_item(&ad.sim_2_apps, app_id, incoming + outgoing)) {
                                        ad.main_view_update_type = MV_UPDATE_APPEND_SIM_2_APP;
                                        setting_view_update(ad.main_view, &ad);
-                               }*/
+                               }
                } else {
                        SETTING_TRACE_ERROR("stc_stats_info_get_imsi() error: %s",
                                                                                get_error_message(ret));
@@ -563,17 +562,16 @@ static stc_callback_ret_e _total_stats_cb(stc_error_e result,
                        if (STC_ERROR_NONE == ret) {
 
                                SETTING_TRACE_DEBUG("Obtained IMSI: %s", imsi);
-                               /* TODO: uncomment when api stc works: */
-                               /*if (compare_imsis(ad.imsi_1, imsi)) {*/
+                               if (compare_imsis(ad.imsi_1, imsi)) {
                                        ad.main_view_update_type = MV_UPDATE_SIM_1_TOTAL_DATA_USAGE;
                                        ad.sim_1_limits.total_data_used = incoming + outgoing;
                                        SETTING_TRACE("SIM 1 total in: %lld out: %lld", incoming, outgoing);
-                               /*}
+                               }
                                if (compare_imsis(ad.imsi_2, imsi)) {
                                        ad.main_view_update_type = MV_UPDATE_SIM_2_TOTAL_DATA_USAGE;
                                        ad.sim_2_limits.total_data_used = incoming + outgoing;
                                        SETTING_TRACE("SIM 2 total in: %lld out: %lld", incoming, outgoing);
-                               }*/
+                               }
                        } else {
                                SETTING_TRACE_ERROR("stc_stats_info_get_imsi() error: %s",
                                                                                        get_error_message(ret));
@@ -637,21 +635,20 @@ static stc_callback_ret_e _get_restrictions_cb(stc_error_e result,
                ret = stc_restriction_info_get_imsi(info, &imsi);
                if (STC_ERROR_NONE == ret) {
                        SETTING_TRACE_DEBUG("Obtained IMSI: %s", imsi);
-                       /* TODO: uncomment when api stc works: */
-                       /*if (compare_imsis(ad.imsi_1, imsi)) {*/
+                       if (compare_imsis(ad.imsi_1, imsi)) {
                                (void)stc_restriction_info_get_limit(info,
                                                                                                        &(ad.sim_1_limits.limit));
                                (void)stc_restriction_info_get_warning_limit(info,
                                                                                                        &(ad.sim_1_limits.warning));
                                ad.main_view_update_type = MV_UPDATE_SIM_1_WARN_N_LIMIT;
-                               /*}
+                       }
                        if (compare_imsis(ad.imsi_2, imsi)) {
                                (void)stc_restriction_info_get_limit(info,
                                                                                                        &(ad.sim_2_limits.limit));
                                (void)stc_restriction_info_get_warning_limit(info,
                                                                                                        &(ad.sim_2_limits.warning));
                                ad.main_view_update_type = MV_UPDATE_SIM_2_WARN_N_LIMIT;
-                       }*/
+                       }
                        setting_view_update(ad.main_view, &ad);
                } else {
                        SETTING_TRACE_ERROR("stc_stats_info_get_imsi() error: %s",