yayan 1 年之前
父節點
當前提交
cfe3deb5aa

+ 2 - 5
app/src/main/java/io/nexilis/alpha/ui/components/Attachments.kt

@@ -70,7 +70,7 @@ import io.nexilis.service.core.BlueSky
 import io.nexilis.service.core.DarkLimeGreen
 import io.nexilis.service.core.Orange
 import io.nexilis.service.core.Purple
-import io.nexilis.service.core.createImageFile
+import io.nexilis.service.core.createFile
 import io.nexilis.service.core.getMimeType
 import io.nexilis.service.core.getSharedPreferences
 import io.nexilis.service.data.entities.Message
@@ -130,7 +130,6 @@ fun Attachments(modifier: Modifier, onAttachment: (List<Uri>) -> Unit) {
                                 .show()
                         }
                     }
-
                     val launcherCamera =
                         rememberLauncherForActivityResult(ActivityResultContracts.TakePicture()) {
                             if (it) {
@@ -142,7 +141,7 @@ fun Attachments(modifier: Modifier, onAttachment: (List<Uri>) -> Unit) {
                         ActivityResultContracts.RequestPermission()
                     ) {
                         if (it) {
-                            val file = context.createImageFile()
+                            val file = context.createFile(".jpeg")
                             tempUri = FileProvider.getUriForFile(
                                 context,
                                 BuildConfig.APPLICATION_ID + ".provider", file
@@ -391,8 +390,6 @@ fun AttachmentCaption(
                                         f_display_name = "",
                                         message_large_text = "",
                                         message_text_plain = "",
-                                        thumb_id = item.name,
-                                        image_id = item.name,
                                         uri = item.uri
                                     )
                                 )

+ 2 - 2
app/src/main/java/io/nexilis/alpha/ui/main/Profile.kt

@@ -31,7 +31,7 @@ import androidx.hilt.navigation.compose.hiltViewModel
 import coil.compose.rememberAsyncImagePainter
 import coil.request.ImageRequest
 import io.nexilis.alpha.BuildConfig
-import io.nexilis.service.core.createImageFile
+import io.nexilis.service.core.createFile
 import io.nexilis.service.data.entities.Buddy
 import io.nexilis.service.data.viewmodels.BuddyViewModel
 
@@ -40,7 +40,7 @@ import io.nexilis.service.data.viewmodels.BuddyViewModel
 fun Profile(contentPadding: PaddingValues = PaddingValues(0.dp), me: Buddy) {
     val viewModel: BuddyViewModel = hiltViewModel()
     val context = LocalContext.current
-    val file = context.createImageFile()
+    val file = context.createFile(".jpeg")
     val uri = FileProvider.getUriForFile(
         context,
         BuildConfig.APPLICATION_ID + ".provider", file

+ 9 - 6
cpaas-lite/src/main/java/io/nexilis/service/core/Extension.kt

@@ -47,12 +47,12 @@ fun SharedPreferences.put(key: String, value: Boolean) {
     }
 }
 
-fun Context.createImageFile(): File {
+fun Context.createFile(suffix: String): File {
     val timeStamp = SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(Date())
-    val imageFileName = "IMG_" + timeStamp + "_"
+    val imageFileName = "FL_" + timeStamp + "_"
     return File.createTempFile(
         imageFileName,
-        ".jpeg",
+        suffix,
         filesDir
     )
 }
@@ -70,6 +70,11 @@ fun Uri.getFileName(context: Context): String? {
 
 fun Context.getMimeType(uri: Uri): String {
     Log.d(tag, "getMimeType:uri:$uri")
+    val mimeType = contentResolver.getType(uri) ?: ""
+    Log.d(tag, "getMimeType:$mimeType")
+    if (mimeType.isNotEmpty()) {
+        return mimeType
+    }
     val fileExtension = MimeTypeMap.getFileExtensionFromUrl(uri.toString())
     if (!fileExtension.isNullOrEmpty()) {
         Log.d(tag, "getMimeType:fileExtension:$fileExtension")
@@ -79,9 +84,7 @@ fun Context.getMimeType(uri: Uri): String {
             return it
         }
     }
-    val mimeType = contentResolver.getType(uri) ?: ""
-    Log.d(tag, "getMimeType:$mimeType")
-    return mimeType
+    return ""
 }
 
 fun String.toMD5(): String {

+ 7 - 3
cpaas-lite/src/main/java/io/nexilis/service/core/Outgoing.kt

@@ -80,11 +80,15 @@ class Outgoing(private val context: Context, parameters: WorkerParameters) :
                         f_pin = message.f_pin,
                         bodies = bodies
                     )
-                    Log.d(tag, "message.image_id:${message.image_id}")
-                    if (message.image_id.isNotEmpty()) {
+                    val file = if (message.image_id.isNotEmpty()) message.image_id
+                    else if (message.audio_id.isNotEmpty()) message.audio_id
+                    else if (message.video_id.isNotEmpty()) message.video_id
+                    else message.file_id
+                    Log.d(tag, "message.file:$file")
+                    if (file.isNotEmpty()) {
                         val upload = Network().upload(
                             "https://digixplatform.com/uploader",
-                            File(context.filesDir, message.image_id)
+                            File(context.filesDir, file)
                         )
                         if (!upload) {
                             Log.d(tag, "Failed to upload image:${message.message_id}")