Example #1
0
        /// <summary>
        ///     Resumes or starts playing from state.
        /// </summary>
        public void Play()
        {
            try
            {
                // If playback was already started once we can just resume playing.
                if (!_playbackStartedPreviously)
                {
                    _playbackStartedPreviously = true;

                    // If the task was cancelled we would have saved the current track and its position. We will try playback from there.
                    var currentTrack         = _settingsUtility.Read(ApplicationSettingsConstants.QueueId, string.Empty);
                    var currentTrackPosition = _settingsUtility.Read <TimeSpan?>(ApplicationSettingsConstants.Position,
                                                                                 null);
                    if (!string.IsNullOrEmpty(currentTrack))
                    {
                        InternalStartPlayer(currentTrack, currentTrackPosition);
                    }
                    else
                    {
                        BackgroundMediaPlayer.Current.Play();
                    }
                }
                else
                {
                    BackgroundMediaPlayer.Current.Play();
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
            }
        }
Example #2
0
 public AppSettingsUtility(ISettingsUtility settingsUtility)
 {
     _settingsUtility = settingsUtility;
     DownloadsPath = settingsUtility.Read("DownloadsPath", "virtual://Music/Audiotica/");
     TempDownloadsPath = settingsUtility.Read("TempDownloadsPath", ApplicationData.Current.TemporaryFolder.Path);
     _theme = _settingsUtility.Read(ApplicationSettingsConstants.Theme, (int)ElementTheme.Default);
     _ads = _settingsUtility.Read(ApplicationSettingsConstants.Ads, true);
 }
Example #3
0
 public AppSettingsUtility(ISettingsUtility settingsUtility)
 {
     _settingsUtility  = settingsUtility;
     DownloadsPath     = settingsUtility.Read("DownloadsPath", "virtual://Music/Audiotica/");
     TempDownloadsPath = settingsUtility.Read("TempDownloadsPath", ApplicationData.Current.TemporaryFolder.Path);
     _theme            = _settingsUtility.Read(ApplicationSettingsConstants.Theme, (int)ElementTheme.Default);
     _ads = _settingsUtility.Read(ApplicationSettingsConstants.Ads, true);
 }
Example #4
0
        public SongsPageViewModel(
            ILibraryCollectionService libraryCollectionService,
            ILibraryService libraryService,
            ISettingsUtility settingsUtility,
            IPlayerService playerService)
        {
            _libraryCollectionService = libraryCollectionService;
            _settingsUtility = settingsUtility;
            _playerService = playerService;
            LibraryService = libraryService;

            SortItems =
                Enum.GetValues(typeof (TrackSort))
                    .Cast<TrackSort>()
                    .Select(sort => new ListBoxItem { Content = sort.GetEnumText(), Tag = sort })
                    .ToList();
            SortChangedCommand = new DelegateCommand<ListBoxItem>(SortChangedExecute);
            ShuffleAllCommand = new DelegateCommand(ShuffleAllExecute);

            var defaultSort = _settingsUtility.Read(ApplicationSettingsConstants.SongSort,
                TrackSort.DateAdded,
                SettingsStrategy.Roam);
            DefaultSort = SortItems.IndexOf(SortItems.FirstOrDefault(p => (TrackSort)p.Tag == defaultSort));
            ChangeSort(defaultSort);
        }
Example #5
0
        public SongsPageViewModel(
            ILibraryCollectionService libraryCollectionService,
            ILibraryService libraryService,
            ISettingsUtility settingsUtility,
            IPlayerService playerService)
        {
            _libraryCollectionService = libraryCollectionService;
            _settingsUtility          = settingsUtility;
            _playerService            = playerService;
            LibraryService            = libraryService;

            SortItems =
                Enum.GetValues(typeof(TrackSort))
                .Cast <TrackSort>()
                .Select(sort => new ListBoxItem {
                Content = sort.GetEnumText(), Tag = sort
            })
                .ToList();
            SortChangedCommand = new DelegateCommand <ListBoxItem>(SortChangedExecute);
            ShuffleAllCommand  = new DelegateCommand(ShuffleAllExecute);

            var defaultSort = _settingsUtility.Read(ApplicationSettingsConstants.SongSort,
                                                    TrackSort.DateAdded,
                                                    SettingsStrategy.Roam);

            DefaultSort = SortItems.IndexOf(SortItems.FirstOrDefault(p => (TrackSort)p.Tag == defaultSort));
            ChangeSort(defaultSort);
        }
Example #6
0
        public AppCredential GetCredentials(string resource)
        {
            var username = _settingsUtility.Read(UsernamePrefix + resource, default(string));
            var password = _settingsUtility.Read(PasswordPrefix + resource, default(string));

            if (string.IsNullOrEmpty(username) && string.IsNullOrEmpty(password))
            {
                return(null);
            }

            if (!string.IsNullOrEmpty(password))
            {
                password = CryptoHelper.Decrypt(password, _encryptionKey);
            }

            return(new AppCredential(username, password));
        }
Example #7
0
        public void RestoreSavedNavigation()
        {
            var state = _settingsUtility.Read(SettingsNavigationState, string.Empty);

            _sessions = _settingsUtility.Read <Dictionary <string, Dictionary <string, object> > >(SettingsSessions, null) ??
                        new Dictionary <string, Dictionary <string, object> >();

            if (string.IsNullOrEmpty(state))
            {
                Navigate(DefaultPage);
            }
            else
            {
                _frame.SetNavigationState(state);
                _settingsUtility.Remove(SettingsNavigationState);
                _settingsUtility.Remove(SettingsSessions);
            }
        }
        public void OnStart()
        {
            LaunchCount = _settingsUtility.Read("LaunchCount", 0) + 1;
            _settingsUtility.Write("LaunchCount", LaunchCount);

            // get current app version
            CurrentVersion = Package.Current.Id.Version.ToVersion();

            // get previous app version
            var version = _settingsUtility.Read("LastLaunchVersion", CurrentVersion);

            // update the previous version with the current
            _settingsUtility.Write("LastLaunchVersion", CurrentVersion);

            // Check if we were just updated
            JustUpdated = CurrentVersion > version;

            IsFirstLaunch = LaunchCount == 1;
        }
Example #9
0
        public void OnStart()
        {
            LaunchCount = _settingsUtility.Read("LaunchCount", 0) + 1;
            _settingsUtility.Write("LaunchCount", LaunchCount);

            var versionName = Application.Context.PackageManager.GetPackageInfo(Application.Context.PackageName, 0).VersionName;

            if (versionName.Contains("."))
            {
            }
            // get current app version
            //CurrentVersion = Package.Current.Id.Version.ToVersion();

            // get previous app version
            var version = _settingsUtility.Read("LastLaunchVersion", CurrentVersion);

            // update the previous version with the current
            _settingsUtility.Write("LastLaunchVersion", CurrentVersion);

            // Check if we were just updated
            JustUpdated = CurrentVersion > version;

            IsFirstLaunch = LaunchCount == 1;
        }
Example #10
0
        public override async void OnNavigatedTo(
            object parameter,
            NavigationMode mode,
            IDictionary <string, object> state)
        {
            var name = parameter as string;

            Artist = _libraryService.Artists.FirstOrDefault(p => p.Name.EqualsIgnoreCase(name));
            if (Artist?.ArtworkUri == null)
            {
                foreach (var provider in _metadataProviders)
                {
                    try
                    {
                        var webArtist = await provider.GetArtistByNameAsync(name);

                        if (Artist != null && Artist.ArtworkUri == null)
                        {
                            Artist.ArtworkUri = webArtist.Artwork.ToString();
                        }
                        else
                        {
                            Artist = await _webArtistConverter.ConvertAsync(webArtist);
                        }
                        if (Artist != null)
                        {
                            break;
                        }
                    }
                    catch
                    {
                        // ignored
                    }
                }

                if (Artist == null)
                {
                    _navigationService.GoBack();
                    return;
                }
            }

            if (_settingsUtility.Read(ApplicationSettingsConstants.IsArtistAdaptiveColorEnabled, true))
            {
                DetectColorFromArtwork();
            }
            LoadWebData();
        }
Example #11
0
        public PlayerWrapper(SmtcWrapper smtcWrapper, ForegroundMessenger foregroundMessenger,
            ISettingsUtility settingsUtility)
        {
            _smtcWrapper = smtcWrapper;
            _foregroundMessenger = foregroundMessenger;
            _settingsUtility = settingsUtility;

            SubscribeToMessenger();
            SubscribeToSmtc();

            // Add handlers for MediaPlayer
            BackgroundMediaPlayer.Current.CurrentStateChanged += Current_CurrentStateChanged;

            // Read persisted state of foreground app
            ForegroundAppState = _settingsUtility.Read(ApplicationSettingsConstants.AppState, AppState.Unknown);
        }
Example #12
0
        public PlayerWrapper(SmtcWrapper smtcWrapper, ForegroundMessenger foregroundMessenger,
                             ISettingsUtility settingsUtility)
        {
            _smtcWrapper         = smtcWrapper;
            _foregroundMessenger = foregroundMessenger;
            _settingsUtility     = settingsUtility;

            SubscribeToMessenger();
            SubscribeToSmtc();

            // Add handlers for MediaPlayer
            BackgroundMediaPlayer.Current.CurrentStateChanged += Current_CurrentStateChanged;

            // Read persisted state of foreground app
            ForegroundAppState = _settingsUtility.Read(ApplicationSettingsConstants.AppState, AppState.Unknown);
        }