TizenRefApp-9554 [Call UI] Refactor project directory structure 55/154455/4
authorIgor Olshevskyi <i.olshevskyi@samsung.com>
Tue, 10 Oct 2017 08:33:32 +0000 (11:33 +0300)
committerIgor Olshevskyi <i.olshevskyi@samsung.com>
Tue, 10 Oct 2017 12:32:28 +0000 (15:32 +0300)
Change-Id: Ibdfbc1e912703ab5ab7fabe663d0c2c6868895f5

39 files changed:
call-ui/presenters/Instance.h
call-ui/presenters/base/Page.cpp [deleted file]
call-ui/presenters/base/Page.h [deleted file]
call-ui/presenters/base/Page.hpp [deleted file]
call-ui/presenters/base/common.h [deleted file]
call-ui/presenters/dialogs/AcceptDialog.cpp
call-ui/presenters/dialogs/common.h [deleted file]
call-ui/presenters/misc/AcceptRejectPresenter.cpp
call-ui/presenters/misc/AcceptRejectPresenter.h
call-ui/presenters/misc/AccessoryPresenter.cpp
call-ui/presenters/misc/AccessoryPresenter.h
call-ui/presenters/misc/AtspiHighlightHelper.cpp
call-ui/presenters/misc/AtspiHighlightHelper.h
call-ui/presenters/misc/CallInfoPresenter.cpp
call-ui/presenters/misc/CallInfoPresenter.h
call-ui/presenters/misc/CallStatusPresenter.cpp
call-ui/presenters/misc/CallStatusPresenter.h
call-ui/presenters/misc/DeviceStatePresenter.cpp
call-ui/presenters/misc/DeviceStatePresenter.h
call-ui/presenters/misc/IndicatorPresenter.cpp
call-ui/presenters/misc/IndicatorPresenter.h
call-ui/presenters/misc/MoreOptionsPresenter.cpp
call-ui/presenters/misc/MoreOptionsPresenter.h
call-ui/presenters/misc/MotionSensorPresenter.cpp
call-ui/presenters/misc/MotionSensorPresenter.h
call-ui/presenters/misc/RejectMsgPresenter.cpp
call-ui/presenters/misc/RejectMsgPresenter.h
call-ui/presenters/misc/common.h [deleted file]
call-ui/presenters/misc/helpers.cpp
call-ui/presenters/misc/types.h [deleted file]
call-ui/presenters/pages/KeypadPage.cpp
call-ui/presenters/pages/KeypadPage.h
call-ui/presenters/pages/MainPage.cpp
call-ui/presenters/pages/MainPage.h
call-ui/presenters/pages/base/Page.cpp [new file with mode: 0644]
call-ui/presenters/pages/base/Page.h [new file with mode: 0644]
call-ui/presenters/pages/base/Page.hpp [new file with mode: 0644]
call-ui/presenters/pages/common.h [deleted file]
project_def.prop

index ac094e1b88c83560a3768635b9ebb7ff78682df7..03f6ced366a57f94a42b0b8af191e28a3c4969b4 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "call-ui/model/ICallUI.h"
 
