BarcodeImpl.Barcode.BarcodeScanTask_Completed C# (CSharp) Method

BarcodeScanTask_Completed() private method

private BarcodeScanTask_Completed ( object sender, BarcodeReaderLib readerResult ) : void
sender object
readerResult BarcodeReaderLib
return void
        private void BarcodeScanTask_Completed(object sender, BarcodeReaderLib.OpticalReaderResult readerResult)
        {
            System.Diagnostics.Debug.WriteLine("BarcodeScanTask_Completed 1");

             if (readerResult.TaskResult == TaskResult.None || _methodResult == null)
                return;

            if (readerResult.TaskResult == TaskResult.Cancel)
            {
                new Thread(() =>
                {
                    _m.WaitOne();

                    System.Diagnostics.Debug.WriteLine("BarcodeScanTask_Completed cancel");

                    Dictionary<string, string> result = new Dictionary<string, string>();
                    result.Add("status", "cancel");
                    result.Add("barcode", "");
                    _methodResult.set(result);
                    _methodResult = null;

                    _m.ReleaseMutex();
                }).Start();
                
                return;
            }

            VibrateController.Default.Start(TimeSpan.FromMilliseconds(Barcode.vibrateTimeMs));

            System.Diagnostics.Debug.WriteLine("BarcodeScanTask_Completed 2");

            _prevScanResult = readerResult.Text;

            CRhoRuntime.getInstance().logEvent(String.Format("Barcode: {0} = {1}",
                readerResult.Format,
                readerResult.Text)
            );

            new Thread(() =>
            {
                _m.WaitOne();

                System.Diagnostics.Debug.WriteLine("BarcodeScanTask_Completed send data");

                Dictionary<string, string> result = new Dictionary<string, string>();
                result.Add("status", "ok");
                result.Add("barcode", readerResult.Text);
                _methodResult.set(result);

                _m.ReleaseMutex();
            }).Start();
        }
    }
Barcode