* Android only: Support to enumerate Camera devices and to select from one of them.
* No need to have the camera in running state if querying for IDs.
* Silly bug, not using string compare. Also, do not run any camera code if the actual camera doesn't change.
* Crash fix when focus coordinates are set to null/undefined not being handled. Notes about not supported flash/focus
* If a camera is not found, set the first available camera just like Camera2 does.
* missing semicolon
* Fixes to Camera2 API:
- First change is related to camera selection by ID. Some more code was required to correctly set the facing flag and characteristics
- Second change fixes a previous issue (unrelated to the PR) that was causing the preview of the camera to look upside down on rotated devices. Device rotation should not affect the display (nor set it). Device rotation should however be used for the final image (and not screen rotation). Some code was borrowed from Camera1.
These changes include the following:
- use atomic boolean for capturing photo flag just like video
- add more exception catching and checks
- raise error instead of failing silently if can't capture photo - improve error handling here
- synchronize stop to avoid race conditions and crashes
- delay params updates (surface) if capturing or recording to avoid bugs
- do not allow video or photo capture if already doing video or photo
* 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