示例#1
0
        protected override void OnNavigatedFrom(object sender, CrystalNavigationEventArgs e)
        {
            NepApp.SongManager.History.SongAdded -= History_SongAdded;
            History = null;

            base.OnNavigatedFrom(sender, e);
        }
示例#2
0
        protected override async void OnNavigatedTo(object sender, CrystalNavigationEventArgs e)
        {
            IsBusy  = true;
            History = new ObservableCollection <SongHistoryItem>();

            try
            {
                //await UI.WaitForUILoadAsync();

                NepApp.SongManager.History.SongAdded += History_SongAdded;

                var items = await NepApp.SongManager.History.GetHistoryOfSongsAsync();

                await App.Dispatcher.RunWhenIdleAsync(() =>
                {
                    if (items != null)
                    {
                        History.AddRange(items);
                    }
                });

                base.OnNavigatedTo(sender, e);
            }
            catch (Exception)
            {
                //todo handle exception
            }
            finally
            {
                IsBusy = false;
            }
        }
示例#3
0
        protected override void OnNavigatedTo(object sender, CrystalNavigationEventArgs e)
        {
            NepApp.SongManager.PreSongChanged += SongManager_PreSongChanged;

            UpdateMetadata();

            base.OnNavigatedTo(sender, e);
        }
示例#4
0
        protected internal override void OnNavigatedFrom(object sender, CrystalNavigationEventArgs e)
        {
            //Clean up!
            Status.RemoveAllControllersForCallingViewModel(this);

            UI.Cleanup();

            base.OnNavigatedFrom(sender, e);
        }
        protected override void OnNavigatedFrom(object sender, CrystalNavigationEventArgs e)
        {
            NepApp.Network.IsConnectedChanged -= Network_IsConnectedChanged;

            //SortedAvailableStations.Clear();
            AvailableStations?.Clear();

            SelectedStation = null;

            base.OnNavigatedFrom(sender, e);
        }
        protected override async void OnNavigatedTo(object sender, CrystalNavigationEventArgs e)
        {
            IsBusy = true;

            NepApp.Network.IsConnectedChanged += Network_IsConnectedChanged;

            DetectNetworkStatus();

            if (AvailableStations == null || AvailableStations?.Count == 0)
            {
                try
                {
                    var items = (await NepApp.Stations.GetStationsAsync().ConfigureAwait(false)).OrderBy(x => x.Name);
                    await App.Dispatcher.RunWhenIdleAsync(() =>
                    {
                        AvailableStations = new ObservableCollection <StationItem>(items);
                    });

                    //AvailableStations = new StationsPageObservableVirtualizingCollection((await NepApp.Stations.GetStationsAsync()).Take(5));
                }
                catch (Exception ex)
                {
                    await NepApp.UI.ShowInfoDialogAsync("Uh-oh!", "An unexpected error occurred. " + ex.ToString());
                }
                finally {
                    IsBusy = false;
                }

                //SortedAvailableStations = new AdvancedCollectionView(AvailableStations, false);
                //SortedAvailableStations.SortDescriptions.Add(new SortDescription("Name", SortDirection.Ascending, null));

                //NepApp.Stations.ObserveStationsAsync().Subscribe<StationItem>((StationItem item) =>
                //{
                //    AvailableStations.Add(item);
                //}, async (Exception ex) =>
                //{
                //    IsBusy = false;
                //    await NepApp.UI.ShowInfoDialogAsync("Uh-oh!", "An unexpected error occurred. " + ex.ToString());
                //}, () =>
                //{
                //    //when done
                //    LoadLastPlayedStation();
                //    IsBusy = false;
                //});

                //GroupedStations = AvailableStations.GroupBy(x => x.Group ?? "Ungrouped Stations").OrderBy(x => x.Key).Select(x => x);
            }
            else
            {
                IsBusy = false;
            }

            base.OnNavigatedTo(sender, e);
        }
        protected override void OnNavigatedFrom(object sender, CrystalNavigationEventArgs e)
        {
            NepApp.MediaPlayer.MediaEngagementChanged -= MediaPlayer_MediaEngagementChanged;
            NepApp.MediaPlayer.IsPlayingChanged       -= MediaPlayer_IsPlayingChanged;
            NepApp.SongManager.PreSongChanged         -= SongManager_PreSongChanged;
            NepApp.SongManager.SongChanged            -= SongManager_SongChanged;
            NepApp.SongManager.ArtworkProcessor.SongArtworkProcessingComplete -= SongManager_SongArtworkProcessingComplete;
            NepApp.MediaPlayer.FatalMediaErrorOccurred -= MediaPlayer_FatalMediaErrorOccurred;

            base.OnNavigatedFrom(sender, e);
        }
