Ringtone module 87/105487/3
authorRadek Kintop <r.kintop@samsung.com>
Fri, 16 Dec 2016 20:52:32 +0000 (21:52 +0100)
committerkiso.chang <kiso.chang@samsung.com>
Sat, 17 Dec 2016 08:56:23 +0000 (17:56 +0900)
- Fix: sound won't play on radio click  during active call
- Same behavior applied on label  click

Change-Id: I3bfba374479f8b3ed0555e45ba54851b1877b541
Signed-off-by: Radek Kintop <r.kintop@samsung.com>
Signed-off-by: kiso.chang <kiso.chang@samsung.com>
setting-ringtone/src/setting-ringtone-main.c
setting-ringtone/src/setting-ringtone.c

index 72991c5a7a8645fd641e5dfd02af05c5e885c84c..0a1c41a9257fffe60e4cdd5d26400ebe848397b0 100755 (executable)
@@ -50,7 +50,8 @@ static void _radio_changed_cb(void *data, Evas_Object *radio, void *event_info);
 
 /* Ringtone genlist ralated: */
 static char *_itc_label_get(void *data, Evas_Object *obj, const char *part);
-static Evas_Object *_itc_icon_get(void *data, Evas_Object *genlist, const char *part);
+static Evas_Object *_itc_icon_get(void *data, Evas_Object *genlist,
+                               const char *part);
 static void _itc_del(void *data, Evas_Object *obj);
 static void _init_itcs(SettingRingtoneData *ad);
 
