private async Task StopQRTrackingAsyncImpl(Task previousTask)
        {
            await previousTask.IgnoreCancellation();

            if (qrTracker != null &&
                IsTrackerRunning)
            {
                qrTracker.Stop();
                IsTrackerRunning = false;
                StartResult      = QRTrackerStartResult.DeviceNotConnected;
                DebugLog("QR tracker was stopped.");

                lock (qrCodesList)
                {
                    qrCodesList.Clear();
                    DebugLog("QR Code list was cleared when stopping.");
                }
            }

            lock (lockObj)
            {
                startTrackerTask = null;
                DebugLog("Start tracker task was set back to null.");
            }
        }
Beispiel #2
0
 public void StopQRTracking()
 {
     if (IsTrackerRunning)
     {
         IsTrackerRunning = false;
         qrTracker.Stop();
         StartResult = QRTrackerStartResult.DeviceNotConnected;
     }
 }
        public void StopQRTracking()
        {
            if (IsTrackerRunning)
            {
                IsTrackerRunning = false;
                qrTracker.Stop();
                StartResult = QRTrackerStartResult.DeviceNotConnected;
                QRCodesTrackingStateChanged?.Invoke(this, false);

                lock (qrCodesList)
                {
                    qrCodesList.Clear();
                }
            }
        }
Beispiel #4
0
 public void StopQRTracking()
 {
     if (IsTrackerRunning)
     {
         IsTrackerRunning = false;
         if (qrTracker != null)
         {
             qrTracker.Stop();
             qrCodesList.Clear();
         }
         StartResult = QRTrackerStartResult.DeviceNotConnected;
         var handlers = QRCodesTrackingStateChanged;
         if (handlers != null)
         {
             handlers(this, false);
         }
     }
 }