//Document Reader Completions
        public void OnInitCompleted(bool success, DocumentReaderException error)
        {
            DocReaderInitEvent readerInitEvent = new DocReaderInitEvent()
            {
                IsSuccess = success
            };

            if (success)
            {
                Console.WriteLine("Initialized sucessfully");

                IList <Scenario> data = new List <Scenario>();
                foreach (DocumentReaderScenario scenario in DocumentReader.Instance().AvailableScenarios)
                {
                    var scenarion = new Scenario()
                    {
                        Name = scenario.Name, Description = scenario.Description
                    };
                    data.Add(scenarion);
                }

                readerInitEvent.Scenarios       = data;
                readerInitEvent.IsRfidAvailable = DocumentReader.Instance().IsRFIDAvailableForUse;
            }
            else
            {
                Console.WriteLine("Initialization failed:" + error);
            }

            ScenariosObtained(this, readerInitEvent);
        }
Ejemplo n.º 2
0
        public void OnPrepareCompleted(bool status, DocumentReaderException error1)
        {
            if (updateDBDialog != null && updateDBDialog.IsShowing)
            {
                updateDBDialog.Dismiss();
            }

            initReader();
        }
Ejemplo n.º 3
0
        public void OnCompleted(int action, DocumentReaderResults results, DocumentReaderException error)
        {
            if (action == DocReaderAction.Complete)
            {
                if (loadingDialog != null && loadingDialog.IsShowing)
                {
                    loadingDialog.Dismiss();
                }

                //Checking, if nfc chip reading should be performed
                if (!isStartRfid && doRfid && results != null && results.ChipPage != 0)
                {
                    //setting the chip's access key - mrz on car access number
                    string accessKey = null;
                    if ((accessKey = results.GetTextFieldValueByType(EVisualFieldType.FtMrzStringsIcaoRfid)) != null && !String.IsNullOrEmpty(accessKey))
                    {
                        accessKey = results.GetTextFieldValueByType(EVisualFieldType.FtMrzStringsIcaoRfid).Replace("^", "").Replace("\n", "");
                        DocumentReader.Instance().RfidScenario().Mrz = accessKey;
                        DocumentReader.Instance().RfidScenario().PacePasswordType = ERFID_Password_Type.PptMrz;
                    }
                    else if ((accessKey = results.GetTextFieldValueByType(EVisualFieldType.FtMrzStrings)) != null && !String.IsNullOrEmpty(accessKey))
                    {
                        accessKey = results.GetTextFieldValueByType(EVisualFieldType.FtMrzStrings).Replace("^", "").Replace("\n", "");
                        DocumentReader.Instance().RfidScenario().Mrz = accessKey;
                        DocumentReader.Instance().RfidScenario().PacePasswordType = ERFID_Password_Type.PptMrz;
                    }
                    else if ((accessKey = results.GetTextFieldValueByType(EVisualFieldType.FtCardAccessNumber)) != null && !String.IsNullOrEmpty(accessKey))
                    {
                        DocumentReader.Instance().RfidScenario().Password         = accessKey;
                        DocumentReader.Instance().RfidScenario().PacePasswordType = ERFID_Password_Type.PptCan;
                    }

                    //starting chip reading
                    DocumentReader.Instance().StartRFIDReader(this, this);
                    isStartRfid = true;
                }
                else
                {
                    DisplayResults(results);
                    isStartRfid = false;
                }
            }
            else
            {
                //something happened before all results were ready
                if (action == DocReaderAction.Cancel)
                {
                    Toast.MakeText(this, "Scanning was cancelled", ToastLength.Long).Show();
                    isStartRfid = false;
                }
                else if (action == DocReaderAction.Error)
                {
                    Toast.MakeText(this, "Error:" + error, ToastLength.Long).Show();
                    isStartRfid = false;
                }
            }
        }
