Remove dependency from CPlaybackView to CPlaybackController. 82/38482/3 accepted/tizen/tv/20150421.232952 submit/tizen/20150421.213311
authorKim Tae Soo <taesoo46.kim@samsung.com>
Tue, 21 Apr 2015 08:13:02 +0000 (17:13 +0900)
committerKim Tae Soo <taesoo46.kim@samsung.com>
Tue, 21 Apr 2015 08:28:20 +0000 (17:28 +0900)
CPlaybackController is controllerd only by CMusicController

Change-Id: Ife4600b6be9ad8bcbad582e3c30821ae47bdc80c
Signed-off-by: Kim Tae Soo <taesoo46.kim@samsung.com>
include/music-controller.h
src/playback/MusicControllerImpl.cpp
src/playback/MusicControllerImpl.h
src/playback/music-controller.cpp
src/views/PlaybackController.cpp
src/views/PlaybackController.h
src/views/SliderWidget.h
src/views/playback-view.cpp

index cdf36d0..a4972f3 100644 (file)
@@ -53,6 +53,8 @@ public:
        virtual void OnEditButtonsPressed(EPlayerEditBtns editBtns) {}
        //!
        virtual void OnRemoteButtonEvent(Evas_Object *eoBtn, EPlayerBtnsEvent ev) {}
+       //!
+       virtual void OnUpdatePlayerUI(void) {}
 };
 
 
@@ -118,6 +120,7 @@ public:
        void ChangePlayerMode(EPlayerMode mode);
        void HandlePlaylistEditButtons(EPlayerEditBtns btnId);
        void HandleRemoteButtons(Evas_Object *eoBtn, EPlayerBtnsEvent ev);
+       void UpdatePlayerUI(void);
 };
 
 
index 6d8e083..7086509 100644 (file)
@@ -823,6 +823,22 @@ void CMusicControllerImpl::HandleRemoteButtons(Evas_Object *eoBtn, EPlayerBtnsEv
 }
 
 
+void CMusicControllerImpl::UpdatePlayerUI(void)
+{
+       ASSERT(m);
+
+       Eina_List *l;
+       IMusicControllerListener *mcListener;
+       void * obj;
+
+       EINA_LIST_FOREACH(m->elListener, l, obj) {
+               mcListener = (IMusicControllerListener *)obj;
+               if (mcListener)
+                       mcListener->OnUpdatePlayerUI();
+       }
+}
+
+
 void CMusicControllerImpl::OnStatusChanged(SUsbHostDeviceInfo *changedDevice,
        SUsbHostDeviceStatus status)
 {
index e9ba9f2..caac6b7 100644 (file)
@@ -101,6 +101,7 @@ public:
        void ChangePlayerMode(EPlayerMode mode);
        void HandlePlaylistEditButtons(EPlayerEditBtns btnId);
        void HandleRemoteButtons(Evas_Object *eoBtn, EPlayerBtnsEvent ev);
+       void UpdatePlayerUI(void);
 
 public:
        virtual void OnStatusChanged(SUsbHostDeviceInfo *changedDevice,
@@ -110,4 +111,4 @@ public:
 };
 
 
-#endif /* __MUSIC_CONTROLLER_IMPL_H__ */
\ No newline at end of file
+#endif /* __MUSIC_CONTROLLER_IMPL_H__ */
index 66e16fb..bd3c8e5 100644 (file)
@@ -360,4 +360,12 @@ void CMusicController::HandleRemoteButtons(Evas_Object *eoBtn, EPlayerBtnsEvent
        ASSERT(m);
 
        m->ref.HandleRemoteButtons(eoBtn, ev);
-}
\ No newline at end of file
+}
+
+
+void CMusicController::UpdatePlayerUI(void)
+{
+       ASSERT(m);
+
+       m->ref.UpdatePlayerUI();
+}
index a606020..f7aabbf 100644 (file)
@@ -450,24 +450,6 @@ void CPlaybackController::m_RemoveTimer(int timer_code)
 }
 
 
