예제 #1
0
 public AssessmentEventRepository(
     IApplicationSettingsHelper applicationSettingsHelper,
     IHttpClientWrapper httpClientWrapper) : base("v1.1", applicationSettingsHelper, httpClientWrapper)
 {
     _applicationSettingsHelper = applicationSettingsHelper;
     _httpClientWrapper         = httpClientWrapper;
 }
 public RevenueObjectRepository(
     IApplicationSettingsHelper applicationSettingsHelper,
     IHttpClientWrapper httpClientWrapper) : base("v1.1", applicationSettingsHelper, httpClientWrapper)
 {
     _applicationSettingsHelper = applicationSettingsHelper;
     _httpClientWrapper         = httpClientWrapper;
 }
 public BaseValueSegmentRepository(
     IApplicationSettingsHelper applicationSettingsHelper,
     IHttpClientWrapper httpClientWrapper) : base("v1.1", applicationSettingsHelper, httpClientWrapper)
 {
     _applicationSettingsHelper = applicationSettingsHelper;
     _httpClientWrapper         = httpClientWrapper;
 }
예제 #4
0
 public LegalPartyRepository(
     IApplicationSettingsHelper applicationSettingsHelper,
     IHttpClientWrapper httpClientWrapper) : base("v1.1", applicationSettingsHelper, httpClientWrapper)
 {
     _applicationSettingsHelper = applicationSettingsHelper;
     _httpClientWrapper         = httpClientWrapper;
 }
예제 #5
0
 protected RepositoryBase(string version,
                          IApplicationSettingsHelper applicationSettingsHelper,
                          IHttpClientWrapper httpClientWrapper)
 {
     Version = version;
     ApplicationSettingsHelper = applicationSettingsHelper;
     HttpClientWrapper         = httpClientWrapper;
 }
예제 #6
0
        // TODO: Add documentation.
        // TODO: Add logging.
        public TextSpeaker(ILogger logger, IApplicationSettingsHelper applicationSettingsHelper, IPlaybackManager playbackManager)
        {
            this.playbackManager = playbackManager;
            this.logger = logger;
            this.applicationSettingsHelper = applicationSettingsHelper;

            mediaElement = new MediaElement { Visibility = Visibility.Collapsed };
            attachMediElement();
        }
예제 #7
0
 /// <summary>
 /// Creates new instance of <see cref="EpisodeListManager"/>
 /// </summary>
 /// <param name="logger">Instance of <see cref="ILogger"/></param>
 /// <param name="fileUtils">Instance of <see cref="IFileUtils"/></param>
 /// <param name="applicationSettingsHelper">Instance of <see cref="IApplicationSettingsHelper"/></param>
 /// <param name="loaderFactory">Instance of <see cref="ILoaderFactory"/></param>
 public EpisodeListManager(
    ILogger logger,
    IFileUtils fileUtils,
    IApplicationSettingsHelper applicationSettingsHelper,
    ILoaderFactory loaderFactory)
 {
     this.loaderFactory = loaderFactory;
     this.applicationSettingsHelper = applicationSettingsHelper;
     this.fileUtils = fileUtils;
     this.logger = logger;
     Initialization = initializeAsync();
 }
예제 #8
0
        /// <summary>
        /// Creates new instance of <see cref="PlaybackManager"/>
        /// </summary>
        /// <param name="logger"><see cref="ILogger"/> instance</param>
        /// <param name="applicationSettingsHelper"><see cref="IApplicationSettingsHelper"/> instance</param>
        public PlaybackManager(ILogger logger, IApplicationSettingsHelper applicationSettingsHelper)
        {
            backgroundAudioInitializedEvent = new AutoResetEvent(false);
            this.logger = logger;
            this.applicationSettingsHelper = applicationSettingsHelper;

            // Ensure that Background Audio is initialized by accessing BackgroundMediaPlayer.Current
            var state = MediaPlayer.CurrentState;
            logger.LogMessage($"Foreground playback manager: Current media player state is {state}.", LoggingLevel.Information);

            BackgroundMediaPlayer.MessageReceivedFromBackground += onMessageReceivedFromBackground;
            logger.LogMessage("Foreground playback manager initialized.", LoggingLevel.Information);
        }
예제 #9
0
 /// <summary>
 /// Creates new instance of <see cref="AudioManager"/>
 /// </summary>
 /// <param name="logger">The logger instance</param>
 /// <param name="applicationSettingsHelper">The application settings helper instance</param>
 /// <param name="smtc">Instance of <see cref="SystemMediaTransportControls"/></param>
 public AudioManager(
     ILogger logger,
     IApplicationSettingsHelper applicationSettingsHelper,
     SystemMediaTransportControls smtc)
 {
     this.logger = logger;
     this.applicationSettingsHelper = applicationSettingsHelper;
     this.smtc = smtc;
     logger.LogMessage("Initializing Background Audio Manager...");
     setupSmtc();
     subscribeToMediaEvents();
     playlistLoading = new TaskCompletionSource<bool>();
     playlistLoading.SetResult(true);
     logger.LogMessage("BackgroundAudio: Background Audio Manager has been initialized.", LoggingLevel.Information);
 }