-#include "base/Page.h"
+#include "pages/base/Page.h"
 
 namespace callui {
 
diff --git a/call-ui/presenters/base/Page.cpp b/call-ui/presenters/base/Page.cpp
deleted file mode 100644 (file)
index 1dd7415..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright 2017 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Page.h"
-
-#include "common.h"
-
-namespace callui { namespace { namespace impl {
-
-       constexpr SmartEvent TOP_PAGE_CHANGED {"ucl,top,page,changed"};
-}}}
-
-namespace callui {
-
-       using namespace ucl;
-
-       Page::Page(IRefCountObj &rc, const NaviframeSRef &navi,
-                       const ExitRequestHandler &onExitRequest) :
-               GuiPresenter(rc),
-               m_navi(navi),
-               m_onExitRequest(onExitRequest)
-       {
-               UCL_ASSERT(navi, "navi is NULL!");
-               UCL_ASSERT(onExitRequest, "onExitRequest is NULL!");
-
-               deactivateBy(m_navi.get());
-       }
-
-       Page::~Page()
-       {
-       }
-
-       Result Page::preparePart2()
-       {
-               if (!m_item) {
-                       UCL_LOG_RETURN(ucl::RES_FAIL, "m_item is NULL");
-               }
-
-               Evas_Object *content = m_item.getContent();
-               if (!content) {
-                       LOG_RETURN(RES_FAIL, "content is NULL");
-               }
-
-               m_navi->addEventHandler(NAVI_TRANSITION_STARTED,
-                               WEAK_DELEGATE_THIS(onTransitionStarted));
-
-               m_navi->addEventHandler(NAVI_TRANSITION_FINISHED,
-                               WEAK_DELEGATE_THIS(onTransitionFinished));
-
-               m_navi->addEventHandler(impl::TOP_PAGE_CHANGED,
-                               WEAK_DELEGATE_THIS(onTopPageChanged));
-
-               eext_object_event_callback_add(content, EEXT_CALLBACK_BACK,
-                               CALLBACK_A(Page::onHWBackKey), this);
-
-               m_item.setData(this);
-               m_item.setDelCallback(CALLBACK_A(Page::onItemDel));
-
-               m_selfRef = asShared(*this);
-
-               if (!m_navi->isInTransition() && isAtTop()) {
-                       dispatchTopPageChanged();
-               }
-
-               return RES_OK;
-       }
-
-       void Page::dispatchTopPageChanged()
-       {
-               if (!m_navi->isInTransition()) {
-                       m_navi->callEvent(impl::TOP_PAGE_CHANGED, nullptr);
-               } else {
-                       WLOG("Forcig Transition Finished!");
-                       m_navi->setInTransition(false);
-               }
-       }
-
-       void Page::onItemDel(Evas_Object *obj, void *eventInfo)
-       {
-               m_item = nullptr;
-               m_selfRef.reset();
-       }
-
-       void Page::exit()
-       {
-               if (isAtTop() && !isAtBottom() && !m_navi->isInTransition()) {
-                       m_navi->pop();
-                       m_item = nullptr;
-               } else {
-                       dispose();
-               }
-       }
-
-       void Page::dispose()
-       {
-               if (m_item) {
-                       if (isAtTop()) {
-                               m_item.del();
-                               dispatchTopPageChanged();
-                       } else {
-                               m_item.del();
-                       }
-               }
-       }
-
-       bool Page::isDisposed() const
-       {
-               return m_item;
-       }
-
-       void Page::popTo()
-       {
-               if (m_item && !isAtTop()) {
-                       m_item.popTo();
-               }
-       }
-
-       void Page::deleteTo()
-       {
-               if (m_item && !isAtTop()) {
-                       while (!isAtTop()) {
-                               m_navi->getTopItem().del();
-                       }
-                       dispatchTopPageChanged();
-               }
-       }
-
-       void Page::promote()
-       {
-               if (m_item && !isAtTop()) {
-                       m_item.promote();
-               }
-       }
-
-       NaviItem Page::getItem()
-       {
-               return m_item;
-       }
-
-       void Page::requestExit()
-       {
-               if (const auto handler = m_onExitRequest.lock()) {
-                       handler(*this);
-               } else {
-                       WLOG("m_onExitRequest is NULL");
-                       exit();
-               }
-       }
-
-       void Page::updateActiveState()
-       {
-               if (isAtTop()) {
-                       activateBy(m_navi.get());
-               } else {
-                       deactivateBy(m_navi.get());
-               }
-       }
-
-       void Page::onTransitionStarted(Widget &widget, void *eventInfo)
-       {
-               deactivateBy(m_navi.get());
-       }
-
-       void Page::onTransitionFinished(Widget &widget, void *eventInfo)
-       {
-               updateActiveState();
-       }
-
-       void Page::onTopPageChanged(Widget &widget, void *eventInfo)
-       {
-               updateActiveState();
-       }
-
-       void Page::onHWBackKey(Evas_Object *obj, void *eventInfo)
-       {
-               if (isActive()) {
-                       onBackKey();
-               }
-       }
-
-       void Page::onBackKey()
-       {
-               requestExit();
-       }
-}
diff --git a/call-ui/presenters/base/Page.h b/call-ui/presenters/base/Page.h
deleted file mode 100644 (file)
index 7e346d3..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright 2017 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CALL_UI_PRESENTERS_BASE_PAGE_H__
-#define __CALL_UI_PRESENTERS_BASE_PAGE_H__
-
-#include "ucl/gui/Naviframe.h"
-
-#include "ucl/mvp/GuiPresenter.h"
-
-namespace callui {
-
-       UCL_DECLARE_REF_ALIASES(Page);
-
-       /**
-        * @brief Base class for pages
-        */
-       class Page : public ucl::GuiPresenter,
-                       public ucl::IDisposable {
-       public:
-
-               /**
-                * @brief Page exit request handler definition
-                */
-               using ExitRequestHandler = ucl::WeakDelegate<void(Page &page)>;
-
-       public:
-
-               /**
-                * @brief Gets naviframe
-                * @return Reference to Naviframe
-                */
-               ucl::Naviframe &getNaviframe();
-
-               /**
-                * @brief Checks whether page is top in page stack
-                * @return true if page is top, false otherwise
-                */
-               bool isAtTop() const;
-
-               /**
-                * @brief Checks whether page is bottom in page stack
-                * @return true if page is bottom, false otherwise
-                */
-               bool isAtBottom() const;
-
-               /**
-                * @brief Requests to remove page from stack
-                * @remark If page is top in page stack it will be removed
-                *  with transition animation. Otherwise it will be removed
-                *  without animation
-                */
-               void exit();
-
-               /**
-                * @brief Pops other pages from stack above current page
-                * @remark Upper pages will be removed with single transition animation
-                */
-               void popTo();
-
-               /**
-                * @brief Deletes other pages that are in stack above current page
-                * @remark No transition animation will be provided
-                */
-               void deleteTo();
-
-               /**
-                * @brief Promotes page to the top of the page stack
-                */
-               void promote();
-
-               /**
-                * @brief Inserts page after some page that is already in stack
-                * @param[in] args List of params @see ucl::Naviframe
-                */
-               template <class ...ARGS>
-               ucl::NaviItem insertAfter(ARGS &&...args);
-
-               /**
-                * @brief Inserts page before some page that is already in stack
-                * @param[in] args List of params @see ucl::Naviframe
-                */
-               template <class ...ARGS>
-               ucl::NaviItem insertBefore(ARGS &&...args);
-
-               // ucl::IDisposable //
-
-               /**
-                * @see ucl::IDisposable::dispose()
-                */
-               virtual void dispose() override;
-
-               /**
-                * @see ucl::IDisposable::isDisposed()
-                */
-               virtual bool isDisposed() const final override;
-
-       protected:
-
-               /**
-                * @brief Constructor
-                * @param[in] rc Reference count object
-                * @param[in] navi Application naviframe
-                * @param[in] onExitRequest Exit request handler
-                */
-               Page(ucl::IRefCountObj &rc, const ucl::NaviframeSRef &navi,
-                               const ExitRequestHandler &onExitRequest);
-               /**
-                * @brief Destructor
-                */
-               ~Page();
-
-               /**
-                * @brief Prepare method to initialize main Page components
-                * @param[in] onPrepare Function callback that will be called
-                *  on user side for creation NaviItem and its content
-                * @return RES_OK on success or another result otherwise
-                */
-               template <class ON_PREPARE>
-               ucl::Result prepare(ON_PREPARE &&onPrepare);
-
-               /**
-                * @brief Gets naviframe item
-                * @return Naviframe item
-                */
-               ucl::NaviItem getItem();
-
-               /**
-                * @brief Makes request on Page exit
-                * @remark Set ExitRequestHandler will be called.
-                */
-               void requestExit();
-
-               /**
-                * @brief Called when Page gets Back key event
-                * @remark By default it make Page exit request
-                */
-               virtual void onBackKey();
-
-       private:
-               ucl::Result preparePart2();
-
-               void dispatchTopPageChanged();
-
-               void updateActiveState();
-
-               void onTransitionStarted(ucl::Widget &widget, void *eventInfo);
-               void onTransitionFinished(ucl::Widget &widget, void *eventInfo);
-               void onTopPageChanged(ucl::Widget &widget, void *eventInfo);
-
-               void onHWBackKey(Evas_Object *obj, void *eventInfo);
-               void onItemDel(Evas_Object *obj, void *eventInfo);
-
-       private:
-               const ucl::NaviframeSRef m_navi;
-               const ExitRequestHandler m_onExitRequest;
-               ucl::NaviItem m_item;
-               PageSRef m_selfRef;
-       };
-
-       // Non-member functions //
-
-       bool isLast(const Page &page);
-}
-
-#include "Page.hpp"
-
-#endif // __CALL_UI_PRESENTERS_BASE_PAGE_H__
diff --git a/call-ui/presenters/base/Page.hpp b/call-ui/presenters/base/Page.hpp
deleted file mode 100644 (file)
index a5b23bb..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2017 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "ucl/util/logging.h"
-
-namespace callui {
-
-       template <class ON_PREPARE>
-       inline ucl::Result Page::prepare(ON_PREPARE &&onPrepare)
-       {
-               UCL_FAIL_RETURN(GuiPresenter::prepare(*m_navi),
-                               "GuiPresenter::prepare() failed!");
-
-               UCL_FAIL_RETURN(onPrepare(m_item), "onPrepare() failed!");
-
-               return preparePart2();
-       }
-
-       template <class ...ARGS>
-       inline ucl::NaviItem Page::insertAfter(ARGS &&...args)
-       {
-               return m_navi->insertAfter(m_item, std::forward<ARGS>(args)...);
-       }
-
-       template <class ...ARGS>
-       inline ucl::NaviItem Page::insertBefore(ARGS &&...args)
-       {
-               return m_navi->insertBefore(m_item, std::forward<ARGS>(args)...);
-       }
-
-       inline ucl::Naviframe &Page::getNaviframe()
-       {
-               UCL_ASSERT(m_navi, "m_navi is NULL");
-               return *m_navi;
-       }
-
-       inline bool Page::isAtTop() const
-       {
-               return (m_navi->getTopItem() == m_item);
-       }
-
-       inline bool Page::isAtBottom() const
-       {
-               return (m_navi->getBottomItem() == m_item);
-       }
-
-       // Non-member functions //
-
-       inline bool isLast(const Page &page)
-       {
-               return (page.isAtBottom() && page.isAtTop());
-       }
-}
diff --git a/call-ui/presenters/base/common.h b/call-ui/presenters/base/common.h
deleted file mode 100644 (file)
index 06b0262..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2017 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CALL_UI_PRESENTERS_BASE_COMMON_H__
-#define __CALL_UI_PRESENTERS_BASE_COMMON_H__
-
-#include "call-ui/presenters/common.h"
-
-#endif // __CALL_UI_PRESENTERS_BASE_COMMON_H__
index 9c01674e1b6fc908c2fad2cb90275bf6c889c466..676b706bd6b448f3df2f49562e2fcf3814c8b224 100644 (file)
@@ -18,7 +18,7 @@
 
 #include "call-ui/resources.h"
 
-#include "common.h"
+#include "call-ui/presenters/common.h"
 
 namespace callui { namespace { namespace impl {
 
diff --git a/call-ui/presenters/dialogs/common.h b/call-ui/presenters/dialogs/common.h
deleted file mode 100644 (file)
index c46d968..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2017 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CALL_UI_PRESENTERS_DIALOGS_COMMON_H__
-#define __CALL_UI_PRESENTERS_DIALOGS_COMMON_H__
-
-#include "call-ui/presenters/common.h"
-
-#endif // __CALL_UI_PRESENTERS_DIALOGS_COMMON_H__
index 87813855d7b745a08f4507646ebcfb9412d0af27..e9132bde9c03ff9eb0f47e09dfd9e93b53170225 100644 (file)
@@ -16,7 +16,7 @@
 
 #include "AcceptRejectPresenter.h"
 
-#include "common.h"
+#include "call-ui/presenters/common.h"
 
 namespace callui {
 
index d5316a5c5364b98a8f75518a3aa8bce5ad1f490e..825f89e08d852ae81505a308ba48c62168165ca3 100644 (file)
@@ -28,7 +28,7 @@
 #include "call-ui/presenters/dialogs/AcceptDialog.h"
 #include "MotionSensorPresenter.h"
 
-#include "types.h"
+#include "call-ui/presenters/types.h"
 
 namespace callui {
 
@@ -151,6 +151,7 @@ namespace callui {
        private:
                const IIncomingCallSRef m_call;
                const ISoundManagerSRef m_sm;
+
                AcceptRejectWidgetSRef m_widget;
                AcceptDialogWRef m_popup;
                MotionSensorPresenterSRef m_motionPrs;
index 57e85cddf276012b7268f8f1d4f5d688f9e24698..16d7486a3ee228c19a3d5304a915e73f2f209ff9 100644 (file)
@@ -19,7 +19,8 @@
 #include "ucl/appfw/types.h"
 
 #include "call-ui/resources.h"
-#include "common.h"
+
+#include "call-ui/presenters/common.h"
 
 #define CU_APP_CONTROL_MIME_CONTACT "application/vnd.tizen.contact"
 
index a31ad70a8f185e4ad7b5ce5d9ec2f69cf6a4eea6..0b8b5b31099a4cc32b4646a86a18254c992cf191 100644 (file)
 
 #include "call-ui/model/ISoundManager.h"
 #include "call-ui/model/ICallManager.h"
+
 #include "call-ui/view/VolumeControl.h"
 #include "call-ui/view/Slider.h"
 
-#include "types.h"
+#include "call-ui/presenters/types.h"
 
 namespace callui {
 
@@ -231,6 +232,7 @@ namespace callui {
        private:
                const ISoundManagerSRef m_sm;
                const NotiHandler m_exitHandler;
+
                ucl::LayoutSRef m_widget;
                ucl::StyledWidgetSRef m_volumeBtn;
                ucl::StyledWidgetSRef m_muteBtn;
index 2d0f6826af3da2886e57b41f91e1625c942e708a..e91f2926653e653284ad765d7c673bd572eefb4d 100644 (file)
@@ -16,7 +16,7 @@
 
 #include "AtspiHighlightHelper.h"
 
-#include "common.h"
+#include "call-ui/presenters/common.h"
 
 namespace callui { namespace { namespace impl {
 
index 64ec18e84554ccad5acda2dc6f99153d4ab1efc7..e9788c009fd976a58c2e42a1543090952260c1e6 100644 (file)
@@ -19,7 +19,7 @@
 
 #include "ucl/mvp/GuiPresenter.h"
 
-#include "types.h"
+#include "call-ui/presenters/types.h"
 
 namespace callui {
 
index bde542cfeda15b6fb02151aadcef2f50fbdfc3b8..c8f39759cd0fa0d9bbc614330830f62c1d15fcf5 100644 (file)
@@ -19,7 +19,8 @@
 #include "ucl/gui/Window.h"
 
 #include "call-ui/resources.h"
-#include "common.h"
+
+#include "call-ui/presenters/common.h"
 
 namespace callui { namespace { namespace impl {
 
index dc476a52de34f6f95367b496c6376c5f77db5a1e..756b35a7f6dd222fe9b368bbab5586f30320b808 100644 (file)
@@ -25,7 +25,7 @@
 #include "call-ui/model/ICallManager.h"
 #include "CallStatusPresenter.h"
 
-#include "types.h"
+#include "call-ui/presenters/types.h"
 
 namespace callui {
 
index 534b3335aa851591b2a0fc3da2895324c4dfef14..25dc6b629aa3ea7dc90613c26a09ba1206904dbe 100644 (file)
@@ -17,7 +17,8 @@
 #include "CallStatusPresenter.h"
 
 #include "call-ui/resources.h"
-#include "common.h"
+
+#include "call-ui/presenters/common.h"
 
 namespace callui { namespace { namespace impl {
 
@@ -98,9 +99,9 @@ namespace callui {
                        ICallInfoWCRef info,
                        bool isHeld):
                GuiPresenter(rc),
+               m_info(std::move(info)),
                m_ly(std::move(layout)),
                m_mode(mode),
-               m_info(std::move(info)),
                m_isOnHold(isHeld),
                m_timer(nullptr),
                m_duration{0},
@@ -112,7 +113,6 @@ namespace callui {
        {
                unsetLanguageChangeCallback();
 
-               m_ly.reset();
                if (m_timer) {
                        ecore_timer_del(m_timer);
                        m_timer = nullptr;
index 5871cb7ce23eac14ca5e7f76cba0bed4bb949aa9..80486c0075268eab81c2b579f22f6e6e7b058090 100644 (file)
@@ -25,7 +25,7 @@
 
 #include "call-ui/model/ICallInfo.h"
 
-#include "types.h"
+#include "call-ui/presenters/types.h"
 
 namespace callui {
 
@@ -123,9 +123,10 @@ namespace callui {
                ucl::Result createStatusTxtAo();
 
        private:
-               ucl::LayoutSRef m_ly;
+               const ICallInfoWCRef m_info;
+               const ucl::LayoutSRef m_ly;
+
                CallMode m_mode;
-               ICallInfoWCRef m_info;
                bool m_isOnHold;
                Ecore_Timer *m_timer;
                struct tm m_duration;
index 9996951299258dd631c6ad89ee39beb29fc68c82..ebdd2f934e15e5030e29e3c8f5a5c431d6db4c7d 100644 (file)
@@ -20,7 +20,7 @@
 #include <device/display.h>
 #include <efl_util.h>
 
-#include "common.h"
+#include "call-ui/presenters/common.h"
 
 namespace callui {
 
index da861e7986c9718ae3a67969d88e71f9f987e0ae..0fbf34304608e7d8be549bc4013b1ad26ecf1ae7 100644 (file)
@@ -19,7 +19,7 @@
 
 #include "ucl/gui/Window.h"
 
-#include "types.h"
+#include "call-ui/presenters/types.h"
 
 namespace callui {
 
index bdd7659efcd80ee99d3376e5d2d5dbbcad688ffd..49a54729d65b6d0f463b4cb83cf1e873ed4ccee4 100644 (file)
@@ -18,7 +18,7 @@
 
 #include <string>
 
-#include "common.h"
+#include "call-ui/presenters/common.h"
 
 namespace callui { namespace { namespace impl {
        using namespace ucl;
index 0451e31149182807e42817f55c2d1ac46789b7d4..26a37977a6a2435f61ed2dbd82b8862a0d38a96f 100644 (file)
@@ -24,7 +24,7 @@
 
 #include "call-ui/model/IIndicatorStateProvider.h"
 
-#include "types.h"
+#include "call-ui/presenters/types.h"
 
 namespace callui {
 
index 63f3cff592e4d6911129ea0c8b89dd102c1a621d..0b7753a8797283e7a58d4796d5a27400328b3110 100644 (file)
@@ -23,7 +23,8 @@
 #include "call-ui/presenters/pages/KeypadPage.h"
 
 #include "call-ui/resources.h"
-#include "common.h"
+
+#include "call-ui/presenters/common.h"
 
 namespace callui { namespace { namespace impl {
 
index 396b336014ecf69789818405f2659b348c167abe..376052b2d912849ec774cb7b77be98e3160c441c 100644 (file)
 
 #include "call-ui/model/ICallManager.h"
 #include "call-ui/model/ISoundManager.h"
-#include "call-ui/presenters/base/Page.h"
+
+#include "call-ui/presenters/pages/base/Page.h"
 #include "AtspiHighlightHelper.h"
 
-#include "types.h"
+#include "call-ui/presenters/types.h"
 
 namespace callui {
 
index 1e2c08f29fe8e2e5f17dc763d66e3ebbbedfd76d..c6f290af5ecd707c423765815f8f84783516011b 100644 (file)
@@ -16,7 +16,7 @@
 
 #include "MotionSensorPresenter.h"
 
-#include "common.h"
+#include "call-ui/presenters/common.h"
 
 namespace callui {
 
index 0e481934f7af252ffd94ef8d67df6ad2f3bfcd43..ea9556fe4ff70fb573515994c71d14bfaa818193 100644 (file)
@@ -19,7 +19,7 @@
 
 #include <gesture_recognition.h>
 
-#include "types.h"
+#include "call-ui/presenters/types.h"
 
 namespace callui {
 
@@ -63,6 +63,7 @@ namespace callui {
 
        private:
                const NotiHandler m_handler;
+
                gesture_h m_gesture;
 
                friend class ucl::ReffedObj<MotionSensorPresenter>;
index f0cde69ec31b0c85f52ecff33b0b85f3e094f2a4..b799aa3f084f0cbb260775cb50a02b2de2d14927 100644 (file)
@@ -17,7 +17,8 @@
 #include "RejectMsgPresenter.h"
 
 #include "call-ui/resources.h"
-#include "common.h"
+
+#include "call-ui/presenters/common.h"
 
 namespace callui { namespace { namespace impl {
 
index 512467b492e1b7d80f94308aa60bc90457378a53..9a47bcde5e79859c1488eee222c80da32259ce59 100644 (file)
@@ -25,7 +25,7 @@
 #include "call-ui/model/IRejectMsgProvider.h"
 #include "AtspiHighlightHelper.h"
 
-#include "types.h"
+#include "call-ui/presenters/types.h"
 
 namespace callui {
 
diff --git a/call-ui/presenters/misc/common.h b/call-ui/presenters/misc/common.h
deleted file mode 100644 (file)
index 9d901ec..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2017 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CALL_UI_PRESENTERS_MISC_COMMON_H__
-#define __CALL_UI_PRESENTERS_MISC_COMMON_H__
-
-#include "call-ui/presenters/common.h"
-
-#endif // __CALL_UI_PRESENTERS_MISC_COMMON_H__
index b953345865f30b93325c79a5c6a2a1e660d1a3c3..2c2002da9672a829dc3b191def4e11b7231712ce 100644 (file)
@@ -18,7 +18,7 @@
 
 #include "ucl/gui/Window.h"
 
-#include "common.h"
+#include "call-ui/presenters/common.h"
 
 namespace callui { namespace { namespace himpl {
 
diff --git a/call-ui/presenters/misc/types.h b/call-ui/presenters/misc/types.h
deleted file mode 100644 (file)
index ee6fb75..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2017 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CALL_UI_PRESENTERS_MISC_TYPES_H__
-#define __CALL_UI_PRESENTERS_MISC_TYPES_H__
-
-#include "call-ui/model/types.h"
-
-#endif // __CALL_UI_PRESENTERS_MISC_TYPES_H__
index d1cea99b6850f22f95b9f89c36d9f0a2bea0bd9b..16325f84141511ac97f7b01d503e96168f7822d1 100644 (file)
 
 #include "KeypadPage.h"
 
-#include "call-ui/presenters/types.h"
 #include "call-ui/resources.h"
-#include "common.h"
+
+#include "call-ui/presenters/types.h"
+
+#include "call-ui/presenters/common.h"
 
 namespace callui { namespace { namespace impl {
 
        using namespace ucl;
 
        constexpr LayoutTheme LAYOUT_KEYPAD_WIDGET
-               {"layout", "callui", "keypad"};
+                       {"layout", "callui", "keypad"};
 
        constexpr EdjePart PART_SWL_ENTRY {"swl.entry"};
 
index c4ec0884075c5ebdd3a947fa345deee682dee8ca..f58758778f79c4dccf48704e9beb4c89ca70e353 100644 (file)
@@ -17,7 +17,7 @@
 #ifndef __CALL_UI_PRESENTERS_PAGES_KEYPAD_PAGE_H__
 #define __CALL_UI_PRESENTERS_PAGES_KEYPAD_PAGE_H__
 
-#include "call-ui/presenters/base/Page.h"
+#include "base/Page.h"
 
 #include "ucl/gui/Layout.h"
 
@@ -25,7 +25,7 @@
 #include "call-ui/view/VolumeControl.h"
 #include "call-ui/presenters/misc/AtspiHighlightHelper.h"
 
-#include "call-ui/presenters/misc/types.h"
+#include "call-ui/presenters/types.h"
 
 namespace callui {
 
index 82601cad2ef5ae6aab859e2f2c6b828507c0c2fa..2b6aae6f12b772c8347b6ad94299fa8ed1624414 100644 (file)
 #include "ucl/gui/Widget.h"
 
 #include "call-ui/resources.h"
+
 #include "call-ui/presenters/types.h"
 
-#include "common.h"
+#include "call-ui/presenters/common.h"
 
 namespace callui { namespace { namespace impl {
 
@@ -35,7 +36,7 @@ namespace callui { namespace { namespace impl {
                        {"layout", "callui", "main"};
 
        constexpr LayoutTheme LAYOUT_REJECT_MSG_WIDGET
-               {"layout", "callui", "reject_msg"};
+                       {"layout", "callui", "reject_msg"};
 
        constexpr EdjePart PART_SWL_INDICATOR {"swl.indicator"};
        constexpr EdjePart PART_SWL_ACCEPT_REJECT {"swl.accept_reject"};
index d0dbc3ed06a9fcceec7af21b929686cbbad7d099..3f58b82fbb7665d5d7af8acd0980dc9fa9c6406c 100644 (file)
@@ -17,7 +17,7 @@
 #ifndef __CALL_UI_PRESENTERS_PAGES_MAIN_PAGE_H__
 #define __CALL_UI_PRESENTERS_PAGES_MAIN_PAGE_H__
 
-#include "call-ui/presenters/base/Page.h"
+#include "base/Page.h"
 #include "call-ui/model/ICallListener.h"
 
 #include "ucl/gui/Layout.h"
diff --git a/call-ui/presenters/pages/base/Page.cpp b/call-ui/presenters/pages/base/Page.cpp
new file mode 100644 (file)
index 0000000..6d09077
--- /dev/null
@@ -0,0 +1,198 @@
+/*
+ * Copyright 2017 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "Page.h"
+
+#include "call-ui/presenters/common.h"
+
+namespace callui { namespace { namespace impl {
+
+       constexpr SmartEvent TOP_PAGE_CHANGED {"ucl,top,page,changed"};
+}}}
+
+namespace callui {
+
+       using namespace ucl;
+
+       Page::Page(IRefCountObj &rc, const NaviframeSRef &navi,
+                       const ExitRequestHandler &onExitRequest) :
+               GuiPresenter(rc),
+               m_navi(navi),
+               m_onExitRequest(onExitRequest)
+       {
+               UCL_ASSERT(navi, "navi is NULL!");
+               UCL_ASSERT(onExitRequest, "onExitRequest is NULL!");
+
+               deactivateBy(m_navi.get());
+       }
+
+       Page::~Page()
+       {
+       }
+
+       Result Page::preparePart2()
+       {
+               if (!m_item) {
+                       UCL_LOG_RETURN(ucl::RES_FAIL, "m_item is NULL");
+               }
+
+               Evas_Object *content = m_item.getContent();
+               if (!content) {
+                       LOG_RETURN(RES_FAIL, "content is NULL");
+               }
+
+               m_navi->addEventHandler(NAVI_TRANSITION_STARTED,
+                               WEAK_DELEGATE_THIS(onTransitionStarted));
+
+               m_navi->addEventHandler(NAVI_TRANSITION_FINISHED,
+                               WEAK_DELEGATE_THIS(onTransitionFinished));
+
+               m_navi->addEventHandler(impl::TOP_PAGE_CHANGED,
+                               WEAK_DELEGATE_THIS(onTopPageChanged));
+
+               eext_object_event_callback_add(content, EEXT_CALLBACK_BACK,
+                               CALLBACK_A(Page::onHWBackKey), this);
+
+               m_item.setData(this);
+               m_item.setDelCallback(CALLBACK_A(Page::onItemDel));
+
+               m_selfRef = asShared(*this);
+
+               if (!m_navi->isInTransition() && isAtTop()) {
+                       dispatchTopPageChanged();
+               }
+
+               return RES_OK;
+       }
+
+       void Page::dispatchTopPageChanged()
+       {
+               if (!m_navi->isInTransition()) {
+                       m_navi->callEvent(impl::TOP_PAGE_CHANGED, nullptr);
+               } else {
+                       WLOG("Forcig Transition Finished!");
+                       m_navi->setInTransition(false);
+               }
+       }
+
+       void Page::onItemDel(Evas_Object *obj, void *eventInfo)
+       {
+               m_item = nullptr;
+               m_selfRef.reset();
+       }
+
+       void Page::exit()
+       {
+               if (isAtTop() && !isAtBottom() && !m_navi->isInTransition()) {
+                       m_navi->pop();
+                       m_item = nullptr;
+               } else {
+                       dispose();
+               }
+       }
+
+       void Page::dispose()
+       {
+               if (m_item) {
+                       if (isAtTop()) {
+                               m_item.del();
+                               dispatchTopPageChanged();
+                       } else {
+                               m_item.del();
+                       }
+               }
+       }
+
+       bool Page::isDisposed() const
+       {
+               return m_item;
+       }
+
+       void Page::popTo()
+       {
+               if (m_item && !isAtTop()) {
+                       m_item.popTo();
+               }
+       }
+
+       void Page::deleteTo()
+       {
+               if (m_item && !isAtTop()) {
+                       while (!isAtTop()) {
+                               m_navi->getTopItem().del();
+                       }
+                       dispatchTopPageChanged();
+               }
+       }
+
+       void Page::promote()
+       {
+               if (m_item && !isAtTop()) {
+                       m_item.promote();
+               }
+       }
+
+       NaviItem Page::getItem()
+       {
+               return m_item;
+       }
+
+       void Page::requestExit()
+       {
+               if (const auto handler = m_onExitRequest.lock()) {
+                       handler(*this);
+               } else {
+                       WLOG("m_onExitRequest is NULL");
+                       exit();
+               }
+       }
+
+       void Page::updateActiveState()
+       {
+               if (isAtTop()) {
+                       activateBy(m_navi.get());
+               } else {
+                       deactivateBy(m_navi.get());
+               }
+       }
+
+       void Page::onTransitionStarted(Widget &widget, void *eventInfo)
+       {
+               deactivateBy(m_navi.get());
+       }
+
+       void Page::onTransitionFinished(Widget &widget, void *eventInfo)
+       {
+               updateActiveState();
+       }
+
+       void Page::onTopPageChanged(Widget &widget, void *eventInfo)
+       {
+               updateActiveState();
+       }
+
+       void Page::onHWBackKey(Evas_Object *obj, void *eventInfo)
+       {
+               if (isActive()) {
+                       onBackKey();
+               }
+       }
+
+       void Page::onBackKey()
+       {
+               requestExit();
+       }
+}
diff --git a/call-ui/presenters/pages/base/Page.h b/call-ui/presenters/pages/base/Page.h
new file mode 100644 (file)
index 0000000..7e346d3
--- /dev/null
@@ -0,0 +1,181 @@
+/*
+ * Copyright 2017 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CALL_UI_PRESENTERS_BASE_PAGE_H__
+#define __CALL_UI_PRESENTERS_BASE_PAGE_H__
+
+#include "ucl/gui/Naviframe.h"
+
+#include "ucl/mvp/GuiPresenter.h"
+
+namespace callui {
+
+       UCL_DECLARE_REF_ALIASES(Page);
+
+       /**
+        * @brief Base class for pages
+        */
+       class Page : public ucl::GuiPresenter,
+                       public ucl::IDisposable {
+       public:
+
+               /**
+                * @brief Page exit request handler definition
+                */
+               using ExitRequestHandler = ucl::WeakDelegate<void(Page &page)>;
+
+       public:
+
+               /**
+                * @brief Gets naviframe
+                * @return Reference to Naviframe
+                */
+               ucl::Naviframe &getNaviframe();
+
+               /**
+                * @brief Checks whether page is top in page stack
+                * @return true if page is top, false otherwise
+                */
+               bool isAtTop() const;
+
+               /**
+                * @brief Checks whether page is bottom in page stack
+                * @return true if page is bottom, false otherwise
+                */
+               bool isAtBottom() const;
+
+               /**
+                * @brief Requests to remove page from stack
+                * @remark If page is top in page stack it will be removed
+                *  with transition animation. Otherwise it will be removed
+                *  without animation
+                */
+               void exit();
+
+               /**
+                * @brief Pops other pages from stack above current page
+                * @remark Upper pages will be removed with single transition animation
+                */
+               void popTo();
+
+               /**
+                * @brief Deletes other pages that are in stack above current page
+                * @remark No transition animation will be provided
+                */
+               void deleteTo();
+
+               /**
+                * @brief Promotes page to the top of the page stack
+                */
+               void promote();
+
+               /**
+                * @brief Inserts page after some page that is already in stack
+                * @param[in] args List of params @see ucl::Naviframe
+                */
+               template <class ...ARGS>
+               ucl::NaviItem insertAfter(ARGS &&...args);
+
+               /**
+                * @brief Inserts page before some page that is already in stack
+                * @param[in] args List of params @see ucl::Naviframe
+                */
+               template <class ...ARGS>
+               ucl::NaviItem insertBefore(ARGS &&...args);
+
+               // ucl::IDisposable //
+
+               /**
+                * @see ucl::IDisposable::dispose()
+                */
+               virtual void dispose() override;
+
+               /**
+                * @see ucl::IDisposable::isDisposed()
+                */
+               virtual bool isDisposed() const final override;
+
+       protected:
+
+               /**
+                * @brief Constructor
+                * @param[in] rc Reference count object
+                * @param[in] navi Application naviframe
+                * @param[in] onExitRequest Exit request handler
+                */
+               Page(ucl::IRefCountObj &rc, const ucl::NaviframeSRef &navi,
+                               const ExitRequestHandler &onExitRequest);
+               /**
+                * @brief Destructor
+                */
+               ~Page();
+
+               /**
+                * @brief Prepare method to initialize main Page components
+                * @param[in] onPrepare Function callback that will be called
+                *  on user side for creation NaviItem and its content
+                * @return RES_OK on success or another result otherwise
+                */
+               template <class ON_PREPARE>
+               ucl::Result prepare(ON_PREPARE &&onPrepare);
+
+               /**
+                * @brief Gets naviframe item
+                * @return Naviframe item
+                */
+               ucl::NaviItem getItem();
+
+               /**
+                * @brief Makes request on Page exit
+                * @remark Set ExitRequestHandler will be called.
+                */
+               void requestExit();
+
+               /**
+                * @brief Called when Page gets Back key event
+                * @remark By default it make Page exit request
+                */
+               virtual void onBackKey();
+
+       private:
+               ucl::Result preparePart2();
+
+               void dispatchTopPageChanged();
+
+               void updateActiveState();
+
+               void onTransitionStarted(ucl::Widget &widget, void *eventInfo);
+               void onTransitionFinished(ucl::Widget &widget, void *eventInfo);
+               void onTopPageChanged(ucl::Widget &widget, void *eventInfo);
+
+               void onHWBackKey(Evas_Object *obj, void *eventInfo);
+               void onItemDel(Evas_Object *obj, void *eventInfo);
+
+       private:
+               const ucl::NaviframeSRef m_navi;
+               const ExitRequestHandler m_onExitRequest;
+               ucl::NaviItem m_item;
+               PageSRef m_selfRef;
+       };
+
+       // Non-member functions //
+
+       bool isLast(const Page &page);
+}
+
+#include "Page.hpp"
+
+#endif // __CALL_UI_PRESENTERS_BASE_PAGE_H__
diff --git a/call-ui/presenters/pages/base/Page.hpp b/call-ui/presenters/pages/base/Page.hpp
new file mode 100644 (file)
index 0000000..a5b23bb
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2017 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "ucl/util/logging.h"
+
+namespace callui {
+
+       template <class ON_PREPARE>
+       inline ucl::Result Page::prepare(ON_PREPARE &&onPrepare)
+       {
+               UCL_FAIL_RETURN(GuiPresenter::prepare(*m_navi),
+                               "GuiPresenter::prepare() failed!");
+
+               UCL_FAIL_RETURN(onPrepare(m_item), "onPrepare() failed!");
+
+               return preparePart2();
+       }
+
+       template <class ...ARGS>
+       inline ucl::NaviItem Page::insertAfter(ARGS &&...args)
+       {
+               return m_navi->insertAfter(m_item, std::forward<ARGS>(args)...);
+       }
+
+       template <class ...ARGS>
+       inline ucl::NaviItem Page::insertBefore(ARGS &&...args)
+       {
+               return m_navi->insertBefore(m_item, std::forward<ARGS>(args)...);
+       }
+
+       inline ucl::Naviframe &Page::getNaviframe()
+       {
+               UCL_ASSERT(m_navi, "m_navi is NULL");
+               return *m_navi;
+       }
+
+       inline bool Page::isAtTop() const
+       {
+               return (m_navi->getTopItem() == m_item);
+       }
+
+       inline bool Page::isAtBottom() const
+       {
+               return (m_navi->getBottomItem() == m_item);
+       }
+
+       // Non-member functions //
+
+       inline bool isLast(const Page &page)
+       {
+               return (page.isAtBottom() && page.isAtTop());
+       }
+}
diff --git a/call-ui/presenters/pages/common.h b/call-ui/presenters/pages/common.h
deleted file mode 100644 (file)
index 060daa9..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2017 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CALL_UI_PRESENTERS_PAGES_COMMON_H__
-#define __CALL_UI_PRESENTERS_PAGES_COMMON_H__
-
-#include "call-ui/presenters/common.h"
-
-#endif // __CALL_UI_PRESENTERS_PAGES_COMMON_H__
index 732c9458cbb36f3c46d4663c84fe3083cd1ae736..c5169af2154d41ddb28a654eee417b799f3aa0fa 100644 (file)
@@ -9,7 +9,7 @@ type = app
 profile = wearable-4.0
 
 # C/CPP Sources
-USER_SRCS = call-ui/view/VolumeControl.cpp call-ui/model/impl/CallInfo.cpp call-ui/presenters/base/Page.cpp call-ui/model/impl/IncomingCall.cpp ucl/source/appfw/helpers.cpp ucl/source/mvp/ListItemPresenter.cpp call-ui/model/impl/RejectMsg.cpp ucl/source/gui/Genlist.cpp ucl/source/util/types/Result.cpp call-ui/model/impl/ConferenceCallInfo.cpp call-ui/model/impl/BluetoothManager.cpp ucl/source/gui/Layout.cpp call-ui/presenters/misc/MotionSensorPresenter.cpp call-ui/model/impl/RssiStateSource.cpp call-ui/presenters/Instance.cpp call-ui/model/impl/ActiveCall.cpp call-ui/model/impl/SimSlotStateSource.cpp call-ui/presenters/misc/AcceptRejectPresenter.cpp ucl/source/gui/WidgetItem.cpp call-ui/presenters/pages/MainPage.cpp ucl/source/gui/NaviItem.cpp call-ui/presenters/misc/DeviceStatePresenter.cpp call-ui/model/impl/ContactInfoProvider.cpp call-ui/model/impl/HdVoiceStateSource.cpp ucl/source/gui/Window.cpp call-ui/model/impl/ConnectionStateSource.cpp call-ui/presenters/misc/RejectMsgPresenter.cpp call-ui/presenters/pages/KeypadPage.cpp ucl/source/util/logging.cpp ucl/source/appfw/UIApp.cpp call-ui/presenters/misc/AccessoryPresenter.cpp call-ui/model/impl/ContactInfo.cpp call-ui/model/impl/EndCall.cpp call-ui/view/Slider.cpp call-ui/model/impl/RejectMsgProvider.cpp ucl/source/mvp/GuiPresenter.cpp ucl/source/appfw/InstanceManagerBase.cpp call-ui/model/impl/BatteryStateSource.cpp ucl/source/gui/Widget.cpp call-ui/presenters/dialogs/AcceptDialog.cpp call-ui/types.cpp call-ui/presenters/misc/helpers.cpp call-ui/model/impl/IndicatorStateProvider.cpp call-ui/view/AcceptRejectWidget.cpp ucl/source/misc/Timeout.cpp call-ui/resources.cpp ucl/source/util/types/classTypes.cpp call-ui/model/CallUIBuilder.cpp call-ui/presenters/misc/CallStatusPresenter.cpp call-ui/model/impl/HeldCall.cpp call-ui/model/impl/SoundManager.cpp ucl/source/gui/EdjeWidget.cpp call-ui/model/impl/MsgClient.cpp call-ui/presenters/InstanceManager.cpp call-ui/presenters/misc/MoreOptionsPresenter.cpp call-ui/presenters/misc/IndicatorPresenter.cpp call-ui/presenters/misc/AtspiHighlightHelper.cpp ucl/source/gui/Naviframe.cpp call-ui/model/impl/CallUI.cpp ucl/source/gui/ElmWidget.cpp ucl/source/gui/RadioBox.cpp ucl/source/misc/Variant.cpp call-ui/view/helpers.cpp call-ui/main.cpp call-ui/model/impl/CallManager.cpp call-ui/presenters/misc/CallInfoPresenter.cpp ucl/source/appfw/SysEventProvider.cpp call-ui/model/impl/CallClient.cpp ucl/source/mvp/ListPresenter.cpp 
+USER_SRCS = call-ui/view/VolumeControl.cpp call-ui/model/impl/CallInfo.cpp call-ui/model/impl/IncomingCall.cpp ucl/source/appfw/helpers.cpp ucl/source/mvp/ListItemPresenter.cpp call-ui/model/impl/RejectMsg.cpp ucl/source/gui/Genlist.cpp ucl/source/util/types/Result.cpp call-ui/model/impl/ConferenceCallInfo.cpp call-ui/model/impl/BluetoothManager.cpp ucl/source/gui/Layout.cpp call-ui/presenters/misc/MotionSensorPresenter.cpp call-ui/model/impl/RssiStateSource.cpp call-ui/presenters/Instance.cpp call-ui/model/impl/ActiveCall.cpp call-ui/model/impl/SimSlotStateSource.cpp call-ui/presenters/misc/AcceptRejectPresenter.cpp ucl/source/gui/WidgetItem.cpp call-ui/presenters/pages/MainPage.cpp ucl/source/gui/NaviItem.cpp call-ui/presenters/misc/DeviceStatePresenter.cpp call-ui/model/impl/ContactInfoProvider.cpp call-ui/model/impl/HdVoiceStateSource.cpp ucl/source/gui/Window.cpp call-ui/model/impl/ConnectionStateSource.cpp call-ui/presenters/misc/RejectMsgPresenter.cpp call-ui/presenters/pages/KeypadPage.cpp ucl/source/util/logging.cpp ucl/source/appfw/UIApp.cpp call-ui/presenters/misc/AccessoryPresenter.cpp call-ui/model/impl/ContactInfo.cpp call-ui/model/impl/EndCall.cpp call-ui/view/Slider.cpp call-ui/model/impl/RejectMsgProvider.cpp ucl/source/mvp/GuiPresenter.cpp ucl/source/appfw/InstanceManagerBase.cpp call-ui/model/impl/BatteryStateSource.cpp ucl/source/gui/Widget.cpp call-ui/presenters/dialogs/AcceptDialog.cpp call-ui/types.cpp call-ui/presenters/misc/helpers.cpp call-ui/model/impl/IndicatorStateProvider.cpp call-ui/view/AcceptRejectWidget.cpp ucl/source/misc/Timeout.cpp call-ui/resources.cpp ucl/source/util/types/classTypes.cpp call-ui/model/CallUIBuilder.cpp call-ui/presenters/misc/CallStatusPresenter.cpp call-ui/model/impl/HeldCall.cpp call-ui/model/impl/SoundManager.cpp ucl/source/gui/EdjeWidget.cpp call-ui/model/impl/MsgClient.cpp call-ui/presenters/InstanceManager.cpp call-ui/presenters/pages/base/Page.cpp call-ui/presenters/misc/MoreOptionsPresenter.cpp call-ui/presenters/misc/IndicatorPresenter.cpp call-ui/presenters/misc/AtspiHighlightHelper.cpp ucl/source/gui/Naviframe.cpp call-ui/model/impl/CallUI.cpp ucl/source/gui/ElmWidget.cpp ucl/source/gui/RadioBox.cpp ucl/source/misc/Variant.cpp call-ui/view/helpers.cpp call-ui/main.cpp call-ui/model/impl/CallManager.cpp call-ui/presenters/misc/CallInfoPresenter.cpp ucl/source/appfw/SysEventProvider.cpp call-ui/model/impl/CallClient.cpp ucl/source/mvp/ListPresenter.cpp 
 
 # EDC Sources
 USER_EDCS =  
@@ -36,7 +36,7 @@ USER_OBJS =
 USER_C_INC_DIRS = 
 USER_INC_FILES = 
 ## C++ Compiler
-USER_CPP_INC_DIRS = /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/libxml2 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/SDL2 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/appcore/ /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/appcore-agent /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/appcore-watch /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/appfw /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/asp/ /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/aul/ /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/badge /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/base /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/cairo /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/calendar-service2 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/call-manager /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/chromium-ewk /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ckm /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/contacts-svc /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/content /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/context-service /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/csr /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/dali /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/dali-toolkit /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/dbus-1.0 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/device /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/dlog /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ecore-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ecore-buffer-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ecore-con-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ecore-evas-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ecore-file-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ecore-imf-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ecore-imf-evas-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ecore-input-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ecore-input-evas-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ecore-ipc-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ector-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/e_dbus-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/edje-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/eet-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/efl-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/efl-extension /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/efreet-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/eina-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/eina-1/eina /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/eio-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/eldbus-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/elementary-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/embryo-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/emile-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/eo-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/eom /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ethumb-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ethumb-client-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/evas-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/feedback /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/fontconfig /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/freetype2 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/gio-unix-2.0 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/glib-2.0 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/harfbuzz /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/iotcon /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/json-glib-1.0 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/location /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/maps /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/media /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/media-content /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/messaging /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/metadata-editor /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/minizip /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/msg-service /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/network /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/notification /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/nsd/ /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/phonenumber-utils /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/pkgmgr /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/rua/ /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/sensor /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/storage /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/system /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/telephony /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/telephony-client /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/tzsh /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ug-1 /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/ui /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/vconf /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/vulkan /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/widget_service /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/widget_viewer_dali /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/widget_viewer_evas /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/include/yaca /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/lib/dbus-1.0/include /home/igor/TizenStudio/tizen-studio/tools/smart-build-interface/../../platforms/tizen-4.0/wearable/rootstraps/wearable-4.0-emulator.core.private/usr/lib/glib-2.0/include . ucl/include 
+USER_CPP_INC_DIRS = . ucl/include 
 USER_CPP_INC_FILES = 
 
 USER_INC_DIRS = $(USER_C_INC_DIRS) $(USER_CPP_INC_DIRS)