: CPlaybackView should always exist in view stack to handle remote key event for playback.
Change-Id: Ifea2bca8320338dbedac035de06e76ef98bcf787
Signed-off-by: Kim Tae Soo <taesoo46.kim@samsung.com>
m_pViewMgr->AddCallback(&cb);
_DBG("");
+ if (!m_pViewMgr->PushView(MUSIC_PLAYBACK_VIEW, NULL, false)) {
+ _ERR(" view push failed ");
+ CViewMgr::Finalize();
+ CMusicController::Finalize();
+ goto error;
+ }
+
if (!m_pViewMgr->PushView(MUSIC_BASE_VIEW, ad.arglist)) {
_ERR(" view push failed ");
CViewMgr::Finalize();
memset(&parcel, 0, sizeof(SParcel));
parcel.updateType = E_PLAYLIST_UPDATE;
- if (!CViewMgr::GetInstance()->PushView(MUSIC_PLAYBACK_VIEW, &parcel))
- _ERR(" viewmgr push view MUSIC_PLAYBACK_VIEW failed ");
+ t_OnHide();
+
+ if (!CViewMgr::GetInstance()->UpdateView(MUSIC_PLAYBACK_VIEW, &parcel))
+ _ERR("CViewMgr::UpdateView MUSIC_PLAYBACK_VIEW failed ");
+
+ if (!CViewMgr::GetInstance()->ShowView(MUSIC_PLAYBACK_VIEW))
+ _ERR("CViewMgr::ShowView MUSIC_PLAYBACK_VIEW failed ");
}
state = m->mhandle->PlayState();
if (state != PLAY_STATUS_INITIAL) {
- if (!CViewMgr::GetInstance()->PushView(MUSIC_PLAYBACK_VIEW, NULL))
- _ERR(" viewmgr push view failed ");
+ t_OnHide();
+
+ if (!CViewMgr::GetInstance()->UpdateView(MUSIC_PLAYBACK_VIEW, NULL))
+ _ERR("CViewMgr::UpdateView failed");
+
+ if (!CViewMgr::GetInstance()->ShowView(MUSIC_PLAYBACK_VIEW))
+ _ERR("CViewMgr::ShowView failed");
return;
}
switch (type) {
case ADD_TYPE_FRESH:
{
+ if (CViewMgr::GetInstance()->CheckTop(MUSIC_CONTEXT_VIEW))
+ if (!vmgr->HideView(MUSIC_CONTEXT_VIEW))
+ _ERR("CViewMgr::HideView failed");
+
+ if (!vmgr->HideView(MUSIC_BASE_VIEW))
+ _ERR("CViewMgr::HideView failed");
+
SParcel parcel;
memset(&parcel, 0, sizeof(SParcel));
parcel.updateType = E_PLAYLIST_UPDATE;
- if (!vmgr->PushView((const char *)MUSIC_PLAYBACK_VIEW, &parcel))
- _ERR("PushView of PlaybackView Failed");
+ if (!vmgr->UpdateView((const char *)MUSIC_PLAYBACK_VIEW, &parcel))
+ _ERR("UpdateView of PlaybackView Failed");
+
+ if (!vmgr->ShowView((const char *)MUSIC_PLAYBACK_VIEW))
+ _ERR("ShowView of PlaybackView Failed");
}
return;
focusedItem = m->focused_item;
}
+ if (!CViewMgr::GetInstance()->HideView(MUSIC_BASE_VIEW))
+ _ERR("CViewMgr::HideView failed");
+
+ t_OnShow();
+
if (focusedItem) {
elm_genlist_item_show(focusedItem, ELM_GENLIST_ITEM_SCROLLTO_IN);
elm_object_item_focus_set(focusedItem, EINA_TRUE);
}
t_OnHide();
- m->mgr->PopView();
+
+ if (!CViewMgr::GetInstance()->ShowView(MUSIC_BASE_VIEW))
+ _ERR("CViewMgr::ShowView failed");
+
+ if (CViewMgr::GetInstance()->CheckTop(MUSIC_CONTEXT_VIEW)) {
+ if (!CViewMgr::GetInstance()->UpdateView(MUSIC_CONTEXT_VIEW, NULL))
+ _ERR("CViewMgr::UpdateView failed");
+
+ if (!CViewMgr::GetInstance()->ShowView(MUSIC_CONTEXT_VIEW))
+ _ERR("CViewMgr::ShowView failed");
+ }
}
memset(&parcel, 0, sizeof(SParcel));
parcel.updateType = E_PLAYLIST_UPDATE;
- if (!m->vmgr->PushView(MUSIC_PLAYBACK_VIEW, &parcel))
- _ERR(" viewmgr push view MUSIC_PLAYBACK_VIEW failed ");
+ if (!m->vmgr->HideView(MUSIC_BASE_VIEW))
+ _ERR("CViewMgr::HideView MUSIC_BASE_VIEW failed ");
+
+ if (!m->vmgr->UpdateView(MUSIC_PLAYBACK_VIEW, &parcel))
+ _ERR("CViewMgr::UpdateView MUSIC_PLAYBACK_VIEW failed ");
+
+ if (!m->vmgr->ShowView(MUSIC_PLAYBACK_VIEW))
+ _ERR("CViewMgr::ShowView MUSIC_PLAYBACK_VIEW failed ");
}