diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt
index ffb05ff05..1c51ce13f 100644
--- a/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt
+++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/DetailChatRoomFragment.kt
@@ -542,8 +542,27 @@ class DetailChatRoomFragment : MasterFragment() {
startActivity(intent)
} catch (anfe: ActivityNotFoundException) {
Log.e("[Chat Message] Couldn't find an activity to handle MIME type: $type")
- val activity = requireActivity() as MainActivity
- activity.showSnackBar(R.string.chat_room_cant_open_file_no_app_found)
+
+ val dialogViewModel = DialogViewModel(getString(R.string.dialog_try_open_file_as_text_body), getString(R.string.dialog_try_open_file_as_text_title))
+ val dialog = DialogUtils.getDialog(requireContext(), dialogViewModel)
+
+ dialogViewModel.showCancelButton {
+ dialog.dismiss()
+ }
+
+ dialogViewModel.showOkButton({
+ dialog.dismiss()
+ intent.setDataAndType(contentUri, "text/plain")
+ try {
+ startActivity(intent)
+ } catch (anfe: ActivityNotFoundException) {
+ Log.e("[Chat Message] Couldn't find an activity to handle text/plain MIME type")
+ val activity = requireActivity() as MainActivity
+ activity.showSnackBar(R.string.chat_room_cant_open_file_no_app_found)
+ }
+ })
+
+ dialog.show()
}
}
}
diff --git a/app/src/main/java/org/linphone/activities/main/viewmodels/DialogViewModel.kt b/app/src/main/java/org/linphone/activities/main/viewmodels/DialogViewModel.kt
index 4d39bc07d..bc395ae55 100644
--- a/app/src/main/java/org/linphone/activities/main/viewmodels/DialogViewModel.kt
+++ b/app/src/main/java/org/linphone/activities/main/viewmodels/DialogViewModel.kt
@@ -41,6 +41,7 @@ class DialogViewModel(val message: String, val title: String = "") : ViewModel()
init {
doNotAskAgain.value = false
+ showTitle = title.isNotEmpty()
}
var showCancel: Boolean = false
diff --git a/app/src/main/java/org/linphone/utils/LinphoneUtils.kt b/app/src/main/java/org/linphone/utils/LinphoneUtils.kt
index 6c5a519fa..83be3f011 100644
--- a/app/src/main/java/org/linphone/utils/LinphoneUtils.kt
+++ b/app/src/main/java/org/linphone/utils/LinphoneUtils.kt
@@ -79,7 +79,7 @@ class LinphoneUtils {
fun deleteFilesAttachedToChatMessage(chatMessage: ChatMessage) {
for (content in chatMessage.contents) {
val filePath = content.filePath
- if (filePath != null) {
+ if (filePath != null && filePath.isNotEmpty()) {
Log.i("[Linphone Utils] Deleting file $filePath")
FileUtils.deleteFile(filePath)
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1ea9aca7a..3eae3d66a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -560,6 +560,8 @@
- @string/dialog_default_delete_many
An update is available
+ No app found for this kind of file
+ Would you like to try opening it as a plain text file?
Add a SIP address field