Esempio n. 1
0
        public override Task StopAsync(CancellationToken stoppingToken)
        {
            Logger.LogInformation("Cancellation Received. Terminating app.");
            PinListener.Dispose();
            Snapshot.Dispose();

            return(Task.CompletedTask);
        }
Esempio n. 2
0
 private void IncObserverCount()
 {
     FObserverCount++;
     if (FPinListener == null)
     {
         FPinListener = new PinListener(this);
     }
 }
Esempio n. 3
0
 private void DecObserverCount()
 {
     FObserverCount--;
     if (FObserverCount == 0)
     {
         FPinListener.Dispose();
         FPinListener = null;
     }
 }
Esempio n. 4
0
 protected override void DisposeManaged()
 {
     if (FPinListener != null)
     {
         FPinListener.Dispose();
         FPinListener = null;
     }
     base.DisposeManaged();
 }
Esempio n. 5
0
        private void PinChanging(object sender, TextChangedEventArgs e)
        {
            int length = string.Concat(e.Text).Length;

            for (int i = 0; i < DigitCount; i++)
            {
                DigitView digit = (DigitView)_mainLayout.GetChildAt(i);
                if (length > i)
                {
                    digit.Text = MASK;
                }
                else
                {
                    digit.Text = string.Empty;
                }

                if (_pinInputField.HasFocus || _pinInputField.HasWindowFocus)
                {
                    if (i == length)
                    {
                        digit.Selected = true;
                        CenterSelectedDigit();
                    }
                    else
                    {
                        digit.Selected = false;
                    }
                }
            }

            if (length == DigitCount)
            {
                // Finished
                var handler = PinCompleted;
                handler?.Invoke(this, new PinCompletedEventArgs(_pinInputField.Text));
                PinListener?.PinEntered(_pinInputField.Text);
                _pinInputField.ClearFocus();
                HideKeyboard();
            }
        }
Esempio n. 6
0
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            Logger.LogInformation($"Listening on pin {PinListener.Pin}");

            PinListener.RegisterISRCallback(() => Counter.CurrentCount++);

            // subscribe to counter pulse snapshot event
            Snapshot.PulseSnapshot += async(s, e) =>
            {
                using (var scope = Services.CreateScope())
                    using (var pulseTransfer = scope.ServiceProvider
                                               .GetRequiredService <ILocalRepository <PulseDTO> >())
                    {
                        await pulseTransfer.SaveDataAsync(e.PulseData, stoppingToken);
                    }
            };

            while (!stoppingToken.IsCancellationRequested)
            {
                await Task.Delay(Timeout.Infinite, stoppingToken);
            }
        }