Fix NAVI Issues N_SE-26628, N_SE-28461 : genlist update issue.
authorhhh.kwon <hhh.kwon@samsung.com>
Mon, 18 Mar 2013 11:21:26 +0000 (20:21 +0900)
committerhhh.kwon <hhh.kwon@samsung.com>
Mon, 18 Mar 2013 11:21:26 +0000 (20:21 +0900)
src/_genlist.c
src/_logic.c
src/_util_efl.c
src/_util_efl.h

index 0b21d53..520cf0d 100755 (executable)
@@ -280,10 +280,10 @@ _D("func\n");
                                /* exception : Because dialer doesn't need bundle
                                 * since being unifyed dialer, voice call and video call
                                 */
-                               ret = aul_launch_app(info->pkg_name, NULL);
+                               ret = aul_open_app(info->pkg_name);
                                selected = 0;
                        } else {
-                               ret = aul_launch_app(info->pkg_name, info->b);
+                               ret = aul_open_app(info->pkg_name);
                                selected = 0;
                        }
                }
index 8dc84a3..46a62b6 100755 (executable)
@@ -77,6 +77,10 @@ _D("func\n");
 
                                _del_popup_timer(ad);
                                _del_progressbar(ad);
+                               if (ad->popup_ask) {
+                                       evas_object_del(ad->popup_ask);
+                                       ad->popup_ask = NULL;
+                               }
                                refresh_app_info(ad);
 
                        } else {
@@ -267,6 +271,10 @@ Eina_Bool _kill_all_timer_cb(void *data)
                _D("runapp_count == 0\n");
                _del_popup_timer(ad);
                _del_progressbar(ad);
+               if (ad->popup_ask) {
+                       evas_object_del(ad->popup_ask);
+                       ad->popup_ask = NULL;
+               }
                refresh_app_info(ad);
                //_restart_pthread(ad);
                return ECORE_CALLBACK_CANCEL;
@@ -280,13 +288,13 @@ void _ok_response_cb(void *data, Evas_Object *obj, void *event_info)
        struct appdata *ad = (struct appdata *)data;
 
        retm_if(data == NULL, "Invalid argument: appdata is NULL\n");
-       if (ad->popup_ask) {
-               evas_object_del(ad->popup_ask);
-               ad->popup_ask = NULL;
-       }
 
        switch (ad->mode) {
                case MODE_END_INUSE:
+                       if (ad->popup_ask) {
+                               evas_object_del(ad->popup_ask);
+                               ad->popup_ask = NULL;
+                       }
                        _D("end inuse\n");
                        _del_popup_timer(ad);
                        _show_progressbar(ad);
@@ -298,33 +306,54 @@ void _ok_response_cb(void *data, Evas_Object *obj, void *event_info)
                        _D("end all inuse\n");
                        _del_popup_timer(ad);
                        _show_progressbar(ad);
+                       _diable_popup(ad->popup_ask);
                        response_end_all_inuse(ad);
                        ad->killall_timer = ecore_timer_add(2.0, _kill_all_timer_cb, ad);
                        break;
 
                case MODE_DEL_HISTORY:
+                       if (ad->popup_ask) {
+                               evas_object_del(ad->popup_ask);
+                               ad->popup_ask = NULL;
+                       }
                        _D("del inuse\n");
                        _del_popup_timer(ad);
                        response_del_history(ad);
                        break;
 
                case MODE_DEL_ALL_HISTORY:
+                       if (ad->popup_ask) {
+                               evas_object_del(ad->popup_ask);
+                               ad->popup_ask = NULL;
+                       }
                        _D("del all inuse\n");
                        _del_popup_timer(ad);
                        response_del_all_history(ad);
                        break;
 
                case MODE_KILL_INUSE:
+                       if (ad->popup_ask) {
+                               evas_object_del(ad->popup_ask);
+                               ad->popup_ask = NULL;
+                       }
                        _D("kill all inuse\n");
                        response_kill_inuse(ad);
                        break;
 
                case MODE_KILL_ALL_INUSE:
+                       if (ad->popup_ask) {
+                               evas_object_del(ad->popup_ask);
+                               ad->popup_ask = NULL;
+                       }
                        _D("kill all inuse\n");
                        response_kill_all_inuse(ad);
                        break;
 
                default:
+                       if (ad->popup_ask) {
+                               evas_object_del(ad->popup_ask);
+                               ad->popup_ask = NULL;
+                       }
                        printf("[Wanning] taskmanager: check mode [%d]\n",
                                        ad->mode);
                        break;
index 5a43787..ccc9aa7 100755 (executable)
@@ -164,6 +164,26 @@ static Eina_Bool _disappear_popup(void *data)
        return ECORE_CALLBACK_CANCEL;
 }
 
+void _diable_popup(void *data)
+{
+       Evas_Object *btn = NULL;
+       Evas_Object *eo = (Evas_Object *)data;
+       if(eo == NULL) {
+               printf("[Error] Invalid argument: popup is NULL\n");
+               return;
+       }
+
+       btn = elm_object_part_content_get(eo, "button1");
+       if(btn) {
+               elm_object_disabled_set(btn, EINA_TRUE);
+       }
+
+       btn = elm_object_part_content_get(eo, "button2");
+       if(btn) {
+               elm_object_disabled_set(btn, EINA_TRUE);
+       }
+}
+
 Evas_Object *_add_popup_ask(Evas_Object *parent, char *text, void *data)
 {
        Evas_Object *pu, *bt1, *bt2;
index ac9cafe..b4b7fd0 100755 (executable)
@@ -35,6 +35,7 @@ Evas_Object *_add_layout_main(Evas_Object *parent,
                Eina_Bool content, Eina_Bool transparent);
 Evas_Object *_add_progressbar(Evas_Object *parent, const char *style,
                Evas_Coord w, Evas_Coord h);
+void _diable_popup(void *data);
 Evas_Object *_add_popup_ask(Evas_Object *parent, char *text, void *data);
 void util_show_popup_with_message(Evas_Object *parent, double in, const char *msg);