diff --git a/app/src/main/java/io/xxlabs/messenger/media/MediaProviderActivity.kt b/app/src/main/java/io/xxlabs/messenger/media/MediaProviderActivity.kt
index ee6f5af584cae949abfac07cd27ecb447318283c..989288f55126abdf0a8a71f3abde6437f910b7ad 100644
--- a/app/src/main/java/io/xxlabs/messenger/media/MediaProviderActivity.kt
+++ b/app/src/main/java/io/xxlabs/messenger/media/MediaProviderActivity.kt
@@ -121,7 +121,8 @@ abstract class MediaProviderActivity :
     }
 
     private fun correctPhotoOrientation(image: Bitmap, uri: Uri) {
-        val ei = ExifInterface(uri.path!!)
+        val inputStream = contentResolver.openInputStream(uri) ?: return
+        val ei = ExifInterface(inputStream)
         val orientation = ei.getAttributeInt(
             ExifInterface.TAG_ORIENTATION,
             ExifInterface.ORIENTATION_UNDEFINED
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/chat/ChatMessagesViewModel.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/chat/ChatMessagesViewModel.kt
index b689e8de73505b5f379531481ab5c987cab457a0..1e63825b682e0bd340ec646343d6a8cea4cf4b29 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/chat/ChatMessagesViewModel.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/chat/ChatMessagesViewModel.kt
@@ -25,7 +25,9 @@ import io.xxlabs.messenger.support.util.Utils
 import io.xxlabs.messenger.ui.dialog.info.InfoDialogUI
 import io.xxlabs.messenger.ui.main.chat.ChatMessagesUIController.Companion.ALL_MESSAGES
 import io.xxlabs.messenger.ui.main.chat.ChatMessagesUIController.Companion.MAX_REPLY_PREVIEW_LENGTH
+import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
 import timber.log.Timber
 import java.util.*
 
@@ -514,9 +516,13 @@ abstract class ChatMessagesViewModel<T: ChatMessage> (
     override fun getUserId() = preferences.getUserId()
 
     protected fun onMessageSent(resetMessageInput: Boolean = true) {
-        _beepEvent.value = true
-        _vibrateEvent.value = HapticFeedbackConstants.LONG_PRESS
-        if (resetMessageInput) resetMessageInput()
+        viewModelScope.launch {
+            withContext(Dispatchers.Main) {
+                _beepEvent.value = true
+                _vibrateEvent.value = HapticFeedbackConstants.LONG_PRESS
+                if (resetMessageInput) resetMessageInput()
+            }
+        }
     }
 
     protected open fun resetMessageInput() {