Commit Graph

156 Commits

Author SHA1 Message Date
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
pkwak-sf f696610115 Fix issue with updating props quickly causing released camera object to be accessed. (#507) 2016-12-10 08:15:52 -05:00
Ron Heft b308d08e9a Race conditions initializing flashMode (#436)
* Fix race condition initializing Android camera

* Fix race condition initializing flashMode iOS
2016-12-08 21:05:35 -05:00
Benjamin Toueg 33bd0c4737 Android pinch to zoom (#498)
* Android pinch-to-zoom feature.

* Missing import.
2016-12-05 19:58:17 -05:00
Alexander Pantyuhov 06dc7ac5a7 Image orientation fix (#475, #309) (#493)
fix
2016-12-04 18:32:04 -05:00
Benjamin Toueg 3a20709f64 Minor: Remove duplicate if (#487) 2016-11-26 13:07:07 -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 05b5fc727d Support hints for a subset of the barcode types. 2016-09-15 21:30:00 +02:00
plougsgaard 918c00f003 Apply barcode scanner on preview frames. 2016-09-15 01:17:24 +02:00
plougsgaard 85336e9fd4 Import the zxing decoder library. 2016-09-15 01:16:20 +02:00
plougsgaard 2a33908c4f Expose the react application context as a singleton. 2016-09-15 01:16:19 +02:00
plougsgaard b5af30248e Add internal prop determining if barcode scanner is wanted. 2016-09-15 01:16:19 +02:00
Chris Duke d15022d560 Fix bug 357. Setting preview callback to null before camera release. (#410) 2016-09-13 14:17:45 -07: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 1e581d7c97 Set the device orientation before instantiating RCTCamera (#368) 2016-09-12 20:20:46 -07:00
dcmdestello 14836aef58 Fix setFlashMode was calling setTorchMode. (#396) 2016-09-05 10:36:07 -07:00
Kyle Corbitt 6834e594f4 adjusted rotation should be that of camera, not display (#393) 2016-09-03 12:35:09 -07:00
Kyle Corbitt 696d55af01 record method not documented, shouldn't be exposed (#392) 2016-09-03 12:34:18 -07:00
Kyle Corbitt a378edabbc replace System.console with Log.e (#390) 2016-09-01 11:55:22 -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
Chad Wilken 1e092b5573 Check if console is not null as preferred by https://developer.android.com/reference/java/io/Console.html (#381) 2016-08-24 23:16:54 -07:00
Zack Story d4d1aec581 add z orientation comment, closes #308 2016-07-02 20:59:13 -07:00
gchiocchio 6f989a51bd Fix Z-Order issue child item Camera Android 2016-07-02 20:44:48 -07:00
Locly a7464cb194 Update AndroidManifest.xml (#275)
Made camera and autofocus properties optional so that devices without a camera/autofocus can continue to run
2016-05-10 11:06:07 -07: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
Kyle Corbitt 0c789b8da0
capture returns metadata 2016-04-23 12:44:39 -07:00
cdimascio a6785cfa46
play shutter click sound on capture (android)
* play shutter click sound on capture (android)

* Add Property playSoundOnCapture to enable whether the default shutter sound is played on capture (Android)
2016-04-10 18:13:01 -07:00
Radu Popovici 98bd7a853a Merge branch 'master' of https://github.com/lwansbrough/react-native-camera 2016-04-03 10:06:28 +03:00
Carmine DiMascio b7803d6056 Return on reject 2016-03-31 16:34:59 -04:00
Carmine DiMascio e20902933d Add hasFlash support for Android 2016-03-26 20:27:40 -04:00
Radu Popovici 4ab7a9d220 fix android snapshot orientation when device orientation is locked 2016-03-23 14:16:39 +02:00
Radu Popovici d9432ec98d add capture quality constants 2016-03-20 22:39:30 +02:00
Radu Popovici 5659cc7809 add captureQuality option 2016-03-20 21:31:23 +02:00
Radu Popovici 8ace4fa7cb fix front camera rotation 2016-02-18 18:10:56 +02:00
Radu Popovici de1e3320bc fix auto-focus mode on android 2016-02-18 12:55:28 +02:00
Radu Popovici ff66374fd1 fix react native 0.19.0 upgrade bugs for android 2016-02-02 13:13:57 +02:00
Lochlan Wansbrough f5ab0c8432 - Updated Read Me with correct Android install information.
- Fixed promise error during android deployment
2016-01-31 20:56:38 -08:00
Loch Wansbrough 2017095e0f Merge pull request #172 from rt2zz/androidfix
start/stop preview in takePicture callback, default to auto focus
2016-01-31 18:20:32 -08:00
Loch Wansbrough 1b5de73fe9 Merge pull request #170 from corbt/promises
Switch from callbacks to promises
2016-01-31 18:16:07 -08:00
Zack 15a6311b4e start/stop preview in takePicture callback, default to FOCUS_MODE_CONTINUOUS_PICTURE 2016-01-28 10:19:22 -08:00
Kyle Corbitt 45c26869a4 switch from callbacks to promises 2016-01-28 12:13:01 +00:00
Christopher Dro d0355fe2e6 [Docs] Add capture target temp to readme 2016-01-27 09:55:26 -08:00
Christopher Dro 3080f65b4f [Android] Add temp directory to targets 2016-01-26 22:36:00 -08:00
Fabrice Armisen 844d6aaf65 Android support.
Working: set aspect, select camera type, set flash/torch mode, take picture and save it to the file system, mediaroll as data.
Not working: Video capture, set orientation.
Known problem: Front camera pictures are not oriented correctly.
2016-01-19 18:31:14 -08:00
Lochlan Wansbrough c844f2bfac Removed left over import. Updated Android stuff. 2015-09-21 21:21:08 -07:00
Lochlan Wansbrough 3172ed7060 Stubbed Android support. 2015-09-21 20:22:56 -07:00