@@ -71,7 +72,8 @@ static void _show_more_menu_cb(void *data, Evas_Object *more_button,
 
 static void _append_default_ringtones(SettingRingtoneData *ad);
 
-static bool _system_setting_get_ringtone_list_cb(int index, const char* value, void *user_data);
+static bool _system_setting_get_ringtone_list_cb(int index, const char* value,
+                                               void *user_data);
 static void _create_main_ui_list(SettingRingtoneData *ad);
 
 
@@ -220,6 +222,8 @@ static void _done_click_cb(void *data, Evas_Object *obj,
 
 static void _item_selected_cb(void *data, Evas_Object *obj, void *event_info)
 {
+       cm_call_status_e call_status = CM_CALL_STATUS_IDLE;
+       cm_client_h cm_handle = NULL;
        Setting_GenGroupItem_Data *list_item = NULL;
        Elm_Object_Item *item = (Elm_Object_Item *)event_info;
        SettingRingtoneData *ad = (SettingRingtoneData *)data;
@@ -239,7 +243,11 @@ static void _item_selected_cb(void *data, Evas_Object *obj, void *event_info)
        ad->selected_file_path = strdup(list_item->filepath);
        ad->selected_item_data = list_item;
 
-       if(ad->selected_file_path) {
+       cm_init(&cm_handle);
+       cm_get_call_status(cm_handle, &call_status);
+       cm_deinit(cm_handle);
+
+       if ((CM_CALL_STATUS_IDLE == call_status) && ad->selected_file_path) {
                SETTING_TRACE("sel file: %s", ad->selected_file_path);
                if (ad->media_player)
                        ringtone_stop_sound(ad);
@@ -247,13 +255,15 @@ static void _item_selected_cb(void *data, Evas_Object *obj, void *event_info)
                if (safeStrCmp(list_item->keyStr,
                                "IDS_ST_BODY_PHONEPROFILES_SILENT") &&
                                strlen(ad->selected_file_path) > 0)
-               ringtone_play_sound(ad);
+                       ringtone_play_sound(ad);
        }
 }
 
 static void _radio_changed_cb(void *data, Evas_Object *radio, void *event_info)
 {
        SETTING_TRACE_BEGIN;
+       cm_call_status_e call_status = CM_CALL_STATUS_IDLE;
+       cm_client_h cm_handle = NULL;
        /* the list item data this radio is in: */
        Setting_GenGroupItem_Data *list_item = data;
        SettingRingtoneData *ad = NULL;
@@ -271,14 +281,15 @@ static void _radio_changed_cb(void *data, Evas_Object *radio, void *event_info)
        if (ad->media_player)
                ringtone_stop_sound(ad);
 
-       cm_call_status_e call_status = CM_CALL_STATUS_IDLE;
-       cm_client_h cm_handle = NULL;
        cm_init(&cm_handle);
        cm_get_call_status(cm_handle, &call_status);
        cm_deinit(cm_handle);
 
-       if ((CM_CALL_STATUS_IDLE != call_status) && safeStrCmp(list_item->keyStr, "IDS_ST_BODY_PHONEPROFILES_SILENT"))
+       if ((CM_CALL_STATUS_IDLE == call_status) && safeStrCmp(
+               list_item->keyStr, "IDS_ST_BODY_PHONEPROFILES_SILENT")
+               )
                ringtone_play_sound(ad);
+
        elm_object_focus_set(radio, EINA_FALSE);
 }
 
@@ -531,8 +542,10 @@ static void _append_default_ringtones(SettingRingtoneData *ad)
                        SETTING_TRACE_ERROR(
                                "Failed to get default file list from %s",
                                ALERT_DIR_PATH);
-               append_custom_dir = (safeStrCmp(ALERT_DIR_PATH, ad->appctl_dir_path)
-                               && safeStrCmp(ALERT_DIR_PATH_1, ad->appctl_dir_path));
+               append_custom_dir = (safeStrCmp(ALERT_DIR_PATH,
+                                               ad->appctl_dir_path)
+                               && safeStrCmp(ALERT_DIR_PATH_1,
+                                               ad->appctl_dir_path));
        } else {
                ret = get_filelist_from_dir_path(RINGTONE_DIR_PATH,
                                                &ad->filelist);
@@ -540,14 +553,17 @@ static void _append_default_ringtones(SettingRingtoneData *ad)
                        SETTING_TRACE_ERROR(
                                "Failed to get default file list from %s",
                                RINGTONE_DIR_PATH);
-               append_custom_dir = (safeStrCmp(RINGTONE_DIR_PATH, ad->appctl_dir_path)
-                       && safeStrCmp(RINGTONE_DIR_PATH_1, ad->appctl_dir_path));
+               append_custom_dir = (safeStrCmp(RINGTONE_DIR_PATH,
+                                               ad->appctl_dir_path)
+                       && safeStrCmp(RINGTONE_DIR_PATH_1,
+                                       ad->appctl_dir_path));
        }
 
        /* Also if appctl caller has added custom dir, append it: */
        if (append_custom_dir && ad->appctl_dir_path) {
                SETTING_TRACE("ad->appctl_dir_path = %s", ad->appctl_dir_path);
-               ret = get_filelist_from_dir_path(ad->appctl_dir_path, &ad->filelist);
+               ret = get_filelist_from_dir_path(ad->appctl_dir_path,
+                                               &ad->filelist);
                if (ret != 0)
                        SETTING_TRACE_ERROR(
                                "Failed to get customdir filelist, ret = %d %s",
@@ -555,8 +571,8 @@ static void _append_default_ringtones(SettingRingtoneData *ad)
        }
 }
 
-static bool _system_setting_get_ringtone_list_cb(int index,
-                                               const char *value, void *user_data)
+static bool _system_setting_get_ringtone_list_cb(int index, const char *value,
+                                               void *user_data)
 {
        SETTING_TRACE_BEGIN;
        fileNodeInfo *pNode = NULL;
index 5d0f71000a4c39b8c14b35464bdda2af150f0d54..4f9c31ca08f860e025dc52854c78092c9a0e3f14 100644 (file)
@@ -202,7 +202,6 @@ static void _setting_ringtone_app_controll(app_control_h service, void *priv)
 
        setting_view_create(&setting_view_ringtone_main, ringtone_data);
 
-
        evas_object_show(ringtone_data->md.window);
 }