示例#1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BusySpinner"/> class.
        /// </summary>
        /// <param name="invalidater">The invalidater.</param>
        /// <param name="interval">The interval.</param>
        public BusySpinner(IInvalidater invalidater, TimeSpan interval)
        {
            var timer = invalidater.CreateTimer();

            timer.Tick += (s, e) => invalidater.Invalidate();
            timer.Start(interval, interval);
        }
 public Task OnShowingAsync(IInvalidater invalidater, ICharacterContext?characterContext)
 {
     this.invalidater = invalidater;
     this.rfidTransceiver.StartScanning();
     this.rotaryEncoder.Start();
     this.job = new ContinuousJob(this.Action);
     this.job.Start();
     return(Task.CompletedTask);
 }
示例#3
0
 /// <inheritdoc />
 public Task OnShowingAsync(IInvalidater invalidater, ICharacterContext?characterContext)
 {
     this.invalidater    = invalidater;
     this.networkDevices = this.networkDeviceInfoProvider.GetNetworkDeviceInfos().Where(
         x => !Equals(x.IpAddress, IPAddress.Loopback) &&
         !Equals(x.IpAddress, IPAddress.None) &&
         !Equals(x.IpAddress, IPAddress.Any)).ToList();
     this.timer       = invalidater.CreateTimer();
     this.timer.Tick += this.OnTimerTick;
     this.timer.Start(TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1));
     return(Task.CompletedTask);
 }
示例#4
0
 /// <summary>
 /// Called before the text view is shown.
 /// </summary>
 /// <param name="invalidater">The invalidater.</param>
 /// <param name="characterContext">The character context.</param>
 public Task OnShowingAsync(IInvalidater invalidater, ICharacterContext?characterContext)
 {
     this.ResetPlayerState();
     PlayerCustomCharacters.TrySetCharacters(characterContext);
     this.invalidater  = invalidater;
     this.playerStatus = this.playerStatusUpdater.Status;
     this.playerStatusUpdater.StatusChanged += this.OnPlayerStatusUpdaterStatusChanged;
     this.volumeStatus.VolumeChanged        += this.OnVolumeStatusVolumeChanged;
     this.artistTextScroller = new TextScroller(
         invalidater,
         ScrollMode.Restart,
         AnimationStartDelay,
         AnimationInterval,
         AnimationPauseDelay);
     this.titleTextScroller = new TextScroller(
         invalidater,
         ScrollMode.Restart,
         AnimationStartDelay,
         AnimationInterval,
         AnimationPauseDelay);
     this.muteTextBlinker = new TextBlinker(invalidater, AnimationInterval, this.volumeStatus.IsMuted);
     this.playerStatusUpdater.UpdateStatusAsync();
     return(Task.CompletedTask);
 }
示例#5
0
 /// <inheritdoc />
 public Task OnShowingAsync(IInvalidater invalidater, ICharacterContext?characterContext)
 {
     return(Task.CompletedTask);
 }
 public Task OnShowingAsync(IInvalidater invalidater, ICharacterContext?characterContext)
 {
     this.busySpinner = new BusySpinner(invalidater, TimeSpan.FromMilliseconds(15));
     return(Task.CompletedTask);
 }
示例#7
0
 /// <inheritdoc />
 public async Task OnShowingAsync(IInvalidater invalidater, ICharacterContext?characterContext)
 {
     this.greeting = await this.greetingProvider.GetGreetingAsync().ConfigureAwait(false);
 }