예제 #10
0
        /// <summary>
        /// Creates ne instance of <see cref="VoiceCommandsHandler"/>
        /// </summary>
        /// <param name="logger">Instance of <see cref="ILogger"/></param>
        /// <param name="applicationSettingsHelper">Instance of <see cref="IApplicationSettingsHelper"/></param>
        /// <param name="episodeListManager">Instance of <see cref="IEpisodeListManager"/></param>
        /// <param name="playbackManager">Instance of <see cref="IPlaybackManager"/></param>
        /// <param name="textSpeaker">Instance of <see cref="ITextSpeaker"/></param>
        public VoiceCommandsHandler(
            ILogger logger,
            IApplicationSettingsHelper applicationSettingsHelper,
            IEpisodeListManager episodeListManager,
            IPlaybackManager playbackManager,
            ITextSpeaker textSpeaker)
        {
            this.textSpeaker = textSpeaker;
            this.playbackManager = playbackManager;
            this.episodeListManager = episodeListManager;
            this.applicationSettingsHelper = applicationSettingsHelper;
            this.logger = logger;

            Initialization = initializeAsync();
            logger.LogMessage("Voice commands handler initialized.", LoggingLevel.Information);
        }
예제 #11
0
        /// <summary>
        /// Creates new instance of <see cref="DownloadManager"/>
        /// </summary>
        /// <param name="logger">Instance of <see cref="ILogger"/></param>
        /// <param name="playlist">Instance of <see cref="IPlayList"/></param>
        /// <param name="loaderFactory">Instance of <see cref="ILoaderFactory"/></param>
        /// <param name="parser">Instance of <see cref="IParser"/></param>
        /// <param name="fileUtils">Instance of <see cref="IFileUtils"/></param>
        public DownloadManager(
            ILogger logger,
            ILoaderFactory loaderFactory,
            IParser parser,
            IApplicationSettingsHelper applicationSettingsHelper,
            IFileUtils fileUtils)
        {
            this.logger = logger;
            this.loaderFactory = loaderFactory;
            this.parser = parser;
            this.applicationSettingsHelper = applicationSettingsHelper;
            this.fileUtils = fileUtils;

            Initialization = RetrieveActiveDownloads();
            logger.LogMessage("DownloadManager: Initialized.", LoggingLevel.Information);
        }
예제 #12
0
        /// <summary>
        /// Creates new instance of <see cref="MainPage"/>
        /// </summary>
        public MainPage()
        {
            // TODO: Think about using static properties
            IContainer container = Container.Instance;

            logger = container.Resolve<ILogger>();
            applicationSettingsHelper = container.Resolve<IApplicationSettingsHelper>();
            mainPageViewModel = container.Resolve<MainPageViewModel>();

            NavigationCacheMode = NavigationCacheMode.Required;

            InitializeComponent();
            Loaded += onPageLoaded;
            Unloaded += onPageUnloaded;

            logger.LogMessage("MainPage has been created.");
        }
예제 #13
0
        /// <summary>
        /// The Run method is the entry point of a background task. 
        /// </summary>
        /// <param name="taskInstance"></param>
        public async void Run(IBackgroundTaskInstance taskInstance)
        {
            deferral = taskInstance.GetDeferral();
            taskInstance.Canceled += OnCanceled;
            taskInstance.Task.Completed += Taskcompleted;

            IContainer container = Container.Instance;
            Services.IoC.Register();

            logger = container.Resolve<ILogger>();
            logger.LogMessage($"BackgroundAudioTask {taskInstance.Task.Name} starting...");

            try
            {

                // Ensure that Background Audio is initialized by accessing BackgroundMediaPlayer.Current
                var state = BackgroundMediaPlayer.Current.CurrentState;
                logger.LogMessage($"BackgroundAudioTask BackgroundMediaPlayer state is {state}.", LoggingLevel.Information);

                applicationSettingsHelper = container.Resolve<IApplicationSettingsHelper>();
                await applicationSettingsHelper.LoadPlaylist();
                audioManager = new AudioManager(
                    logger,
                    applicationSettingsHelper,
                    SystemMediaTransportControls.GetForCurrentView());

                BackgroundMediaPlayer.MessageReceivedFromForeground -= onMessageReceivedFromForeground;
                BackgroundMediaPlayer.MessageReceivedFromForeground += onMessageReceivedFromForeground;

                applicationSettingsHelper.SaveSettingsValue(Keys.IsBackgroundTaskRunning, true);
                BackgroundMediaPlayer.SendMessageToForeground(new ValueSet { { Keys.IsBackgroundTaskRunning, null } });
                logger.LogMessage($"BackgroundAudioTask initialized.", LoggingLevel.Information);
            }
            catch (Exception ex)
            {
                logger.LogMessage($"Unhandled exception in BackgroundAudioTask. {ex.Message}", LoggingLevel.Critical);
                Dispose();
            }
        }
