diff --git a/MPfm/MPfm.MVP/Navigation/MobileNavigationManager.cs b/MPfm/MPfm.MVP/Navigation/MobileNavigationManager.cs index 155e59f8..4aff635b 100644 --- a/MPfm/MPfm.MVP/Navigation/MobileNavigationManager.cs +++ b/MPfm/MPfm.MVP/Navigation/MobileNavigationManager.cs @@ -203,7 +203,8 @@ public virtual IMobileLibraryBrowserView CreateMobileLibraryBrowserView(MobileNa // The view list can be accessed from different threads. lock (_locker) { - var presenter = Bootstrapper.GetContainer().Resolve(new NamedParameterOverloads() {{"tabType", tabType}}); + var presenter = Bootstrapper.GetContainer().Resolve(new NamedParameterOverloads() + {{"tabType", tabType }, { "browserType", browserType}}); presenter.BindView((IMobileLibraryBrowserView) view); _mobileLibraryBrowserList.Add((IMobileLibraryBrowserView) view, presenter); } @@ -212,7 +213,6 @@ public virtual IMobileLibraryBrowserView CreateMobileLibraryBrowserView(MobileNa // Create view and manage view destruction IMobileLibraryBrowserView newView = null; newView = Bootstrapper.GetContainer().Resolve(new NamedParameterOverloads() { { "onViewReady", onViewReady } }); - newView.BrowserType = browserType; // TODO: Shouldn't this be in the presenter instead...? browserType + filter (can be artist or album) newView.OnViewDestroy = (view) => { // The view list can be accessed from different threads. diff --git a/MPfm/MPfm.MVP/Presenters/MobileLibraryBrowserPresenter.cs b/MPfm/MPfm.MVP/Presenters/MobileLibraryBrowserPresenter.cs index a9c85ac2..347fa8bb 100644 --- a/MPfm/MPfm.MVP/Presenters/MobileLibraryBrowserPresenter.cs +++ b/MPfm/MPfm.MVP/Presenters/MobileLibraryBrowserPresenter.cs @@ -36,6 +36,7 @@ public class MobileLibraryBrowserPresenter : BasePresenter Player + // ARTISTS TAB: Artists --> Albums --> Songs --> Player + // ALBUMS TAB: Albums --> Songs --> Player + // SONGS TAB: Songs --> Player + + // Check if another MobileLibraryBrowser view needs to be pushed + if (_tabType == MobileNavigationTabType.Artists || _tabType == MobileNavigationTabType.Albums) + { + var browserType = (_browserType == MobileLibraryBrowserType.Artists) ? MobileLibraryBrowserType.Albums : MobileLibraryBrowserType.Songs; + var newView = _navigationManager.CreateMobileLibraryBrowserView(_tabType, browserType); + _navigationManager.PushTabView(_tabType, newView); + return; + } + // Make sure the view was binded to the presenter before publishing a message Action onViewBindedToPresenter = (theView) => _messengerHub.PublishAsync(new MobileLibraryBrowserItemClickedMessage(this) { diff --git a/MPfm/MPfm.MVP/Views/IMobileLibraryBrowserView.cs b/MPfm/MPfm.MVP/Views/IMobileLibraryBrowserView.cs index 7f3efba2..223da36e 100644 --- a/MPfm/MPfm.MVP/Views/IMobileLibraryBrowserView.cs +++ b/MPfm/MPfm.MVP/Views/IMobileLibraryBrowserView.cs @@ -26,9 +26,6 @@ namespace MPfm.MVP.Views /// public interface IMobileLibraryBrowserView : IBaseView { - MobileLibraryBrowserType BrowserType { get; set; } - string Filter { get; set; } - Action OnItemClick { get; set; } void RefreshLibraryBrowser(IEnumerable entities);