示例#8
0
        protected override void OnNavigatedFrom(object sender, CrystalNavigationEventArgs e)
        {
            if (SortedScheduleItems != null)
            {
                SortedScheduleItems.Source = null;
            }

            ScheduleItems?.Clear();
            ScheduleItems = null;

            base.OnNavigatedFrom(sender, e);
        }
        protected override void OnNavigatedTo(object sender, CrystalNavigationEventArgs e)
        {
            NepApp.MediaPlayer.IsPlayingChanged       += MediaPlayer_IsPlayingChanged;
            NepApp.MediaPlayer.MediaEngagementChanged += MediaPlayer_MediaEngagementChanged;
            NepApp.SongManager.PreSongChanged         += SongManager_PreSongChanged;
            NepApp.SongManager.SongChanged            += SongManager_SongChanged;
            NepApp.SongManager.ArtworkProcessor.SongArtworkProcessingComplete += SongManager_SongArtworkProcessingComplete;
            NepApp.MediaPlayer.FatalMediaErrorOccurred += MediaPlayer_FatalMediaErrorOccurred;

            IsPlaying      = NepApp.MediaPlayer.IsPlaying;
            IsMediaEngaged = NepApp.MediaPlayer.IsMediaEngaged;

            UpdateMetadataFollowedByArtwork();

            base.OnNavigatedTo(sender, e);
        }
示例#10
0
        protected override async void OnNavigatedTo(object sender, CrystalNavigationEventArgs e)
        {
            if (ScheduleItems == null)
            {
                IsBusy = true;

                try
                {
                    //await LoadScheduleAsync();
                }
                catch
                {
                }

                IsBusy = false;
            }

            base.OnNavigatedTo(sender, e);
        }
        protected override void OnNavigatedTo(object sender, CrystalNavigationEventArgs e)
#endif
        {
            base.OnNavigatedTo(sender, e);

            var stationsPage = NepApp.UI.NavigationItems.FirstOrDefault(X => X.NavigationViewModelType == typeof(StationsPageViewModel));

            if (stationsPage == null)
            {
                throw new Exception("Stations page not found.");
            }
            NepApp.UI.NavigateToItem(stationsPage);

            RaisePropertyChanged(nameof(ResumePlaybackCommand));

            //CheckForReverseHandoffOpportunitiesIfSupported();

#if RELEASE
            await CheckForUpdatesAsync();
#endif

            AskToStreamLastPlayedStation();
        }
 private void InlineNavigationService_Navigated(object sender, CrystalNavigationEventArgs e)
 {
 }
 protected override async void OnNavigatedTo(object sender, CrystalNavigationEventArgs e)
示例#14
0
 protected internal override sealed bool OnNavigatingTo(object sender, CrystalNavigationEventArgs e)
 {
     return(base.OnNavigatingTo(sender, e));
 }
示例#15
0
 protected override void OnNavigatedFrom(object sender, CrystalNavigationEventArgs e)
 {
     NepApp.SongManager.PreSongChanged -= SongManager_PreSongChanged;
     base.OnNavigatedFrom(sender, e);
 }
示例#16
0
 private void InlineNavigationService_Navigated(object sender, CrystalNavigationEventArgs e)
 {
     //windowService.SetAppViewBackButtonVisibility(inlineNavigationService.CanGoBackward);
     UpdateSelectedNavigationItems();
 }
示例#17
0
 protected internal virtual void OnNavigatedFrom(object sender, CrystalNavigationEventArgs e)
 {
 }
示例#18
0
 protected internal virtual bool OnNavigatingFrom(object sender, CrystalNavigationEventArgs e)
 {
     return(false);
 }
 protected override void OnNavigatedFrom(object sender, CrystalNavigationEventArgs e)
 {
     NepApp.Settings.SettingChanged -= Settings_SettingChanged;
     base.OnNavigatedFrom(sender, e);
 }
示例#20
0
 protected internal override sealed void OnNavigatedTo(object sender, CrystalNavigationEventArgs e)
 {
     base.OnNavigatedTo(sender, e);
 }