Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
bde22c2
feat(camera): adds multi-camera feature for Android (#1616)
isbecker Jan 29, 2024
89d7895
feat(camera): multi shot camera UI improvements with immersive mode s…
shiv19 Jul 31, 2025
cd97eb7
feat(camera): iOS multi camera base implementation
shiv19 Jul 31, 2025
7ecd892
feat(camera): multi camera image preview support for android
shiv19 Jul 31, 2025
888d632
feat(camera): added support for landscape mode multi shot camera on a…
shiv19 Jul 31, 2025
9b17244
feat(camera): landscape mode ux improvements for android
shiv19 Jul 31, 2025
a5338fd
feat(camera): landscape mode support for iOS
shiv19 Jul 31, 2025
7eec596
chore(camera): updated readme
shiv19 Jul 31, 2025
bec2abb
feat(camera): ui improvements and image rotation handler when there i…
shiv19 Jul 31, 2025
b4e20cf
feat(camera): multi camera image thumbnail processing improvements fo…
shiv19 Aug 1, 2025
fa3b05f
feat(camera): wait for processing before closing camera - android
shiv19 Aug 1, 2025
95898f7
chore(camera): lint android
shiv19 Aug 1, 2025
2466d03
feat(camera): zoom button support for landscape mode in android
shiv19 Aug 1, 2025
1f6f101
feat(camera): safe area awareness for android multi camera
shiv19 Aug 1, 2025
c4b5d37
chore(camera): cleanup camera fragment logs and switch to capacitor l…
shiv19 Aug 1, 2025
c62fd7e
feat(camera): improved thumbnail loading ux, fixed saveToGallery option
shiv19 Aug 1, 2025
77a64a8
fix(camera): wait for processing to complete before confirming selection
shiv19 Aug 1, 2025
8dc217d
feat(camera): added support for quality, width and heigh to ios multicam
shiv19 Aug 1, 2025
b56d88d
chore(camera): match the android discard photos alert message with iOS
shiv19 Aug 1, 2025
ee29b2a
Merge branch 'main' into feat/multi-camera
shiv19 Aug 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion camera/Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,10 @@ let package = Package(
.product(name: "Capacitor", package: "capacitor-swift-pm"),
.product(name: "Cordova", package: "capacitor-swift-pm")
],
path: "ios/Sources/CameraPlugin"),
path: "ios/Sources/CameraPlugin",
resources: [
.process("Resources")
]),
.testTarget(
name: "CameraPluginTests",
dependencies: ["CameraPlugin"],
Expand Down
11 changes: 6 additions & 5 deletions camera/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -336,11 +336,12 @@ Request camera and photo album permissions

#### CameraSource

| Members | Value | Description |
| ------------ | --------------------- | ------------------------------------------------------------------ |
| **`Prompt`** | <code>'PROMPT'</code> | Prompts the user to select either the photo album or take a photo. |
| **`Camera`** | <code>'CAMERA'</code> | Take a new photo using the camera. |
| **`Photos`** | <code>'PHOTOS'</code> | Pick an existing photo from the gallery or photo album. |
| Members | Value | Description |
| ----------------- | --------------------------- | ----------------------------------------------------------------------------- |
| **`Prompt`** | <code>'PROMPT'</code> | Prompts the user to select either the photo album or take a photo. |
| **`Camera`** | <code>'CAMERA'</code> | Take a new photo using the camera. |
| **`CameraMulti`** | <code>'CAMERA_MULTI'</code> | Take multiple photos in a row using the camera. Available on Android and iOS. |
| **`Photos`** | <code>'PHOTOS'</code> | Pick an existing photo from the gallery or photo album. |


#### CameraDirection
Expand Down
4 changes: 4 additions & 0 deletions camera/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ ext {
androidxExifInterfaceVersion = project.hasProperty('androidxExifInterfaceVersion') ? rootProject.ext.androidxExifInterfaceVersion : '1.3.7'
androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.2.1'
androidxMaterialVersion = project.hasProperty('androidxMaterialVersion') ? rootProject.ext.androidxMaterialVersion : '1.12.0'
cameraxVersion = project.hasProperty('cameraxVersion') ? rootProject.ext.cameraxVersion : '1.3.1'
}

buildscript {
Expand Down Expand Up @@ -77,6 +78,9 @@ dependencies {
implementation "androidx.exifinterface:exifinterface:$androidxExifInterfaceVersion"
implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
implementation "com.google.android.material:material:$androidxMaterialVersion"
implementation "androidx.camera:camera-camera2:${cameraxVersion}"
implementation "androidx.camera:camera-view:${cameraxVersion}"
implementation "androidx.camera:camera-lifecycle:${cameraxVersion}"
testImplementation "junit:junit:$junitVersion"
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
Expand Down
1 change: 1 addition & 0 deletions camera/android/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
<action android:name="android.media.action.IMAGE_CAPTURE" />
</intent>
</queries>
<uses-permission android:name="android.permission.CAMERA" />
</manifest>
Loading