Fixed N_SE-44204, volume slider bounce back issue.
authorMinho Kim <minho07.kim@samsung.com>
Tue, 2 Jul 2013 02:02:43 +0000 (11:02 +0900)
committerMinho Kim <minho07.kim@samsung.com>
Tue, 2 Jul 2013 02:18:47 +0000 (11:18 +0900)
Change-Id: I466b648cdf48f866659d7cd0086957da4b9bd47a

src/_logic.c
src/_sound.c

index 7f95a2d..43beb58 100755 (executable)
@@ -173,9 +173,12 @@ Eina_Bool _su_timer_cb(void *data)
        DEL_TIMER(ad->stimer)
 
        _get_sound_level(ad->type, &val);
+       if(ad->flag_touching == EINA_TRUE){
+                return ECORE_CALLBACK_RENEW;
+        }
        if(val == 15){
                _D("already 15\n");
-               return ECORE_CALLBACK_CANCEL;
+               return ECORE_CALLBACK_RENEW;
        }
        _set_sound_level(ad->type, val +1 > ad->step ? ad->step : val + 1);
        _D("down, type(%d), step(%d) val[%d]\n", ad->type, ad->step, val+1);
@@ -214,9 +217,12 @@ Eina_Bool _sd_timer_cb(void *data)
        DEL_TIMER(ad->stimer)
 
        _get_sound_level(ad->type, &val);
+       if(ad->flag_touching == EINA_TRUE){
+                return ECORE_CALLBACK_RENEW;
+        }
        if(val == 0){
                _D("already 0\n");
-               return ECORE_CALLBACK_CANCEL;
+               return ECORE_CALLBACK_RENEW;
        }
        _set_sound_level(ad->type, val -1 <= 0 ? 0 : val - 1);
        _D("down, type(%d), step(%d) val[%d]\n", ad->type, ad->step, val+1);
@@ -400,10 +406,6 @@ static Eina_Bool _key_release_cb(void *data, int type, void *event)
                return ECORE_CALLBACK_CANCEL;
        }
 
-       if (ad->flag_touching == EINA_TRUE) {
-               return ECORE_CALLBACK_CANCEL;
-       }
-
        if (!strcmp(ev->keyname, KEY_VOLUMEUP)) {
                _D("up key released and del timer\n");
                DEL_TIMER(ad->sutimer)
@@ -418,7 +420,9 @@ static Eina_Bool _key_release_cb(void *data, int type, void *event)
 
        DEL_TIMER(ad->ptimer)
 
-       ADD_TIMER(ad->ptimer, 3.0, popup_timer_cb, ad)
+       if(ad->flag_touching == EINA_FALSE){
+               ADD_TIMER(ad->ptimer, 3.0, popup_timer_cb, ad)
+       }
 
        return ECORE_CALLBACK_CANCEL;
 }
@@ -819,9 +823,6 @@ static void _slider_start_cb(void *data, Evas_Object *obj, void *event_info)
        struct appdata *ad = (struct appdata *)data;
        retm_if(ad == NULL, "Invalid argument: appdata is NULL\n");
 
-       if (ad->flag_pressing == EINA_TRUE) {
-               return;
-       }
        ad->flag_touching = EINA_TRUE;
 
        DEL_TIMER(ad->ptimer)
@@ -860,9 +861,6 @@ static void _slider_stop_cb(void *data, Evas_Object *obj, void *event_info)
        struct appdata *ad = (struct appdata *)data;
        retm_if(ad == NULL, "Invalid argument: appdata is NULL\n");
 
-       if (ad->flag_pressing == EINA_TRUE) {
-               return;
-       }
        if (ad->lutimer || ad->ldtimer) {
                _D("return when long press is working\n");
                return;
index 1c3d59f..ae570b0 100755 (executable)
@@ -219,7 +219,9 @@ void _mm_func(void *data)
                ad->device = device;
        }
        _set_device_warning(ad, val, device);
-       _set_slider_value(ad, val);
+       if(ad->flag_pressing == EINA_TRUE){
+               _set_slider_value(ad, val);
+       }
        _set_icon(ad, val);
        _D("type(%d) val(%d)\n", ad->type, val);
 }