Ejemplo n.º 4
0
        public void OnInitCompleted(bool success, DocumentReaderException error)
        {
            if (initDialog != null && initDialog.IsShowing)
            {
                initDialog.Dismiss();
            }
            //initialization successful
            if (success)
            {
                showScanner.Click += delegate {
                    СlearResults();

                    //starting video processing
                    DocumentReader.Instance().StopScanner(this);
                    DocumentReader.Instance().ShowScanner(this, this);
                };

                recognizeImage.Click += delegate {
                    СlearResults();

                    //checking for image browsing permissions
                    if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.ReadExternalStorage) != Permission.Granted)
                    {
                        ActivityCompat.RequestPermissions(this, new string[] { Manifest.Permission.ReadExternalStorage }, PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);
                    }
                    else
                    {
                        //start image browsing
                        CreateImageBrowsingRequest();
                    }
                };

                if (DocumentReader.Instance().IsRFIDAvailableForUse)
                {
                    doRfid                  = sharedPreferences.GetBoolean(DO_RFID, false);
                    doRfidCb.Checked        = doRfid;
                    doRfidCb.CheckedChange += delegate {
                        doRfid = doRfidCb.Checked;
                        sharedPreferences.Edit().PutBoolean(DO_RFID, doRfid).Apply();
                    };
                }
                else
                {
                    doRfidCb.Visibility = ViewStates.Gone;
                }

                //getting current processing scenario and loading available scenarios to ListView
                var currentScenario = DocumentReader.Instance().ProcessParams().Scenario;
                var scenarios       = new List <String>();
                foreach (DocumentReaderScenario scenario in DocumentReader.Instance().AvailableScenarios)
                {
                    scenarios.Add(scenario.Name);
                }

                //setting default scenario
                if (String.IsNullOrEmpty(currentScenario))
                {
                    currentScenario = scenarios[0];
                }

                DocumentReader.Instance().ProcessParams().Scenario = currentScenario;

                ScenarioAdapter adapter = new ScenarioAdapter(this, Android.Resource.Layout.SimpleListItem1, scenarios);
                adapter.SelectedPosition = adapter.GetPosition(currentScenario);
                scenarioLv.Adapter       = adapter;
                scenarioLv.SetSelection(adapter.SelectedPosition);
                scenarioLv.ItemClick += (object sender, ItemClickEventArgs e) =>
                {
                    DocumentReader.Instance().ProcessParams().Scenario = scenarios[e.Position];
                    adapter.SelectedPosition = e.Position;
                    adapter.NotifyDataSetChanged();
                };
            }
            //Initialization was not successful
            else
            {
                Toast.MakeText(initDialog.Context, "Init failed:" + error, ToastLength.Long).Show();
            }
        }
Ejemplo n.º 5
0
        public void OnCompleted([IntDef(Type = "Com.Regula.Documentreader.Api.Enums.DocReaderAction", Fields = new[] { "Complete", "Process", "Cancel", "Error", "Notification", "ProcessWhiteUvImages", "MorePagesAvailable" })] int action, DocumentReaderResults results, DocumentReaderException error)
        {
            DocReaderScannerEvent readerScannerEvent = null;

            if (action == DocReaderAction.Complete)
            {
                if (results == null)
                {
                    readerScannerEvent = new DocReaderScannerEvent()
                    {
                        IsSuccess = false, Error = "Document Reader results is empty"
                    };
                }
                else
                {
                    if (IsReadRfid)
                    {
                        ReadRfid();
                    }
                    else
                    {
                        readerScannerEvent = GenerateDocReaderScannerEvent(results);
                    }
                }
            }
            else if (action == DocReaderAction.Error)
            {
                readerScannerEvent = new DocReaderScannerEvent()
                {
                    IsSuccess = false, Error = error.Message
                };
            }
            else if (action == DocReaderAction.Cancel)
            {
                readerScannerEvent = new DocReaderScannerEvent()
                {
                    IsSuccess = false, Error = "Cancelled by user"
                };
            }

            if (readerScannerEvent != null)
            {
                ResultsObtained(this, readerScannerEvent);
            }
        }