* upgrading to sdk 28 and androidx
* revert attempt to fix build
* fixing build
* build version fix
* updating example app
* manifest update
* using stable release, instead of beta
* androidx migration doc
* migration doc update
* follow on androidx upgrade after rebase
add face detection using mlkit
add enable tracking prop
cleanup android set tracking methods
remove old face detection
fix basic example not building on ios
* switch to firebase mlkit for text recognition
* migrate android to MLKit
migrate Text detection android to MLKit
update gradle of example app
Update build.gradle
separate gms vision facedetector to general flavor
migrate faceDetector to mlkit and fix incorrect bounds due to padding
migrate barCode detector to mlkit
update android instructions in readme
safe face implementation move gms to generalImplementation
* add mlkit example
setup android of mlkit example
setup ios of mlkit example
fix typo in readme
update example project readme
* amend mlkit migration to include raw data
add barcode detection in basic and mlkit examples
* fix duplicate bridgeDidBackground method
BREAKING CHANGE: We migrated to MLKit instead of Google Mobile Vision
* added react-navigation
* added barcode scanner example
* exposed barcode bounds and source dimensions in google vision barcode
* updated typescript types for google vision barcode
* feat(rn-camera): add deviceOrientation and videoOrientation to record response.
* feat(rn-camera): add deviceOrientation and pictureOrientation to take-picture-response
* fix(rn-camera): unify orientation handling for recording and takeing picture
* fix(types): adjust typescript types
* docs(rn-camra): document new properties
* fix(android): respect actual boolean value instead of only checking if it is present.
* feat(android): implement orientation prop for takePictureAsync
* feat(android): implement orientation prop for recordVideoAsync
* docs(rn-camera): adjust documentation
* fix(types): unmark properties as ios only
* fix(android): use constants
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':react-native-camera'.
> Could not resolve all artifacts for configuration ':react-native-camera:classpath'.
> Could not find intellij-core.jar (com.android.tools.external.com-intellij:intellij-core:26.0.1).
Searched in the following locations:
https://jcenter.bintray.com/com/android/tools/external/com-intellij/intellij-core/26.0.1/intellij-core-26.0.1.jar
I got this error when I call `recordAsync(...)` with `quality: RNCamera.Constants.VideoQuality['480p']` on Samsung Galaxy Tab S 10.5.
```
Error: Error retrieving camcorder profile params
at createErrorFromErrorData (NativeModules.js:123)
at NativeModules.js:80
at MessageQueue.__invokeCallback (MessageQueue.js:400)
at MessageQueue.js:139
at MessageQueue.__guardSafe (MessageQueue.js:316)
at MessageQueue.invokeCallbackAndReturnFlushedQueue (MessageQueue.js:138)
```
It happens because there is no check if device actually supports given quality.
To make the `CamcorderProfile.get(quality)` call safe we need to check if there is appropriate CamcorderProfile by calling `CamcorderProfile.hasProfile(quality))`.
This PR fixes that issue.