-void CPlaybackController::m_UpdateSongInfo(void)
-{
-       CSongInfo *sinfo = NULL;
-       int index;
-
-       if (!m->controller.GetCurrentSongIndex(&index)) {
-               _ERR(" music get current song index failed ");
-               return;
-       }
-
-       if (!m->controller.GetSonginfoFromIndex(index, &sinfo)) {
-               _ERR(" music get songinfo failed ");
-               return;
-       }
-       m->pSongInfo = sinfo;
-}
-
-
 void CPlaybackController::m_HandleOnPressed(Evas_Object *obj)
 {
        m->press_status = PRESS_SHORT;
@@ -504,47 +486,25 @@ void CPlaybackController::m_HandleOnUnpressed(Evas_Object *obj)
 }
 
 
-bool CPlaybackController::Create(Evas_Object *eoBase, SCallback *cb)
-{
-       ASSERT(!m);
-
-       _CREATE_BEGIN{
-               _CHECK(m = new SPlaybackController)
-               _COMMAND{ m->eoBase = eoBase; }
-               _CHECK(m->controller.Create())
-               _CHECK(m->controller.AddListener(this))
-
-               _WHEN_SUCCESS{
-                       m_AddControlButtons();
-                       m_AddEditPlaylistButtons();
-                       m->cb = *cb;
-                       m->press_status = PRESS_SHORT;
-               }
-
-               _CHECK_FAIL{ m->controller.RemoveListener(this); }
-               _CHECK_FAIL{ m->controller.Destroy(); }
-
-               _CHECK_FAIL{ delete m; m = NULL; }
-       } _CREATE_END_AND_CATCH{ return false; }
-
-       return true;
-}
-
-
-void CPlaybackController::Destroy(void)
+void CPlaybackController::m_UpdateSongInfo(void)
 {
-       ASSERT(m);
+       CSongInfo *sinfo = NULL;
+       int index;
 
-       m_DestroyErrorPopup();
-       m_DestroySettingsPopup();
-       m->controller.RemoveListener(this);
+       if (!m->controller.GetCurrentSongIndex(&index)) {
+               _ERR(" music get current song index failed ");
+               return;
+       }
 
-       delete m;
-       m = NULL;
+       if (!m->controller.GetSonginfoFromIndex(index, &sinfo)) {
+               _ERR(" music get songinfo failed ");
+               return;
+       }
+       m->pSongInfo = sinfo;
 }
 
 
-void CPlaybackController::Update(void)
+void CPlaybackController::m_Update(void)
 {
        int state;
 
@@ -621,49 +581,64 @@ void CPlaybackController::Update(void)
 }
 
 
-Evas_Object *CPlaybackController::ControlBtnsObject(EPlayerControlBtns id)
+bool CPlaybackController::Create(Evas_Object *eoBase, SCallback *cb)
 {
-       ASSERT(m);
-       return m->eoBtnControl[id];
-}
+       ASSERT(!m);
 
+       _CREATE_BEGIN{
+               _CHECK(m = new SPlaybackController)
+               _COMMAND{ m->eoBase = eoBase; }
+               _CHECK(m->controller.Create())
+               _CHECK(m->controller.AddListener(this))
 
-Evas_Object *CPlaybackController::EditBtnsObject(EPlayerEditBtns id)
-{
-       ASSERT(m);
-       return m->eoBtnEdit[id];
-}
+               _WHEN_SUCCESS{
+                       m_AddControlButtons();
+                       m_AddEditPlaylistButtons();
+                       m->cb = *cb;
+                       m->press_status = PRESS_SHORT;
+               }
 
+               _CHECK_FAIL{ m->controller.RemoveListener(this); }
+               _CHECK_FAIL{ m->controller.Destroy(); }
 
-void CPlaybackController::OnComplete(void)
-{
+               _CHECK_FAIL{ delete m; m = NULL; }
+       } _CREATE_END_AND_CATCH{ return false; }
+
+       return true;
 }
 
 
-void CPlaybackController::OnStartPlayback(void)
+void CPlaybackController::Destroy(void)
 {
-       m_UpdateSongInfo();
-       m->duration = m->pSongInfo->Duration();
-}
+       ASSERT(m);
 
+       m_DestroyErrorPopup();
+       m_DestroySettingsPopup();
+       m->controller.RemoveListener(this);
 
-void CPlaybackController::OnStopPlayback(void)
-{
+       delete m;
+       m = NULL;
 }
 
 
-void CPlaybackController::OnPausePlayback(void)
+Evas_Object *CPlaybackController::ControlBtnsObject(EPlayerControlBtns id)
 {
+       ASSERT(m);
+       return m->eoBtnControl[id];
 }
 
 
