public virtual void BindMobileLibraryBrowserView(IMobileLibraryBrowserView view, MobileNavigationTabType tabType, MobileLibraryBrowserType browserType, LibraryQuery query) { var key = new Tuple<MobileNavigationTabType, MobileLibraryBrowserType>(tabType, browserType); view.OnViewDestroy = (view2) => { // The view list can be accessed from different threads. lock (_locker) { Tracing.Log("MobileNavigationManager - CreateMobileLibraryBrowserView - Destroying view - type: {0}", tabType.ToString()); if (_mobileLibraryBrowserList.ContainsKey(key)) { _mobileLibraryBrowserList[key].Item2.ViewDestroyed(); _mobileLibraryBrowserList.Remove(key); } } }; lock (_locker) { var presenter = Bootstrapper.GetContainer().Resolve<IMobileLibraryBrowserPresenter>(new NamedParameterOverloads() { { "tabType", tabType }, { "browserType", browserType }, { "query", query } }); presenter.BindView(view); _mobileLibraryBrowserList.Add(key, new Tuple<IMobileLibraryBrowserView, IMobileLibraryBrowserPresenter>(view, presenter)); } }
public void AddTab(MobileNavigationTabType type, string title, MobileLibraryBrowserType browserType, LibraryQuery query, IBaseView view) { Console.WriteLine("MainActivity - Adding tab {0}", title); //_tabHistory.Add(new Tuple<MobileNavigationTabType, List<Tuple<MobileLibraryBrowserType, LibraryQuery>>>(type, new List<Tuple<MobileLibraryBrowserType, LibraryQuery>>() { // new Tuple<MobileLibraryBrowserType, LibraryQuery>(browserType, query) //})); _fragment = (Fragment)view; FragmentTransaction transaction = FragmentManager.BeginTransaction(); transaction.Replace(Resource.Id.main_fragmentContainer, _fragment); transaction.Commit(); }
public MobileLibraryBrowserChangeQueryMessage(object sender, MobileLibraryBrowserType browserType, LibraryQuery query) : base(sender) { BrowserType = browserType; Query = query; }
public virtual IMobileLibraryBrowserView CreateMobileLibraryBrowserView(MobileNavigationTabType tabType, MobileLibraryBrowserType browserType, LibraryQuery query) { var key = new Tuple<MobileNavigationTabType, MobileLibraryBrowserType>(tabType, browserType); // Check if view already exists if(_mobileLibraryBrowserList.ContainsKey(key)) { Tuple<IMobileLibraryBrowserView, IMobileLibraryBrowserPresenter> viewPresenter; if (_mobileLibraryBrowserList.TryGetValue(key, out viewPresenter)) { if (viewPresenter != null) { viewPresenter.Item2.ChangeQuery(browserType, query); return viewPresenter.Item1; } } } var view = Bootstrapper.GetContainer().Resolve<IMobileLibraryBrowserView>(new NamedParameterOverloads() { { "tabType", tabType }, { "browserType", browserType }, { "query", query } }); return view; }
public override void PushTabView(MobileNavigationTabType type, MobileLibraryBrowserType browserType, LibraryQuery query, IBaseView view) { }
public override void NotifyMobileLibraryBrowserQueryChange(MobileNavigationTabType type, MobileLibraryBrowserType browserType, LibraryQuery query) { }
public void AddTab(MobileNavigationTabType type, string title, MobileLibraryBrowserType browserType, LibraryQuery query, IBaseView view) { //Tracing.Log("MainViewController - AddTab - type: {0} title: {1} browserType: {2}", type, title, browserType); var appDelegate = (AppDelegate)UIApplication.SharedApplication.Delegate; appDelegate.AddTab(type, title, (UIViewController)view); }
public override void AddTab(MobileNavigationTabType type, string title, MobileLibraryBrowserType browserType, LibraryQuery query, IBaseView view) { }
public override void NotifyMobileLibraryBrowserQueryChange(MobileNavigationTabType type, MobileLibraryBrowserType browserType, LibraryQuery query) { Debug.WriteLine("WindowsPhoneNavigationManager - NotifyMobileLibraryBrowserQueryChange"); }
public override void PushTabView(MobileNavigationTabType type, MobileLibraryBrowserType browserType, LibraryQuery query, IBaseView view) { Debug.WriteLine("WindowsPhoneNavigationManager - PushTabView"); }
public override void AddTab(MobileNavigationTabType type, string title, MobileLibraryBrowserType browserType, LibraryQuery query, IBaseView view) { Debug.WriteLine("WindowsPhoneNavigationManager - AddTab"); }
public MobileLibraryBrowserFragment(MobileNavigationTabType tabType, MobileLibraryBrowserType browserType, LibraryQuery query) : base() { _tabType = tabType; _browserType = browserType; _query = query; }
public void RefreshLibraryBrowser(IEnumerable<LibraryBrowserEntity> entities, MobileLibraryBrowserType browserType, string navigationBarTitle, string navigationBarSubtitle, string breadcrumb, bool isPopBackstack, bool isBackstackEmpty) { //Console.WriteLine("MLBF - RefreshLibraryBrowser - Count: {0} browserType: {1}", entities.Count(), browserType.ToString()); Activity.RunOnUiThread(() => { _browserType = browserType; _entities = entities.ToList(); _lblBreadcrumb.Text = breadcrumb; if (isPopBackstack) { _viewFlipper.SetInAnimation(Activity, Resource.Animation.flipper_back_slide_in); _viewFlipper.SetOutAnimation(Activity, Resource.Animation.flipper_back_slide_out); } else if (isBackstackEmpty) { _viewFlipper.SetInAnimation(Activity, Resource.Animation.flipper_changetab_in); _viewFlipper.SetOutAnimation(Activity, Resource.Animation.flipper_changetab_out); } else { _viewFlipper.SetInAnimation(Activity, Resource.Animation.flipper_slide_in); _viewFlipper.SetOutAnimation(Activity, Resource.Animation.flipper_slide_out); } switch (browserType) { case MobileLibraryBrowserType.Artists: int index = _viewFlipper.IndexOfChild(_listViewArtists); _viewFlipper.DisplayedChild = index; if (_listViewArtists != null) { _listAdapterArtists.SetData(_entities); _listViewArtists.SetSelection(0); } break; case MobileLibraryBrowserType.Albums: int index2 = _viewFlipper.IndexOfChild(_gridViewAlbums); _viewFlipper.DisplayedChild = index2; if (_gridViewAlbums != null) _gridAdapter.SetData(entities); break; case MobileLibraryBrowserType.Songs: int index3 = _viewFlipper.IndexOfChild(_layoutSongs); _viewFlipper.DisplayedChild = index3; if (_entities.Count > 0) { var audioFile = _entities[0].AudioFile; _lblArtistName.Text = audioFile.ArtistName; _lblAlbumTitle.Text = audioFile.AlbumTitle; _lblAlbumSongCount.Text = _entities.Count.ToString() + " songs"; _imageAlbum.SetImageBitmap(null); Task.Factory.StartNew(() => { string key = audioFile.ArtistName + "_" + audioFile.AlbumTitle; //Console.WriteLine("MobileLibraryFragment - Album art - key: {0}", key); if (_imageAlbum.Tag == null || _imageAlbum.Tag.ToString().ToUpper() != key.ToUpper()) { //Console.WriteLine("MobileLibraryFragment - Album art - key: {0} is different than tag {1} - Fetching album art...", key, (_imageAlbum.Tag == null) ? "null" : _imageAlbum.Tag.ToString()); _imageAlbum.Tag = key; byte[] bytesImage = AudioFile.ExtractImageByteArrayForAudioFile(audioFile.FilePath); if (bytesImage.Length == 0) _imageAlbum.SetImageBitmap(null); else //((MainActivity)Activity).BitmapCache.LoadBitmapFromByteArray(bytesImage, key, _imageAlbum); BitmapCache.LoadBitmapFromByteArray(bytesImage, key, _imageAlbum); } }); } if (_listViewSongs != null) { _listAdapterSongs.SetData(_entities); _listViewSongs.SetSelection(0); } break; case MobileLibraryBrowserType.Playlists: int index4 = _viewFlipper.IndexOfChild(_listViewPlaylists); _viewFlipper.DisplayedChild = index4; break; } }); }