Commit Graph

67 Commits

Author SHA1 Message Date
Mark Vayngrib
d4b4ee1168 fix: android base64 string format for consistency with ios (#1776) 2018-09-04 05:31:08 -03:00
Slavik
60b9ef1b84 Bug/save to capture when app goes on pause (#1578)
* add scan support for landscape mode

* refactoring

* fix errors

* fix rotation

* add landscape orientation support

* fix exception

* freeze preview image

From PR https://github.com/lwansbrough/react-native-camera/pull/919

* fix bug on android when user take photo and press home button immediately - after that camera not works
2018-05-22 17:38:42 +01:00
João Guilherme Fidelis
0e29f466d7
Merge pull request #993 from RZulfikri/master
Video Orientation By Device Orientation
2018-03-10 12:50:11 -03:00
Nicolas Morin
cebc0601d1 Fix cropToPreview on Android 2018-01-24 10:01:16 +01:00
Nicolas Morin
286071c035 Fix startPreview and stopPreview on Android 2018-01-23 22:17:18 +01:00
Daniel Levitt
6039a63344 Possible zoom for android 2018-01-22 10:12:29 +00:00
Nicolas Morin
2c3444ce29 Return picture size 2018-01-19 19:52:26 +01:00
Sibelius Seraphini
cebc2268a6
Merge pull request #904 from leepa/master
Disallow capture when Camera is null (Android)
2018-01-08 12:56:10 -08:00
Marcus Andersson
93177c8604 changed so we use the correct exceptions. 2017-12-20 20:25:01 +01:00
Marcus Andersson
c51f0b5f93 fixed so android cropping works in all orientations. 2017-12-20 20:19:14 +01:00
Marcus Andersson
ed2768828b fixed some formatting issues. 2017-12-20 20:19:14 +01:00
Marcus Andersson
c323105328 added switch to toggle cropping. 2017-12-19 15:04:41 +01:00
Marcus Andersson
c6ad435532 added support for android to crop image to preview. 2017-12-19 15:03:08 +01:00
Slavik
874a29f7cb (barcode): Fix scan on landscape mode (#949)
* add scan support for landscape mode

* refactoring

* fix errors

* fix rotation

* add landscape orientation support

* fix exception

* freeze preview image

From PR https://github.com/lwansbrough/react-native-camera/pull/919
2017-12-07 12:17:02 -08:00
Sibelius Seraphini
241b5d1060
Merge pull request #859 from cbrevik/start-stop-preview
Add start/stopPreview for Camera
2017-12-07 10:48:23 -02:00
Rahmat
5572ba7068 missing break on switch 2017-11-20 12:26:46 +07:00
Rahmat
875c00a5ca change video orientation by device orientation 2017-11-20 10:16:06 +07:00
Petter Solberg
e11ed2fb52 Fixed hardcoded jpegQuality on android when saving to temp and disk 2017-11-08 17:15:48 +01:00
Lee Packham
780a6c70c9 Disallow capture when Camera is null (Android)
If a user of the library called `capture` too early then it tries to get
the device orientation from the RCTCamera instance... which doesn't yet
exist.

Instead of adding anything clever in the library, just call
promise.reject() so that the host application can decide what to do with
this issue (probably wait, retry in a bit).

This mainly effects slower Android devices where the camera can take a
long time to initialize.
2017-09-23 23:17:54 +01:00
gabrielSchaidhauer
537b7696b4 (android): Missing ; on constructor (#880)
On the RCTCameraModule is missing a ';' causing a build failure.
2017-09-08 13:26:53 -07:00
Andy Li
618f5ec92f [captureWithOrientation()] Load shutter_click sound to reduce latency while playing during capture (#871) 2017-09-08 22:03:35 +02:00
Christian Brevik
4e04e3484b
Make safer calls on Android 2017-08-29 14:35:35 +02:00
Christian Brevik
1bcf8577a4
Add start/stopPreview for Camera 2017-08-27 18:08:58 +02:00
Max Findel
1135c53f7f Fix NullPointerException on MutableImage when taking a picture (#816) 2017-08-01 06:26:56 -07:00
Nick Pomfret
7f69acdad1 when saving images, only invoke the media scanner if the user is saving to the camera roll. (#716) 2017-06-13 18:01:34 -07:00
Nick Pomfret
cb4447c60e add fixOrientation option (#682)
* optional fix orientation

* comments

* docs
2017-05-17 10:32:53 -07:00
Rikard Franksson
8bccc77f65 Update RCTCameraModule.java 2017-04-21 13:44:43 +02:00
Nick Pomfret
5c54275aec android jpeg compression support (#658)
*  * removed some of the re-parsing of the output image byte array
 * removed re-saving of output file
 * moved image processing onto an async task to allow camera to be used while processing is running

* added jpeg compression support for android

* move explanation to correct bit of docs
2017-04-06 08:28:47 +02:00
Nick Pomfret
9fd9d1f8b1 (android): android performance improvements (#644)
* removed re-saving of output file
 * moved image processing onto an async task to allow camera to be used while processing is running
2017-03-24 00:00:56 -07:00
Nick Pomfret
98de15cf9a [android] add gps meta to android (#643)
* writing metadata.location (lat and lon coords only) to the exif data... and returning the internal url for the new image (which can be used in conjunction with the RN CameraRoll)

* just a tidy up to remove some duplication and fix some logging (no functional changes)

* oops, fix typo

* docs

* added mediaUri to ios so its the same as android
2017-03-23 08:41:01 -07:00
Rob Stemen
12afd8443a Fixed issue where Android camera would crash the application if the user attempted to capture too many pictures in a short timeframe. (#553) 2017-01-22 19:33:17 -08:00
Nathan Ward
f301331b15 [Android): fixes crashes related to orientation (#537) 2017-01-02 13:27:07 -08:00
Nicolas Charpentier
76963a0a5e Revert "Add video/audio authorization check for Android" (#516) 2016-12-14 17:18:15 -05:00
Üstün Ergenoglu
877ce2e6b2 Add video/audio authorization check for Android (#513)
* Add video/audio authorization check for Android

This only checks for the permission and no request is made. `PermissionAndroid` in recent React Native or manually asking it from native code can still be used.

* Add checkDeviceAuthorizationStatus
2016-12-14 09:52:25 -08:00
Alexander Pantyuhov
06dc7ac5a7 Image orientation fix (#475, #309) (#493)
fix
2016-12-04 18:32:04 -05:00
Locly
154cb7aa58 Added Camera.constants.CaptureQuality.preview for android to allow the outputted image to be exactly the same as the previewed image (#449) 2016-11-21 19:41:19 -05:00
abrahambotros
a2a6d028a4 Add 1080p, 720p, and 480p capture qualities. (#469)
* Add 1080p, 720p, and 480p capture qualities.

* Minor improvements for picture/video sizing.

- Minor refactoring for getting supported sizes (DRY).
- Add explicit pictureSize setting for 480p/720p/1080p in still/picture mode.

* Use util.Size objects for 480p/720p/1080p sizing.

- Note using Camera.Size objects would require a camera instance prior to creating the
  size objects, which would be manageable but not too clean.

* Remove 480p for iOS; 16:9/HD aspect ratio for Android 480p

- iOS only has a 640x480 480p-like AVCaptureSessionPreset, which is not the typical 16:9/HD aspect ratio
  desired. Removing this option as a result of this.
- Android 480p updated to use 16:9/HD aspect ratio.

* Add notes for (in)exact sizing for 1080p/720p/480p

* Re-add 480p on iOS, more notes on resolutions.

- Add notes on non-HD-aspect-ratio for iOS 480p.
- Add more explanation of variable resolution/sizes, especially for 480p on Android.

* Use custom Resolution class to hold 480p/720p/1080p resolution sizes

- Mistakenly used util.Size class before, which was not added until Android API level 21 (current
  min is 16).
2016-11-18 17:38:23 -05:00
abrahambotros
b16ec4ab75 Minor Android MediaRecorder, sizing, and file improvements (#477)
Android MediaRecorder:
  - Most importantly, call Camera.unlock() before setting the camera on the
    MediaRecorder instance, and release() not just reset() when releasing the MediaRecorder
    instance!
  - Add comments and notes for preparing and releasing MediaRecorder instance.
  - Add onError callback for errors during recording session.

RCTCameraViewManager, RCTCamera, RCTCameraViewFinder, RCTCameraView:
  - Implement setCaptureMode, preparing camera based on captureMode. Currently, the only step that
    needs to be taken here is setting the recording hint for videos.
  - Handle setting _captureMode instance variable where applicable.

Sizing
  - Determine ViewFinder supported sizes based on actual captureMode (i.e., get supported picture
    sizes when in still capture mode, and get supported video sizes when in video capture mode).

Output files:
  - Get appropriate external storage public directory based on media type (image or video).
  - Minor variable renaming to indicate that both images or videos can be saved.

README:
  - Update captureTarget to indicate that cameraRoll is the actual default for both systems.
  - Small clarification for output data type for deprecated memory captureTarget output.
2016-11-17 22:25:51 -08:00
plougsgaard
2a33908c4f Expose the react application context as a singleton. 2016-09-15 01:16:19 +02:00
Gonzalo Aguirre
22f79985b2 Add missing dependency (#411)
* Add mirrorImage support for Android

* Release resources after mirroring

* Mirror image only for TYPE_FRONT

* Remove unnecessary annotation

* Document mirrorImage for Android

* Improved compression and error handling

* Add support for mirroring on Android back camera too
2016-09-13 14:16:27 -07:00
Gonzalo Aguirre
b01c64e773 Mirror image for Android (#399)
* Add mirrorImage support for Android

* Release resources after mirroring

* Mirror image only for TYPE_FRONT

* Remove unnecessary annotation

* Document mirrorImage for Android

* Improved compression and error handling

* Add support for mirroring on Android back camera too
2016-09-13 09:48:48 -07:00
Marc Johnson
046970feca Android video flipped rotated #388 and activity pause support (#394)
* Initial commit with Android video support

* stopCapture now works

* Bug fixes and parameter enhancements.  README updated.

* Modified stopCapture parameter count to match iOS

* fixed promise bug on stopCapture

* Update RCTCameraModule.java

In Android preview and recording sizes are different, which can cause an error.  This fix detects the difference and chooses a recording resolution that matches.

* Update RCTCameraModule.java

* Update RCTCamera.java

Creating video functions in style/convention of existing

* Update RCTCameraModule.java

Use new functions for adjusting video capture size and quality

* Update RCTCameraModule.java

Fixes issue where file not video playable (readable) on older devices

* Update AndroidManifest.xml

Since we're reading and writing video and pictures, need permissions for it.

* Fixed upside down camera (on some platforms), and misc bugs and crashes

* Added camera-roll and capture to memory support, new options, and support for duration, filesize, and metadata

* To make merge nicer, temporarily reverting "Added camera-roll and capture to memory support, new options, and support for duration, filesize, and metadata"

This reverts commit 9ea1ad409c7e6121cf0197172e752b7523d4b092.

* Fixed merge & brought back all improvements from 9ea1ad4

* Fixed logic for video -> camera roll

* Updates

* Uncommenting setProfile

* Fix support for React Native 0.25

* Renamed Camera to index

* * Fix after merge android recording

* * Fixed android camera roll file saving
* Added recording to example

* * Android promise rejections with exceptions
* Fixed preview, video and photo sizes
* Android recording result in new, javascript object, format

* * Removed example.index.android.js as there is Example project

* * Readme for example

* don't force a specific codec

* always use cache dir

* * Using MediaScannerConnection instead of ACTION_MEDIA_SCANNER_SCAN_FILE intent

* * As described in https://github.com/lwansbrough/react-native-camera/pull/262#issuecomment-239622268:
- fixed video the wrong direction and recoder start fail at "low,medium" on the nexus 5 x

* Fix minor orientation bug with front recording on android

* (Android) Made video stop on activity pause

* Revert "Merge pull request #6 from Reaction-Framework/marcejohnson-master"

This reverts commit 8729c65a72af2afc8297e4a4de3c07a54da11580, reversing
changes made to 50416eb0daae447b822307f257c31a1cbc240a2c.

* Revert "Revert "Merge pull request #6 from Reaction-Framework/marcejohnson-master""

This reverts commit 4b87b48c7bd92840566ad76c96961325c2291ee0.

* replace System.console with Log.e (#390)
2016-09-12 20:29:14 -07:00
Kyle Corbitt
696d55af01 record method not documented, shouldn't be exposed (#392) 2016-09-03 12:34:18 -07:00
Marc Johnson
e326d51a53 Android support for recording video (#262)
* Initial commit with Android video support

* stopCapture now works

* Bug fixes and parameter enhancements.  README updated.

* Modified stopCapture parameter count to match iOS

* fixed promise bug on stopCapture

* Update RCTCameraModule.java

In Android preview and recording sizes are different, which can cause an error.  This fix detects the difference and chooses a recording resolution that matches.

* Update RCTCameraModule.java

* Update RCTCamera.java

Creating video functions in style/convention of existing

* Update RCTCameraModule.java

Use new functions for adjusting video capture size and quality

* Update RCTCameraModule.java

Fixes issue where file not video playable (readable) on older devices

* Update AndroidManifest.xml

Since we're reading and writing video and pictures, need permissions for it.

* Fixed upside down camera (on some platforms), and misc bugs and crashes

* Added camera-roll and capture to memory support, new options, and support for duration, filesize, and metadata

* To make merge nicer, temporarily reverting "Added camera-roll and capture to memory support, new options, and support for duration, filesize, and metadata"

This reverts commit 9ea1ad409c7e6121cf0197172e752b7523d4b092.

* Fixed merge & brought back all improvements from 9ea1ad4

* Fixed logic for video -> camera roll

* Updates

* Uncommenting setProfile

* Fix support for React Native 0.25

* Renamed Camera to index

* * Fix after merge android recording

* * Fixed android camera roll file saving
* Added recording to example

* * Android promise rejections with exceptions
* Fixed preview, video and photo sizes
* Android recording result in new, javascript object, format

* * Removed example.index.android.js as there is Example project

* * Readme for example

* don't force a specific codec

* always use cache dir

* * Using MediaScannerConnection instead of ACTION_MEDIA_SCANNER_SCAN_FILE intent

* * As described in https://github.com/lwansbrough/react-native-camera/pull/262#issuecomment-239622268:
- fixed video the wrong direction and recoder start fail at "low,medium" on the nexus 5 x
2016-08-27 21:49:46 -04:00
Radu-Marius Popovici
0c3dba1ff6 fix snapshot orientation when device orientation is locked (#232)
* use device orientation on android only with auto orientation

* guard against missing playSoundOnCapture and quality props in options

* add video orientation support

* use device orientation on ios only with auto orientation
2016-05-10 11:05:03 -07:00
Zack Story
c3ca7cbb03 Merge pull request #270 from lwansbrough/v1
v1 Updates
2016-04-27 20:34:46 -07:00
Zack Story
2dc43922dc
merge device orientation branch 2016-04-23 13:02:29 -07:00
Jason Brown
2a78d0e1d0 Add alias for photo (#268)
* Add alias for photo

* Map photo to high on android
2016-04-23 12:59:06 -07:00
Zack Story
b0b2a0889d
[capture] fix android HashMap -> WritableMap 2016-04-23 12:45:45 -07:00
Zack Story
9162879305
[barcode] default barCodeTypes to [] if no barcode listener 2016-04-23 12:45:44 -07:00