yayan 1 year ago
parent
commit
05249e3928

+ 4 - 6
app/src/main/java/io/nexilis/alpha/ui/components/Attachments.kt

@@ -94,9 +94,7 @@ fun Attachments(modifier: Modifier, onAttachment: (List<Uri>) -> Unit) {
         mutableStateOf(false)
     }
     val context = LocalContext.current
-    var uri by remember {
-        mutableStateOf<Uri>(Uri.EMPTY)
-    }
+    var tempUri = Uri.EMPTY
     IconButton(onClick = {
         keyboardController?.hide()
         isOpenMenu = !isOpenMenu
@@ -136,7 +134,7 @@ fun Attachments(modifier: Modifier, onAttachment: (List<Uri>) -> Unit) {
                     val launcherCamera =
                         rememberLauncherForActivityResult(ActivityResultContracts.TakePicture()) {
                             if (it) {
-                                onAttachment(listOf(uri))
+                                onAttachment(listOf(tempUri))
                             }
                             isOpenMenu = false
                         }
@@ -145,11 +143,11 @@ fun Attachments(modifier: Modifier, onAttachment: (List<Uri>) -> Unit) {
                     ) {
                         if (it) {
                             val file = context.createImageFile()
-                            uri = FileProvider.getUriForFile(
+                            tempUri = FileProvider.getUriForFile(
                                 context,
                                 BuildConfig.APPLICATION_ID + ".provider", file
                             )
-                            launcherCamera.launch(uri)
+                            launcherCamera.launch(tempUri)
                         } else {
                             Toast.makeText(context, "Permission Denied", Toast.LENGTH_SHORT)
                                 .show()

+ 10 - 8
cpaas-lite/src/main/java/io/nexilis/service/core/Extension.kt

@@ -120,15 +120,17 @@ fun InputStream.toFile(context: Context, name: String? = null): File {
             fileName = "FL_" + timeStamp + "_"
         }
         val file = File(context.filesDir, fileName)
-        val outputStream = FileOutputStream(file)
-        outputStream.use { output ->
-            val buffer = ByteArray(4 * 1024)
-            while (true) {
-                val byteCount = input.read(buffer)
-                if (byteCount < 0) break
-                output.write(buffer, 0, byteCount)
+        if (!file.exists()) {
+            val outputStream = FileOutputStream(file)
+            outputStream.use { output ->
+                val buffer = ByteArray(4 * 1024)
+                while (true) {
+                    val byteCount = input.read(buffer)
+                    if (byteCount < 0) break
+                    output.write(buffer, 0, byteCount)
+                }
+                output.flush()
             }
-            output.flush()
         }
         file
     }

+ 1 - 1
cpaas-lite/src/main/java/io/nexilis/service/core/Network.kt

@@ -92,7 +92,7 @@ class Network {
             .addHeader("Cookie", "PHPSESSID=123;MOBILE=123")
             .post(body)
             .build()
-        Log.d(tag, "upload:execute:$url:${file.name}")
+        Log.d(tag, "upload:execute:$url:${file.name}:${file.length()}")
         client.newCall(request).execute().use { response ->
             return response.code == 200
         }