Currently, the `onStatusChange` has a type of
```ts
onStatusChange?(event: {
cameraStatus: CameraStatus;
recordAudioPermissionStatus: keyof RecordAudioPermissionStatus;
}): void
```
Which makes it very inconvenient to use with Typescript, having to set the `cameraStatus` field to `any` in the passed function:
```ts
const handleStatusChange = (event: {cameraStatus: any}) => {
if (event.cameraStatus === 'NOT_AUTHORIZED') {
}
}
```
By changing it to
```ts
onStatusChange?(event: {
cameraStatus: keyof CameraStatus;
recordAudioPermissionStatus: keyof RecordAudioPermissionStatus;
}): void
```
we're able to compare the new status against the intended type, autocomplete, and discard the `any`:
```ts
const handleStatusChange = (event: {cameraStatus: keyof CameraStatus}) => {
if (event.cameraStatus === 'NOT_AUTHORIZED') {
onUnauthorized()
}
}
```
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
* 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