TizenRefApp-8634 [Call UI] Fix genlist circle scroller in Reject Message panel 48/132348/1
authorIgor Olshevskyi <i.olshevskyi@samsung.com>
Fri, 2 Jun 2017 06:22:34 +0000 (09:22 +0300)
committerIgor Olshevskyi <i.olshevskyi@samsung.com>
Fri, 2 Jun 2017 10:41:45 +0000 (13:41 +0300)
Change-Id: Ifc559df289bac4c6a7b42bfd31cb2d2e64f5a639

edc/reject_msg.edc
src/presenters/CallInfoPresenter.cpp
src/presenters/CallStatus.cpp
src/presenters/RejectMsgPresenter.cpp
src/view/Slider.cpp
tizen-manifest.xml

index 4e1a4b0cb949efae3a18df2195386034d782c5b1..cc88b05b304601a94c87936f620badeddef8ad94 100644 (file)
@@ -95,21 +95,24 @@ group { "elm/layout/callui/rm_panel_content";
        images.image: "b_ic_press_full_circle_bg.png" COMP;
        parts {
                image { "cid_clipper";
+                       scale;
                        precise_is_inside: 1;
                        desc { "default";
-                               rel1 { relative: 0.0 0.0; }
-                               rel2 { relative: 1.0 1.0; }
                                image.normal: "b_ic_press_full_circle_bg.png";
                                aspect: 1.0 1.0;
                                aspect_preference: SOURCE;
                        }
                }
-               swallow { "elm.swallow.content";
+               swallow { "swl.content";
+                       scale;
+                       clip_to: "cid_clipper";
+                       desc { "default";
+                       }
+               }
+               swallow { "swl.scroller";
                        scale;
                        clip_to: "cid_clipper";
                        desc { "default";
-                               min: CU_WIN_W CU_WIN_H;
-                               max: CU_WIN_W CU_WIN_H;
                        }
                }
        }
index 17ac19617ba388b33d5d31ad57f98d724ade808f..1e49f044068afcf110423d984bba28e511a3e2af 100644 (file)
@@ -45,30 +45,30 @@ namespace callui { namespace { namespace impl {
 
        constexpr ElmStyle STYLE_SLIDING_LABEL {"slide_roll"};
 
-       constexpr EdjeSignal SIGN_EMERGENCY_MODE{"emergency"};
+       constexpr EdjeSignal SIGN_EMERGENCY_MODE {"emergency"};
 
-       constexpr EdjeSignal SIGN_RESET{"reset"};
+       constexpr EdjeSignal SIGN_RESET {"reset"};
 
-       constexpr EdjeSignal SIGN_CALLER_ID_DISABLE{"caller_id_disable"};
-       constexpr EdjeSignal SIGN_CALLER_ID_ENABLE{"caller_id_enable"};
+       constexpr EdjeSignal SIGN_CALLER_ID_DISABLE {"caller_id_disable"};
+       constexpr EdjeSignal SIGN_CALLER_ID_ENABLE {"caller_id_enable"};
 
-       constexpr EdjeSignal SIGN_INCOM_1LINE{"incom_1line"};
-       constexpr EdjeSignal SIGN_INCOM_2LINE{"incom_2line"};
+       constexpr EdjeSignal SIGN_INCOM_1LINE {"incom_1line"};
+       constexpr EdjeSignal SIGN_INCOM_2LINE {"incom_2line"};
 
-       constexpr EdjeSignal SIGN_1LINE{"1line"};
-       constexpr EdjeSignal SIGN_1LINE_2TXT{"1line_2text"};
-       constexpr EdjeSignal SIGN_2LINE{"2line"};
-       constexpr EdjeSignal SIGN_2LINE_2TXT{"2line_2text"};
+       constexpr EdjeSignal SIGN_1LINE {"1line"};
+       constexpr EdjeSignal SIGN_1LINE_2TXT {"1line_2text"};
+       constexpr EdjeSignal SIGN_2LINE {"2line"};
+       constexpr EdjeSignal SIGN_2LINE_2TXT {"2line_2text"};
 
-       constexpr EdjeSignalSrc SRC_TOP_PAD{"top_padding"};
-       constexpr EdjeSignalSrc SRC_TXT_1LINE{"text_1line"};
+       constexpr EdjeSignalSrc SRC_TOP_PAD {"top_padding"};
+       constexpr EdjeSignalSrc SRC_TXT_1LINE {"text_1line"};
 
-       constexpr EdjeSignalSrc SRC_CALLER_ID{"caller_id"};
+       constexpr EdjeSignalSrc SRC_CALLER_ID {"caller_id"};
 
-       constexpr EdjePart PART_TXT_MAIN{"text_1line"};
+       constexpr EdjePart PART_TXT_MAIN {"text_1line"};
 
-       constexpr EdjePart PART_SWL_CALLER_ID{"caller_id"};
-       constexpr EdjePart PART_SWL_2LINE{"text_2line"};
+       constexpr EdjePart PART_SWL_CALLER_ID {"caller_id"};
+       constexpr EdjePart PART_SWL_2LINE {"text_2line"};
 
        const TString STR_LABEL_CALLER_ID_ENABLE{
                "<align=center><color=#ffffff99><font_size=24>%s</color></font_size></align>"};
index a0f7bef757bfdb70063edb3d7991f926625983d5..d1c16c57a9e7842c31b23eee1bbf078f3c787500 100644 (file)
@@ -26,16 +26,16 @@ namespace callui { namespace { namespace impl {
        using namespace ucl;
 
        constexpr double CALL_DURATION_TIMER_INTERVAL = 0.1;
-       constexpr double BLINKING_TIMER_INTERVAL = 0.5;
-       constexpr int BLINKING_MAX_COUNT = 5;
+       constexpr double END_CALL_BLINKING_TIMER_INTERVAL = 0.5;
+       constexpr int END_CALL_BLINKING_MAX_COUNT = 5;
 
-       constexpr EdjePart PART_TXT_TEXT_INFO{"text_info"};
+       constexpr EdjePart PART_TXT_TEXT_INFO {"text_info"};
 
-       constexpr EdjeSignal SIGN_DOT_RTL{"default:RTL"};
-       constexpr EdjeSignal SIGN_DOT_LTR{"default:LTR"};
-       constexpr EdjeSignal SIGN_RESET{"reset"};
+       constexpr EdjeSignal SIGN_DOT_RTL {"default:RTL"};
+       constexpr EdjeSignal SIGN_DOT_LTR {"default:LTR"};
+       constexpr EdjeSignal SIGN_RESET {"reset"};
 
-       constexpr EdjeSignalSrc SIGN_SRC_DOT{"dot"};
+       constexpr EdjeSignalSrc SIGN_SRC_DOT {"dot"};
 
 }}}
 
@@ -209,7 +209,7 @@ namespace callui {
 
                m_blinkCount++;
 
-               if (m_blinkCount == impl::BLINKING_MAX_COUNT) {
+               if (m_blinkCount == impl::END_CALL_BLINKING_MAX_COUNT) {
                        m_ly->setText(STR_CALL_ENDED, impl::PART_TXT_TEXT_INFO);
                        m_timer = nullptr;
                        return ECORE_CALLBACK_CANCEL;
@@ -226,7 +226,7 @@ namespace callui {
 
                m_duration = m_info->getDuration();
 
-               m_timer = ecore_timer_add(impl::BLINKING_TIMER_INTERVAL,
+               m_timer = ecore_timer_add(impl::END_CALL_BLINKING_TIMER_INTERVAL,
                                CALLBACK_B(CallStatus::onBlinkingTimerCb), this);
                if (!m_timer) {
                        LOG_RETURN(RES_FAIL, "m_timer is NULL");
index 63e224a88a1c8c0cf2e26f14cf4aa9983f970c65..1395274275fccd0ca23240d2a1b110fd6379fa8c 100644 (file)
@@ -34,11 +34,13 @@ namespace callui { namespace { namespace impl {
        constexpr LayoutTheme LAYOUT_RM_PANEL_CONTENT
                {"layout", "callui", "rm_panel_content"};
 
-       constexpr EdjePart PART_SWL_RIGHT{"elm.swallow.right"};
-       constexpr EdjePart PART_SWL_BG{"elm.swallow.bg"};
-       constexpr EdjePart PART_SWL_CONTENT{"elm.swallow.content"};
+       constexpr EdjePart PART_SWL_RIGHT {"elm.swallow.right"};
+       constexpr EdjePart PART_SWL_BG {"elm.swallow.bg"};
 
-       constexpr SmartEvent EVENT_SCROLL{"scroll"};
+       constexpr EdjePart PART_SWL_CONTENT {"swl.content"};
+       constexpr EdjePart PART_SWL_SCROLLER {"swl.scroller"};
+
+       constexpr SmartEvent EVENT_SCROLL {"scroll"};
 
 }}}
 
@@ -185,7 +187,7 @@ namespace callui {
                }
 
                eext_object_event_callback_add(m_widget->getEo(), EEXT_CALLBACK_BACK,
-                                               CALLBACK_A(RejectMsgPresenter::onBackKey), this);
+                               CALLBACK_A(RejectMsgPresenter::onBackKey), this);
 
                return RES_OK;
        }
@@ -244,7 +246,7 @@ namespace callui {
                                WEAK_DELEGATE(RejectMsgPresenter::panelScrollCb,
                                                asWeak(*this)));
 
-               m_widget->setContent(m_panel->getEo(), impl::PART_SWL_RIGHT);
+               m_widget->setContent(*m_panel, impl::PART_SWL_RIGHT);
 
                return RES_OK;
        }
@@ -273,15 +275,24 @@ namespace callui {
                if (!m_panelLy) {
                        LOG_RETURN(RES_FAIL, "Layout::build failed!");
                }
-               show(*m_panelLy);
-
-               m_panel->setContent(m_panelLy->getEo());
+               m_panel->setContent(*m_panelLy);
 
                return RES_OK;
        }
 
        Result RejectMsgPresenter::createGenlist()
        {
+               // Genlist scroller Layout
+               auto circlLy = Layout::Builder().build(*m_panelLy);
+               if (!circlLy) {
+                       LOG_RETURN(RES_FAIL, "Layout::build failed!");
+               }
+               // Circular surface
+               Eext_Circle_Surface *const circleSurf = eext_circle_surface_layout_add(*circlLy);
+               if (!circleSurf) {
+                       LOG_RETURN(RES_FAIL, "eext_circle_surface_layout_add() failed!");
+               }
+               // Genlist
                Evas_Object *const glEo = elm_genlist_add(*m_panelLy);
                if (!glEo) {
                        LOG_RETURN(RES_FAIL, "elm_genlist_add() failed!");
@@ -291,13 +302,18 @@ namespace callui {
                elm_genlist_mode_set(glEo, ELM_LIST_COMPRESS);
                elm_genlist_homogeneous_set(glEo, EINA_TRUE);
 
-               elm_scroller_policy_set(glEo, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
-
                m_genlist = makeShared<StyledWidget>(glEo);
+               m_circleEo = eext_circle_object_genlist_add(m_genlist->getEo(), circleSurf);
+               if (!m_circleEo) {
+                       LOG_RETURN(RES_FAIL, "elm_genlist_add() failed!");
+               }
+               eext_circle_object_genlist_scroller_policy_set(m_circleEo, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
 
                FAIL_RETURN(fillGenlist(), "fillGenlist() failed!");
 
-               m_panelLy->setContent(glEo, impl::PART_SWL_CONTENT);
+               m_panelLy->setContent(*circlLy, impl::PART_SWL_SCROLLER);
+
+               m_panelLy->setContent(*m_genlist, impl::PART_SWL_CONTENT);
 
                return RES_OK;
        }
@@ -451,14 +467,6 @@ namespace callui {
 
        void RejectMsgPresenter::activateRotary()
        {
-               if (!m_circleEo) {
-                       elm_scroller_policy_set(
-                                       m_genlist->getEo(), ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
-                       m_circleEo = eext_circle_object_genlist_add(
-                                       m_genlist->getEo(), getCircleSurface(*m_genlist));
-                       eext_circle_object_genlist_scroller_policy_set(
-                                       m_circleEo, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
-               }
                eext_rotary_object_event_activated_set(m_circleEo, EINA_TRUE);
        }
 
index 34a4011f9d8aca35be3932091041efa3357b36e5..7d3219f8425aef02cd844cfe6a6857894356546b 100644 (file)
@@ -106,7 +106,6 @@ namespace callui {
                evas_object_size_hint_weight_set(m_slider,
                                EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
 
-               m_circleLy.setContent(m_slider);
                m_layout->setContent(m_circleLy, impl::PART_SWL_SLIDER);
                show(m_circleLy);
                show(m_slider);
index d8c27cb156bc24741ecee3738d7cd570644e58b8..295e338004fed7a1f631ac13758f393658707f84 100644 (file)
@@ -23,5 +23,6 @@
         <privilege>http://tizen.org/privilege/notification</privilege>
         <privilege>http://tizen.org/privilege/display</privilege>
         <privilege>http://tizen.org/privilege/message.read</privilege>
+        <privilege>http://tizen.org/privilege/keygrab</privilege>
     </privileges>
 </manifest>