Fixed: blink during run conversation by app_control 51/82751/1
authorDenis Dolzhenko <d.dolzhenko@samsung.com>
Fri, 5 Aug 2016 12:32:14 +0000 (15:32 +0300)
committerDenis Dolzhenko <d.dolzhenko@samsung.com>
Fri, 5 Aug 2016 12:32:14 +0000 (15:32 +0300)
Change-Id: I20b5439718355037ccd4200225008426264e39e8
Signed-off-by: Denis Dolzhenko <d.dolzhenko@samsung.com>
src/Common/Controller/inc/NaviFrameController.h
src/Common/Controller/src/NaviFrameController.cpp
src/Common/View/inc/View.h
src/Common/View/src/NaviFrameView.cpp

index e7e39df..72c2513 100644 (file)
@@ -64,7 +64,7 @@ namespace Msg
             void init();
             template<typename T>
             T *getTopFrame() const;
-            bool execCmd(const AppControlCommand &cmd);
+            bool prepare(const AppControlCommand &cmd);
 
             bool isUnreadNotificationSingle(AppControlDefault::DefaultType type) const;
 
index 09bb87d..372ca1e 100644 (file)
@@ -57,7 +57,7 @@ void NaviFrameController::destroy()
     NaviFrameView::destroy();
 }
 
-bool NaviFrameController::execCmd(const AppControlCommand &cmd)
+bool NaviFrameController::prepare(const AppControlCommand &cmd)
 {
     MSG_LOG("Execute app. control command: ", cmd.getOperationMsg());
 
@@ -72,7 +72,7 @@ bool NaviFrameController::execCmd(const AppControlCommand &cmd)
 
 void NaviFrameController::execCmd(const AppControlDefaultRef &cmd)
 {
-    if(execCmd(*cmd))
+    if(prepare(*cmd))
     {
         AppControlDefault::DefaultType type = cmd->getDefaultType();
 
@@ -93,10 +93,9 @@ void NaviFrameController::execCmd(const AppControlDefaultRef &cmd)
             {
                 if(type == AppControlDefault::ViewType || type == AppControlDefault::ReplyType || isUnreadNotificationSingle(type))
                 {
-                        Conversation *conversation = new Conversation(*this);
-                        push(*conversation);
-                        ecore_main_loop_iterate(); // FIXME: Fix EFL(TSAM-2158) and remove it
-                        conversation->execCmd(cmd);
+                    Conversation *conversation = new Conversation(*this);
+                    push(*conversation);
+                    conversation->execCmd(cmd);
                 }
             }
         }
@@ -105,7 +104,7 @@ void NaviFrameController::execCmd(const AppControlDefaultRef &cmd)
 
 void NaviFrameController::execCmd(const AppControlComposeRef &cmd)
 {
-    if(execCmd(*cmd))
+    if(prepare(*cmd))
     {
         Conversation *conv = getTopFrame<Conversation>();
         if(conv)
@@ -116,7 +115,6 @@ void NaviFrameController::execCmd(const AppControlComposeRef &cmd)
         {
             Conversation *conv = new Conversation(*this);
             push(*conv);
-            ecore_main_loop_iterate(); // FIXME: Fix EFL(TSAM-2158) and remove it
             conv->execCmd(cmd);
         }
     }
index c25ccc5..93e22f0 100644 (file)
@@ -212,11 +212,16 @@ namespace Msg
             static void processSignal(Evas_Object *obj);
 
             /**
-             * @brief Process all edje signals for object
+             * @brief Process edje signals for object
              */
             void processSignal();
 
             /**
+             * @brief Process all edje signals
+             */
+            static void processSignals();
+
+            /**
              * @brief Sets user-data associated with specified key-string.
              * @param[in] key a string-key.
              * @param[in] data to be stored.
@@ -430,6 +435,11 @@ namespace Msg
         processSignal(m_pEo);
     }
 
+    inline void View::processSignals()
+    {
+        edje_message_signal_process();
+    }
+
     inline void View::setText(const char *text, const char *part)
     {
         elm_object_part_text_set(m_pEo, part, text);
index 1af1c7f..98a1f36 100644 (file)
@@ -104,6 +104,7 @@ void NaviFrameView::push(NaviFrameItem &item, Evas_Object *content)
     m_TransitionStatus = !isEmpty();
     Elm_Object_Item *it = elm_naviframe_item_push(getEo(), nullptr, nullptr, nullptr, content, naviTitleStyleEmpty);
     item.setElmObjItem(it);
+    processSignal();
 }
 
 void NaviFrameView::push(NaviFrameItem &item, View &content)