# react-native-regula-test

## Getting started

### Usual installation(mostly automatic):

`react-native init MySample`

`cd MySample`

`npm install react-native-regula-test --save`

`npm install react-native-core-NAMEOFCORE-test --save`

`npm install react-native-fs --save` (optional, used to load license file from file system)

`react-native link`

Names of cores can be found at https://github.com/regulaforensics/DocumentReader-Android/wiki/Core

### Manual installation:

`npm install react-native-fs --save`

`npm install react-native-regula-test --save`

#### Android:

android/app/src/main/java/[...]/MainApplication.java:
```
import com.regula.documentreader.RNRegulaDocumentReaderPackage;
import com.rnfs.RNFSPackage;
...
getPackages(){
	...,
	new RNFSPackage(),
    new RNRegulaDocumentReaderPackage()
}
```

android/settings.gradle:
```
...
include ':react-native-fs'
project(':react-native-fs').projectDir = new File(settingsDir, '../node_modules/react-native-fs/android')
include ':react-native-regula-test'
project(':react-native-regula-test').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-regula-test/android')
```

android/app/build.gradle:
```
dependencies {
	...
	implementation project(':react-native-fs')
	implementation project(':react-native-regula-test')
}
```

## After both manual and automatic installation:

### Android:

android/app/src/main/AndroidManifest.xml:

`android:allowBackup="true"`

android/build.gradle:
```
minSdkVersion = 19    (or higher)
...
allprojects {
	repositories {
		...
		maven {
			url "http://maven.regulaforensics.com/RegulaDocumentReader"
		}
		maven {
			url "http://maven.regulaforensics.com/RegulaDocumentReader/Beta"
		}
	}
}
```

**important:** the urls above have to be in separate __maven{}__ blocks

get  regula.license here: https://licensing.regulaforensics.com/

put regula.license here: android\app\src\main\assets\

### IOS:

Navigate to `yourproject/ios` and open `yourproject.xcodeproj`

Go to TARGETS(project navigator->your project->targets->project name->general->embedded binaries) settings and find the section Embedded Binaries. Then add `DocumentReader.framework` and DocumentReaderCore.framework (situated in `node_modules/react-native-regula-test/ios` and `node_modules/react-native-core-NAMEOFCORE-test/ios` respectively) to Embedded Binaries

Go to TARGETS build settings and set `always embed swift standart libraries` to `YES`.

In Build settings add `${PROJECT_DIR}/../node_modules/react-native-regula-test/ios` and `${PROJECT_DIR}/../node_modules/react-native-core-NAMEOFCORE-test/ios` to `Framework search paths`(you can copy this from header search paths)

Get  regula.license here: https://licensing.regulaforensics.com/

Xcode->project navigator-> your project->folder named as your project->rightclick this folder->add files to...->select your `regula.license` file

Add `Privacy - Camera Usage Description` and `Privacy - Photo Library Usage Description` to Information property list of your `info.plist`


## Usage:

On the first launch connect to the internet and wait until the database is downloaded(You will get toast "init complete")

Adding the following to App.js will show download progress in console:

```javascript
const eventManager = new NativeEventEmitter(RNRegulaDocumentReader);
eventManager.addListener(
  'prepareDatabaseProgressChangeEvent',
  e => console.log(e["msg"])
);
```

Get App.js sample from https://github.com/DmitrySmolyakov/react-native-document-reader-example-demo
