|
|
@ -35,7 +35,7 @@ allprojects { |
|
|
|
*This was a fork of [CameraKit-Android](https://github.com/gogopop/CameraKit-Android), originally a |
|
|
|
*This was a fork of [CameraKit-Android](https://github.com/gogopop/CameraKit-Android), originally a |
|
|
|
fork of [Google's CameraView](https://github.com/google/cameraview), but has been |
|
|
|
fork of [Google's CameraView](https://github.com/google/cameraview), but has been |
|
|
|
[completely rewritten](https://github.com/natario1/CameraView/graphs/contributors?type=d). |
|
|
|
[completely rewritten](https://github.com/natario1/CameraView/graphs/contributors?type=d). |
|
|
|
See below for a [list of what was done](#roadmap) and [licensing info](#contributing-and-licenses).* |
|
|
|
See below for [licensing info](#contributing-and-licenses).* |
|
|
|
|
|
|
|
|
|
|
|
### Features |
|
|
|
### Features |
|
|
|
|
|
|
|
|
|
|
@ -79,8 +79,6 @@ See below for a [list of what was done](#roadmap) and [licensing info](#contribu |
|
|
|
- [Other APIs](#other-apis) |
|
|
|
- [Other APIs](#other-apis) |
|
|
|
- [Permissions Behavior](#permissions-behavior) |
|
|
|
- [Permissions Behavior](#permissions-behavior) |
|
|
|
- [Logging](#logging) |
|
|
|
- [Logging](#logging) |
|
|
|
- [Device-specific issues](#device-specific-issues) |
|
|
|
|
|
|
|
- [Roadmap](#roadmap) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Usage |
|
|
|
## Usage |
|
|
|
|
|
|
|
|
|
|
@ -715,60 +713,6 @@ CameraLogger.registerLogger(new Logger() { |
|
|
|
Make sure you enable the logger using `CameraLogger.setLogLevel(@LogLevel int)`. The default will only |
|
|
|
Make sure you enable the logger using `CameraLogger.setLogLevel(@LogLevel int)`. The default will only |
|
|
|
log error events. |
|
|
|
log error events. |
|
|
|
|
|
|
|
|
|
|
|
## Device-specific issues |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There are a couple of known issues if you are working with certain devices. The emulator is one of |
|
|
|
|
|
|
|
the most tricky in this sense. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Devices, or activities, with hardware acceleration turned off: this can be the case with emulators. |
|
|
|
|
|
|
|
In this case we will use SurfaceView as our surface provider. That is intrinsically flawed and can't |
|
|
|
|
|
|
|
deal with all we want to do here (runtime layout changes, scaling, etc.). So, nothing to do in this case. |
|
|
|
|
|
|
|
- Devices with no support for MediaRecorder: the emulator does not support it, officially. This means |
|
|
|
|
|
|
|
that video/audio recording is flawed. Again, not our fault. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Roadmap |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is what was done since the library was forked. I have kept the original structure, but practically |
|
|
|
|
|
|
|
all the code was changed. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- *a huge number of serious bugs fixed* |
|
|
|
|
|
|
|
- *decent orientation support for both pictures and videos* |
|
|
|
|
|
|
|
- *less dependencies* |
|
|
|
|
|
|
|
- *EXIF support* |
|
|
|
|
|
|
|
- *real tap-to-focus support* |
|
|
|
|
|
|
|
- *pinch-to-zoom support* |
|
|
|
|
|
|
|
- *simpler APIs, docs and heavily commented code* |
|
|
|
|
|
|
|
- *new `captureSnapshot` API* |
|
|
|
|
|
|
|
- *new `setLocation` and `setWhiteBalance` APIs* |
|
|
|
|
|
|
|
- *new `setGrid` APIs, to draw 3x3, 4x4 or golden ratio grids* |
|
|
|
|
|
|
|
- *option to pass a `File` when recording a video* |
|
|
|
|
|
|
|
- *other minor API additions* |
|
|
|
|
|
|
|
- *replacing Method and Permissions stuff with simpler `sessionType`* |
|
|
|
|
|
|
|
- *smart measuring and sizing behavior, replacing bugged `adjustViewBounds`* |
|
|
|
|
|
|
|
- *measure `CameraView` as center crop or center inside* |
|
|
|
|
|
|
|
- *add multiple `CameraListener`s for events* |
|
|
|
|
|
|
|
- *gesture framework support, map gestures to camera controls* |
|
|
|
|
|
|
|
- *pinch gesture support* |
|
|
|
|
|
|
|
- *tap & long tap gesture support* |
|
|
|
|
|
|
|
- *scroll gestures support* |
|
|
|
|
|
|
|
- *MediaActionSound support* |
|
|
|
|
|
|
|
- *Hdr controls* |
|
|
|
|
|
|
|
- *zoom and exposure correction controls* |
|
|
|
|
|
|
|
- *Tests!* |
|
|
|
|
|
|
|
- *`CameraLogger` APIs for logging and bug reports* |
|
|
|
|
|
|
|
- *Better threading, start() in worker thread and callbacks in UI* |
|
|
|
|
|
|
|
- *Frame processor support* |
|
|
|
|
|
|
|
- *inject external loggers* |
|
|
|
|
|
|
|
- *error handling* |
|
|
|
|
|
|
|
- *capture size selectors* |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
These are still things that need to be done, off the top of my head: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [ ] `Camera2` integration |
|
|
|
|
|
|
|
- [ ] animate grid lines similar to stock camera app |
|
|
|
|
|
|
|
- [ ] add onRequestPermissionResults for easy permission callback |
|
|
|
|
|
|
|
- [ ] decent code coverage |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Contributing and licenses |
|
|
|
# Contributing and licenses |
|
|
|
|
|
|
|
|
|
|
|
The original project which served as a starting point for this library, |
|
|
|
The original project which served as a starting point for this library, |
|
|
|