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() {