* Set more precise React/React-Native package version dependencies
- In general, try to avoid breaking changes caused by >=
- In particular, such a breaking change can be seen by testing the current Example
app on Android with the existing package.json's and RN 0.43+, which causes errors
in MainApplication public/protected method settings.
* Revert changes to main package.json
- Would erroneously break compatibility for main package
- Leave precise dependencies only for Example app, since this does not impact
compatibility in the same way
* Android tap-to-focus and improved (continuous) auto-focus
Tap-to-focus
- On tap, compute focus area around motion event's location, and pass this to the camera parameters
as the new focus area.
- Adds RCTCameraUtils.java file, so far with only a single function that helps compute the focus area
from a motion event. This file can serve as a location for utility constants and functions for the
rest of the app, where such things can be extracted out.
Improved (continuous) auto-focus
- Use FOCUS_MODE_CONTINUOUS_PICTURE/VIDEO when possible to enable continuous auto-focus; fall back to
FOCUS_MODE_AUTO otherwise, if able.
Other changes
- Update README to specify differences between iOS and Android for focus and zoom functionality.
- Update AndroidManifest with more thorough list of permissions and features.
- Update Example package.json react and react-native dependencies to match root package's package.json.
* Example: default empty onFocusChanged callback
- Enables default tap-to-focus behavior in Example app, facilitating
testing of focus features in the Example app