예제 #14
0
        /// <summary>
        /// Creates new instance of <see cref="EpisodesViewModel"/>
        /// </summary>
        /// <param name="logger">Instance of <see cref="ILogger"/></param>
        /// <param name="playlist">Instance of <see cref="IPlayList"/></param>
        /// <param name="loaderFactory">Instance of <see cref="ILoaderFactory"/></param>
        /// <param name="navigationService">Instance of <see cref="INavigationService"/></param>
        /// <param name="applicationSettingsHelper">Instance of <see cref="IApplicationSettingsHelper"/></param>
        /// <param name="downloadManager">Instance of <see cref="IDownloadManager"/></param>
        public EpisodesViewModel(
            ILogger logger,
            INavigationService navigationService,
            IApplicationSettingsHelper applicationSettingsHelper,
            IDownloadManager downloadManager,
            IEpisodeListManager episodeListManager)
        {
            this.logger = logger;
            this.navigationService = navigationService;
            this.applicationSettingsHelper = applicationSettingsHelper;
            this.downloadManager = downloadManager;
            this.episodeListManager = episodeListManager;

            RefreshCommand = new RelayCommand(loadEpisodeListFromServer);
            DownloadCommand = new RelayCommand(downloadEpisode);
            CancelDownloadCommand = new RelayCommand((Action<object>)cancelDownload);
            DeleteCommand = new RelayCommand((Action<object>)deleteEpisodeFromStorage);
            PlayCommand = new RelayCommand((Action<object>)playEpisode);
            AddToPlaylistCommand = new RelayCommand((Action<object>)addToPlaylistCommand);
            ClearPlaylistCommand = new RelayCommand((Action)clearPlaylistCommand);

            Application.Current.Resuming += onAppResuming;
            Application.Current.Suspending += (_, __) => unregisterUpdaterCompletionHandler();
            Application.Current.UnhandledException += (_, __) => unregisterUpdaterCompletionHandler();
            backgroundUpdaterTask = BackgroundTaskRegistration.AllTasks
                .Where(t => t.Value.Name == Constants.BackgroundUpdaterTaskName)
                .Select(t => t.Value)
                .FirstOrDefault();
            Initialization = initializeAsync();
            logger.LogMessage("EpisodesViewModel: Initialized.", LoggingLevel.Information);
        }
예제 #15
0
        /// <summary>
        /// Creates instance of <see cref="PlayerViewModel"/>
        /// </summary>
        /// <param name="logger">Instance of <see cref="ILogger"/></param>
        /// <param name="playlist">Instance of <see cref="IPlayList"/></param>
        /// <param name="applicationSettingsHelper">Instance of <see cref="IApplicationSettingsHelper"/></param>
        /// <param name="navigationService">Instance of <see cref="INavigationService"/></param>
        public PlayerViewModel(
            ILogger logger,
            IApplicationSettingsHelper applicationSettingsHelper,
            INavigationService navigationService,
            IPlaybackManager playbackManager)
        {
            this.logger = logger;
            this.navigationService = navigationService;
            this.applicationSettingsHelper = applicationSettingsHelper;
            this.playbackManager = playbackManager;
            pauseIcon = new SymbolIcon(Symbol.Pause);
            playIcon = new SymbolIcon(Symbol.Play);
            PlayButtonIcon = playIcon;
            progressUpdateTimer = new DispatcherTimer();

            // Using explicit casts here because of http://stackoverflow.com/questions/2057146/compiler-ambiguous-invocation-error-anonymous-method-and-method-group-with-fun
            PreviousTrackCommand = new RelayCommand((Action)onPreviousTrackAction);
            NextTrackCommand = new RelayCommand((Action)onNextTrackAction);
            PlayPauseCommand = new RelayCommand((Action)onPlayPauseAction);

            Application.Current.Suspending += onAppSuspending;
            Application.Current.Resuming += onAppResuming;

            Initialization = initializeAsync();
            logger.LogMessage("Foreground audio player initialized.", LoggingLevel.Information);
        }
 public AssessmentHeaderDomain(IHttpClientWrapper httpClientWrapper, IApplicationSettingsHelper applicationSettingsHelper)
 {
     _httpClientWrapper         = httpClientWrapper;
     _applicationSettingsHelper = applicationSettingsHelper;
 }