@@ -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