@@ -23,12 +23,14 @@ import ly.img.android.pesdk.utils.MainThreadRunnable
23
23
import ly.img.android.pesdk.utils.SequenceRunnable
24
24
import ly.img.android.pesdk.utils.UriHelper
25
25
import ly.img.android.sdk.config.*
26
- import ly.img.android.serializer._3._0._0.PESDKFileReader
27
- import ly.img.android.serializer._3._0._0.PESDKFileWriter
28
26
import org.json.JSONArray
29
27
import org.json.JSONException
30
28
import org.json.JSONObject
31
29
import java.io.File
30
+ import ly.img.android.pesdk.backend.encoder.Encoder
31
+ import ly.img.android.serializer._3.IMGLYFileReader
32
+ import ly.img.android.serializer._3.IMGLYFileWriter
33
+
32
34
33
35
34
36
class RNPhotoEditorSDKModule (val reactContext : ReactApplicationContext ) : ReactContextBaseJavaModule(reactContext), ActivityEventListener, PermissionListener {
@@ -77,15 +79,18 @@ class RNPhotoEditorSDKModule(val reactContext: ReactApplicationContext) : ReactC
77
79
}
78
80
when (serializationConfig.exportType) {
79
81
SerializationExportType .FILE_URL -> {
80
- val file = serializationConfig.filename?.let { Export .convertPathToFile(it) }
81
- ? : File .createTempFile(" serialization" , " .json" )
82
- PESDKFileWriter (settingsList).writeJson(file)
83
- Uri .fromFile(file).toString()
82
+ val uri = serializationConfig.filename?.let {
83
+ Uri .parse(it)
84
+ } ? : Uri .fromFile(File .createTempFile(" serialization" , " .json" ))
85
+ Encoder .createOutputStream(uri).use { outputStream ->
86
+ IMGLYFileWriter (settingsList).writeJson(outputStream);
87
+ }
88
+ uri.toString()
84
89
}
85
90
SerializationExportType .OBJECT -> {
86
91
ReactJSON .convertJsonToMap(
87
92
JSONObject (
88
- PESDKFileWriter (settingsList).writeJsonAsString()
93
+ IMGLYFileWriter (settingsList).writeJsonAsString()
89
94
)
90
95
) as Any?
91
96
}
@@ -139,18 +144,16 @@ class RNPhotoEditorSDKModule(val reactContext: ReactApplicationContext) : ReactC
139
144
settingsList.configure<LoadSettings > { loadSettings ->
140
145
image?.also {
141
146
if (it.startsWith(" data:" )) {
142
- loadSettings.setSource( UriHelper .createFromBase64String(it.substringAfter(" base64," )), deleteProtectedSource = false )
147
+ loadSettings.source = UriHelper .createFromBase64String(it.substringAfter(" base64," ))
143
148
} else {
144
149
val potentialFile = continueWithExceptions { File (it) }
145
150
if (potentialFile?.exists() == true ) {
146
- loadSettings.setSource( Uri .fromFile(potentialFile), deleteProtectedSource = true )
151
+ loadSettings.source = Uri .fromFile(potentialFile)
147
152
} else {
148
- loadSettings.setSource( ConfigLoader .parseUri(it), deleteProtectedSource = true )
153
+ loadSettings.source = ConfigLoader .parseUri(it)
149
154
}
150
155
}
151
156
}
152
- }.configure<SaveSettings > {
153
- it.savePolicy = SaveSettings .SavePolicy .RETURN_SOURCE_OR_CREATE_OUTPUT_IF_NECESSARY
154
157
}
155
158
156
159
readSerialisation(settingsList, serialization, image == null )
@@ -180,14 +183,15 @@ class RNPhotoEditorSDKModule(val reactContext: ReactApplicationContext) : ReactC
180
183
private fun readSerialisation (settingsList : SettingsList , serialization : String? , readImage : Boolean ) {
181
184
if (serialization != null ) {
182
185
skipIfNotExists {
183
- PESDKFileReader (settingsList).also {
186
+ IMGLYFileReader (settingsList).also {
184
187
it.readJson(serialization, readImage)
185
188
}
186
189
}
187
190
}
188
191
}
189
192
190
193
private fun startEditor (settingsList : PhotoEditorSettingsList ? ) {
194
+ val currentActivity = this .currentActivity ? : throw RuntimeException (" Can't start the Editor because there is no current activity" )
191
195
if (settingsList != null ) {
192
196
(currentActivity as ? PermissionAwareActivity )?.also {
193
197
for (permission in PermissionRequest .NEEDED_EDITOR_PERMISSIONS ) {
0 commit comments