-void CPlaybackController::OnResumePlayback(void)
+Evas_Object *CPlaybackController::EditBtnsObject(EPlayerEditBtns id)
 {
+       ASSERT(m);
+       return m->eoBtnEdit[id];
 }
 
 
-void CPlaybackController::OnPosition(int milsec)
+void CPlaybackController::OnStartPlayback(void)
 {
+       m_UpdateSongInfo();
+       m->duration = m->pSongInfo->Duration();
 }
 
 
@@ -697,6 +672,12 @@ void CPlaybackController::OnRemoteButtonEvent(Evas_Object *eoBtn, EPlayerBtnsEve
 }
 
 
+void CPlaybackController::OnUpdatePlayerUI(void)
+{
+       m_Update();
+}
+
+
 void CPlaybackController::OnPressed(int id, Evas_Object *obj)
 {
        switch (id) {
@@ -837,4 +818,4 @@ void CPlaybackController::OnMouseClicked(int id, Evas_Object *obj)
        default:
                break;
        }
-}
\ No newline at end of file
+}
index e9dbd9e..2af1356 100644 (file)
@@ -64,6 +64,8 @@ private:
        void m_RemoveTimer(int timer_code);
        void m_UpdateSongInfo(void);
 
+       void m_Update(void);
+
 public:
        CPlaybackController() :
                IPressedListener(this),
@@ -76,21 +78,20 @@ public:
        bool Create(Evas_Object *eoBase, SCallback *cb);
        virtual void Destroy(void);
 
-       void Update(void);
-
        Evas_Object *ControlBtnsObject(EPlayerControlBtns id);
        Evas_Object *EditBtnsObject(EPlayerEditBtns id);
 
 public:
-       virtual void OnComplete(void);
+       //! This function is invoked when new song is played.
        virtual void OnStartPlayback(void);
-       virtual void OnStopPlayback(void);
-       virtual void OnPausePlayback(void);
-       virtual void OnResumePlayback(void);
-       virtual void OnPosition(int milsec);
+       //! This function is invoked when error is occured.
        virtual void OnError(void);
+       //! This function is invoked when playlist is empty.
        virtual void OnEmptyPlaylist(void);
+       //! This function is invoked when remote button is pressed.
        virtual void OnRemoteButtonEvent(Evas_Object *eoBtn, EPlayerBtnsEvent ev);
+       //! This function is invoked when player UI need to be updated.
+       virtual void OnUpdatePlayerUI(void);
 
        virtual void OnPressed(int id, Evas_Object *obj);
        virtual void OnUnpressed(int id, Evas_Object *obj);
@@ -98,4 +99,4 @@ public:
        virtual void OnMouseClicked(int id, Evas_Object *obj);
 };
 
-#endif // __PLAYBACK_CONTROLLER_H__
\ No newline at end of file
+#endif // __PLAYBACK_CONTROLLER_H__
index 78637ff..f3dc300 100644 (file)
@@ -52,13 +52,13 @@ public:
        virtual void OnComplete(void);
        //! This function is invoked when new song is played.
        virtual void OnStartPlayback(void);
-       //!
+       //! This function is invoked when playback is stopped.
        virtual void OnStopPlayback(void);
        //! This function is invoked when playback is paused.
        virtual void OnPausePlayback(void);
        //! This function is invoked when playback is resumed.
        virtual void OnResumePlayback(void);
-       //!
+       //! This function is invoked when the position of playback is changed.
        virtual void OnPosition(int milsec);
 
        virtual void OnChanged(int id, Evas_Object *obj);
index 97ef925..218651b 100644 (file)
@@ -401,7 +401,7 @@ void CPlaybackView::m_UpdateCurrentSongInfo(void)
        m_UpdateCurrentSongItem(index);
        m_UpdateCurrentSongLabels();
        m_UpdateCurrentSongThumbnail();
-       m->pPlaybackController->Update();
+       m->pController->UpdatePlayerUI();
        m_UpdatePlaymodeFocusSequence();
 }
 
@@ -1347,4 +1347,4 @@ void CPlaybackView::OnEditButtonsPressed(EPlayerEditBtns editBtns)
                ASSERT(!"Invalid Edit Button");
                break;
        }
-}
\ No newline at end of file
+}