Fixed TSAM-8368 Music Chooser double tap sound 72/92272/1
authorbhutani.92 <bhutani.92@samsung.com>
Fri, 14 Oct 2016 08:04:16 +0000 (13:34 +0530)
committerbhutani.92 <bhutani.92@samsung.com>
Fri, 14 Oct 2016 08:04:16 +0000 (13:34 +0530)
Change-Id: I4120bcb6f55a5ee1ec648249b58be5972c52bd15
Signed-off-by: bhutani.92 <bhutani.92@samsung.com>
music-chooser/src/mc-track-list.c

index 82da2149434fbfd405861802a8d371af6d0f6c5a..53faa3240fc00cbdc6c6e66fe845fc20e1684cfa 100755 (executable)
@@ -54,6 +54,7 @@ typedef struct {
 
 
 #define GET_LIST_DATA(obj)     evas_object_data_get(obj, "list_data")
+static void _gl_sel_cb(void *data, Evas_Object *obj, void *event_info);
 
 static Evas_Object *
 _mc_create_genlist(Evas_Object *parent)
@@ -94,8 +95,12 @@ static void _check_changed_cb(void *data, Evas_Object *obj, void *event_info)
        list_item_data_t *it_data = data;
        MP_CHECK(it_data);
 
+       track_list_data_t *ld = evas_object_data_get(obj, "track_list_data");
+       MP_CHECK(ld);
+
        it_data->checked = !it_data->checked;
        it_data->checkbox_cb = EINA_TRUE;
+       _gl_sel_cb(ld, obj, it_data->it);
 }
 
 static Evas_Object *_gl_select_all_content_get(void *data, Evas_Object *obj, const char *part)
@@ -229,11 +234,17 @@ static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *pa
                elm_layout_theme_set(content, "layout", "list/C/type.2", "default");
                elm_layout_content_set(content, "elm.swallow.content", check);
        } else if ((!strcmp(part, "elm.swallow.end") && (it_data->ad->select_type == MC_SELECT_MULTI))) {
+               track_list_data_t *ld = evas_object_data_get(obj, "track_list_data");
+               MP_CHECK_NULL(ld);
+
                content = elm_check_add(obj);
                elm_check_state_pointer_set(content, &it_data->checked);
                elm_object_style_set(content, "default/genlist");
+
+               evas_object_data_set(content, "track_list_data", ld);
+
                evas_object_smart_callback_add(content, "changed", _check_changed_cb, it_data);
-               evas_object_repeat_events_set(content, EINA_TRUE);
+               evas_object_repeat_events_set(content, EINA_FALSE);
                evas_object_propagate_events_set(content, EINA_FALSE);
        }
 
@@ -1024,6 +1035,7 @@ int mc_track_list_update(Evas_Object *list, Elm_Object_Item *navi_it, Evas_Objec
 
        if (count) {
                ld->genlist = content = _mc_create_genlist(list);
+               evas_object_data_set(content, "track_list_data", ld);
                mp_media_info_list_create(&ld->track_list, ld->t_type, ld->type_str, NULL, NULL, ld->playlist_id, 0, count);
                if (ld->ad->select_type == MC_SELECT_MULTI) {
                        elm_genlist_item_append(content, &ld->itc_select_all, ld, NULL, ELM_GENLIST_ITEM_NONE, _mc_track_list_select_cb, ld);