Skip to content

Commit f8d7fa2

Browse files
align new api
1 parent b7ad328 commit f8d7fa2

2 files changed

Lines changed: 39 additions & 43 deletions

File tree

android/src/main/java/com/capacitorjs/plugins/camera/CameraPlugin.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ class CameraPlugin : Plugin() {
5353
const val STORE = "CameraStore"
5454
const val EDIT_FILE_NAME_KEY = "EditFileName"
5555
const val ERROR_FORMAT_PREFIX = "OS-PLUG-CAMR-"
56-
const val ENCODING_TYPE = 0
5756
const val MEDIA_TYPE_PICTURE = 0
5857
}
5958

android/src/main/java/com/capacitorjs/plugins/camera/IonCameraFlow.kt

Lines changed: 39 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ class IonCameraFlow(
229229
return
230230
}
231231
currentCall = call
232-
manager.takePhoto(plugin.getActivity(), CameraPlugin.ENCODING_TYPE, cameraLauncher)
232+
manager.takePhoto(plugin.getActivity(), settings.encodingType, cameraLauncher)
233233
} catch (ex: Exception) {
234234
sendError(IONCAMRError.FAILED_TO_CAPTURE_IMAGE_ERROR)
235235
}
@@ -364,7 +364,7 @@ class IonCameraFlow(
364364
"$appId.fileprovider",
365365
editor.createCaptureFile(
366366
plugin.activity,
367-
CameraPlugin.ENCODING_TYPE,
367+
settings.encodingType,
368368
plugin.activity.getSharedPreferences(
369369
CameraPlugin.STORE,
370370
Context.MODE_PRIVATE
@@ -546,13 +546,18 @@ class IonCameraFlow(
546546
return
547547
}
548548

549+
val settings = cameraSettings ?: run {
550+
sendError(IONCAMRError.INVALID_ARGUMENT_ERROR)
551+
return
552+
}
553+
549554
val appId = plugin.getAppId()
550555
val tmpFile = FileProvider.getUriForFile(
551556
plugin.activity,
552557
"$appId.fileprovider",
553558
editor.createCaptureFile(
554559
plugin.activity,
555-
CameraPlugin.ENCODING_TYPE,
560+
settings.encodingType,
556561
plugin.activity.getSharedPreferences(
557562
CameraPlugin.STORE,
558563
Context.MODE_PRIVATE
@@ -663,34 +668,6 @@ class IonCameraFlow(
663668
}
664669
}
665670

666-
private fun handlePhotoBase64Result(image: String) {
667-
val ret = JSObject()
668-
ret.put("format", "jpeg")
669-
670-
val settings = cameraSettings ?: run {
671-
sendError(IONCAMRError.INVALID_ARGUMENT_ERROR)
672-
return
673-
}
674-
675-
/* when (settings.resultType) {
676-
CameraResultType.BASE64 -> {
677-
ret.put("base64String", image)
678-
}
679-
680-
CameraResultType.DATAURL -> {
681-
ret.put("dataUrl", "data:image/jpeg;base64,$image")
682-
}
683-
684-
else -> {
685-
sendError(IONCAMRError.PROCESS_IMAGE_ERROR)
686-
return
687-
}
688-
}*/
689-
690-
currentCall?.resolve(ret)
691-
currentCall = null
692-
}
693-
694671
private fun handleEditBase64Result(image: String) {
695672
val ret = JSObject()
696673
ret.put("format", "jpeg")
@@ -708,13 +685,30 @@ class IonCameraFlow(
708685
return
709686
}
710687

688+
689+
711690
val exif = ImageUtils.getExifData(plugin.context, bitmap, uri)
712691
val ret = JSObject()
713-
ret.put("format", "jpeg")
714-
ret.put("exif", exif.toJson())
715-
ret.put("path", mediaResult.uri)
692+
ret.put("type", mediaResult.type)
693+
ret.put("uri", mediaResult.uri)
694+
ret.put("thumbnail", mediaResult.thumbnail)
716695
ret.put("webPath", FileUtils.getPortablePath(plugin.context, plugin.bridge.localUrl, uri))
717696
ret.put("saved", mediaResult.saved)
697+
698+
699+
700+
val metadata = JSObject()
701+
mediaResult.metadata?.let {
702+
metadata.put("duration", it.duration)
703+
metadata.put("size", it.size)
704+
metadata.put("format", it.format)
705+
metadata.put("resolution", it.resolution)
706+
metadata.put("creationDate", it.creationDate)
707+
metadata.put("exif", exif.toJson())
708+
}
709+
710+
ret.put("metadata", metadata)
711+
718712
currentCall?.resolve(ret)
719713
currentCall = null
720714
lastEditUri = null
@@ -731,13 +725,17 @@ class IonCameraFlow(
731725
ret.put("webPath", FileUtils.getPortablePath(plugin.context, plugin.bridge.localUrl, uri))
732726
ret.put("saved", mediaResult.saved)
733727

734-
mediaResult.metadata?.let { metadata ->
735-
ret.put("duration", metadata.duration)
736-
ret.put("size", metadata.size)
737-
ret.put("format", metadata.format)
738-
ret.put("resolution", metadata.resolution)
739-
ret.put("creationDate", metadata.creationDate)
728+
val metadata = JSObject()
729+
mediaResult.metadata?.let {
730+
metadata.put("duration", it.duration)
731+
metadata.put("size", it.size)
732+
metadata.put("format", it.format)
733+
metadata.put("resolution", it.resolution)
734+
metadata.put("creationDate", it.creationDate)
740735
}
736+
737+
ret.put("metadata", metadata)
738+
741739
currentCall?.resolve(ret)
742740
currentCall = null
743741
}
@@ -788,7 +786,7 @@ class IonCameraFlow(
788786
intent,
789787
ionParams,
790788
{ image ->
791-
handlePhotoBase64Result(image)
789+
//TODO remove this callback
792790
},
793791
{ mediaResult ->
794792
handleMediaResult(mediaResult)
@@ -883,7 +881,6 @@ class IonCameraFlow(
883881
}
884882

885883
private fun IonCameraSettings.toIonParameters(): IONCAMRCameraParameters {
886-
// val useLatestVersion = (resultType == CameraResultType.URI)
887884
return IONCAMRCameraParameters(
888885
mQuality = quality,
889886
targetWidth = width,

0 commit comments

Comments
 (0)