Example #1
0
        public SyncEngine(
            ICloudFileWriter cloudFileWriter,
            IDownloadManager downloadManager,
            IAccountManager accountManager,
            ISoundDataProvider soundDataProvider,
            IOnlineSoundDataProvider onlineSoundDataProvider,
            IAppSettings appSettings,
            ISoundMixService soundMixService,
            ITelemetry telemetry)
        {
            Guard.IsNotNull(cloudFileWriter, nameof(cloudFileWriter));
            Guard.IsNotNull(downloadManager, nameof(downloadManager));
            Guard.IsNotNull(accountManager, nameof(accountManager));
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(onlineSoundDataProvider, nameof(onlineSoundDataProvider));
            Guard.IsNotNull(soundMixService, nameof(soundMixService));
            Guard.IsNotNull(appSettings, nameof(appSettings));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNullOrEmpty(appSettings.CloudSyncFileUrl, nameof(appSettings.CloudSyncFileUrl));

            _accountManager          = accountManager;
            _cloudFileWriter         = cloudFileWriter;
            _downloadManager         = downloadManager;
            _soundDataProvider       = soundDataProvider;
            _onlineSoundDataProvider = onlineSoundDataProvider;
            _soundMixService         = soundMixService;
            _telemetry        = telemetry;
            _cloudSyncFileUrl = appSettings.CloudSyncFileUrl;
            _dataChangeQueue  = new Queue <string>();

            _downloadManager.DownloadsCompleted  += OnDownloadsCompleted;
            _soundDataProvider.LocalSoundDeleted += OnLocalSoundDeleted;
            _soundDataProvider.LocalSoundAdded   += OnLocalSoundAdded;
            _accountManager.SignInUpdated        += OnSignInUpdated;
        }
Example #2
0
        public SoundVmFactory(
            IDownloadManager downloadManager,
            IMixMediaPlayerService player,
            ITelemetry telemetry,
            IPreviewService previewService,
            ISoundDataProvider soundDataProvider,
            ISoundMixService soundMixService,
            IUserSettings userSettings,
            IIapService iapService,
            IRenamer renamer,
            IServiceProvider serviceProvider)
        {
            Guard.IsNotNull(downloadManager, nameof(downloadManager));
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(player, nameof(player));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNull(iapService, nameof(iapService));
            Guard.IsNotNull(previewService, nameof(previewService));
            Guard.IsNotNull(userSettings, nameof(userSettings));
            Guard.IsNotNull(soundMixService, nameof(soundMixService));
            Guard.IsNotNull(renamer, nameof(renamer));
            Guard.IsNotNull(serviceProvider, nameof(serviceProvider));

            _userSettings      = userSettings;
            _downloadManager   = downloadManager;
            _previewService    = previewService;
            _soundMixService   = soundMixService;
            _iapService        = iapService;
            _soundDataProvider = soundDataProvider;
            _player            = player;
            _renamer           = renamer;
            _telemetry         = telemetry;
            _serviceProvider   = serviceProvider;
        }
Example #3
0
        public SoundViewModel(
            Sound s,
            IMixMediaPlayerService playerService,
            ISoundDataProvider soundDataProvider,
            ISoundMixService soundMixService,
            ITelemetry telemetry,
            IRenamer renamer,
            IDialogService dialogService,
            IIapService iapService,
            IDownloadManager downloadManager)
        {
            Guard.IsNotNull(s, nameof(s));
            Guard.IsNotNull(playerService, nameof(playerService));
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNull(soundMixService, nameof(soundMixService));
            Guard.IsNotNull(renamer, nameof(renamer));
            Guard.IsNotNull(dialogService, nameof(dialogService));
            Guard.IsNotNull(iapService, nameof(iapService));
            Guard.IsNotNull(downloadManager, nameof(downloadManager));

            _sound             = s;
            _soundMixService   = soundMixService;
            _playerService     = playerService;
            _soundDataProvider = soundDataProvider;
            _telemetry         = telemetry;
            _renamer           = renamer;
            _dialogService     = dialogService;
            _iapService        = iapService;
            _downloadManager   = downloadManager;

            DeleteCommand = new RelayCommand(DeleteSound);
            RenameCommand = new AsyncRelayCommand(RenameAsync);
            PlayCommand   = new AsyncRelayCommand(PlayAsync);
        }
        public ActiveTrackListViewModel(
            IMixMediaPlayerService player,
            ISoundVmFactory soundVmFactory,
            IUserSettings userSettings,
            ITelemetry telemetry,
            ISoundMixService soundMixService,
            ISoundDataProvider soundDataProvider,
            IAppSettings appSettings)
        {
            Guard.IsNotNull(player, nameof(player));
            Guard.IsNotNull(soundVmFactory, nameof(soundVmFactory));
            Guard.IsNotNull(userSettings, nameof(userSettings));
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(soundMixService, nameof(soundMixService));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNull(appSettings, nameof(appSettings));

            _loadPreviousState = appSettings.LoadPreviousState;
            _telemetry         = telemetry;
            _soundMixService   = soundMixService;
            _soundDataProvider = soundDataProvider;
            _userSettings      = userSettings;
            _soundVmFactory    = soundVmFactory;
            _player            = player;

            RemoveCommand = new RelayCommand <Sound>(RemoveSound);
            SaveCommand   = new AsyncRelayCommand <string>(SaveAsync);
            ClearCommand  = new RelayCommand(ClearAll);
        }
Example #5
0
        public SoundViewModel(
            Sound s,
            IMixMediaPlayerService playerService,
            int index,
            ISoundDataProvider soundDataProvider,
            ISoundMixService soundMixService,
            ITelemetry telemetry,
            IRenamer renamer)
        {
            Guard.IsNotNull(s, nameof(s));
            Guard.IsNotNull(playerService, nameof(playerService));
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNull(soundMixService, nameof(soundMixService));
            Guard.IsNotNull(renamer, nameof(renamer));

            Index              = index;
            _sound             = s;
            _soundMixService   = soundMixService;
            _playerService     = playerService;
            _soundDataProvider = soundDataProvider;
            _telemetry         = telemetry;
            _renamer           = renamer;

            _playerService.SoundRemoved += OnSoundPaused;
            _playerService.SoundAdded   += OnSoundPlayed;

            DeleteCommand = new RelayCommand(DeleteSound);
            RenameCommand = new AsyncRelayCommand(RenameAsync);
        }
Example #6
0
        public LinkProcessor(
            ITelemetry telemetry,
            ISoundMixService soundMixService,
            IDialogService dialogService)
        {
            Guard.IsNotNull(soundMixService, nameof(soundMixService));
            Guard.IsNotNull(dialogService, nameof(dialogService));
            Guard.IsNotNull(telemetry, nameof(telemetry));

            _telemetry       = telemetry;
            _soundMixService = soundMixService;
            _dialogService   = dialogService;
        }