Merge branch 'hotfix/1.1.4_fixes'

This commit is contained in:
Benoit Marty 2021-04-15 11:10:24 +02:00
commit 18cef243a1
9 changed files with 75 additions and 41 deletions

View File

@ -1,3 +1,10 @@
Changes in Element 1.1.5 (2021-XX-XX)
===================================================
Bugfix 🐛:
- Fix crash during Realm migration
- Fix crash when playing video (#3179)
Changes in Element 1.1.4 (2021-04-09)
===================================================

View File

@ -0,0 +1,2 @@
Main changes in this version: hot fixes for 1.1.4
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.1.5

View File

@ -6,10 +6,13 @@ apply plugin: 'realm-android'
buildscript {
repositories {
mavenCentral()
// mavenCentral()
//noinspection GrDeprecatedAPIUsage
jcenter()
}
dependencies {
classpath "io.realm:realm-gradle-plugin:10.4.0"
// Stick to this version until https://github.com/realm/realm-java/issues/7402 is fixed
classpath "io.realm:realm-gradle-plugin:10.3.1"
}
}

View File

@ -14,7 +14,7 @@ kapt {
// Note: 2 digits max for each value
ext.versionMajor = 1
ext.versionMinor = 1
ext.versionPatch = 4
ext.versionPatch = 5
static def getGitTimestamp() {
def cmd = 'git show -s --format=%ct'

View File

@ -28,8 +28,10 @@ import com.bumptech.glide.signature.ObjectKey
import im.vector.app.core.extensions.vectorComponent
import im.vector.app.core.files.LocalFilesHelper
import im.vector.app.features.media.ImageContentRenderer
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import okhttp3.OkHttpClient
import timber.log.Timber
import java.io.IOException
@ -121,11 +123,13 @@ class VectorGlideDataFetcher(context: Context,
url = data.url,
elementToDecrypt = data.elementToDecrypt)
}
withContext(Dispatchers.Main) {
result.fold(
{ callback.onDataReady(it.inputStream()) },
{ callback.onLoadFailed(it as? Exception ?: IOException(it.localizedMessage)) }
)
}
}
// val url = contentUrlResolver.resolveFullSize(data.url)
// ?: return
//

View File

@ -31,8 +31,10 @@ import im.vector.lib.attachmentviewer.AttachmentInfo
import im.vector.lib.attachmentviewer.AttachmentSourceProvider
import im.vector.lib.attachmentviewer.ImageLoaderTarget
import im.vector.lib.attachmentviewer.VideoLoaderTarget
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.matrix.android.sdk.api.session.events.model.isVideoMessage
import org.matrix.android.sdk.api.session.file.FileService
import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
@ -162,6 +164,7 @@ abstract class BaseAttachmentProvider<Type>(
elementToDecrypt = data.elementToDecrypt
)
}
withContext(Dispatchers.Main) {
result.fold(
{ target.onVideoFileReady(info.uid, it) },
{ target.onVideoFileLoadFailed(info.uid) }
@ -169,6 +172,7 @@ abstract class BaseAttachmentProvider<Type>(
}
}
}
}
override fun clear(id: String) {
// TODO("Not yet implemented")

View File

@ -19,8 +19,10 @@ package im.vector.app.features.media
import im.vector.app.core.date.VectorDateFormatter
import im.vector.app.core.resources.StringProvider
import im.vector.lib.attachmentviewer.AttachmentInfo
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.matrix.android.sdk.api.session.file.FileService
import org.matrix.android.sdk.api.session.room.Room
import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
@ -87,7 +89,9 @@ class DataAttachmentRoomProvider(
elementToDecrypt = item.elementToDecrypt
)
}
withContext(Dispatchers.Main) {
callback(result.getOrNull())
}
}
}
}

View File

@ -19,8 +19,10 @@ package im.vector.app.features.media
import im.vector.app.core.date.VectorDateFormatter
import im.vector.app.core.resources.StringProvider
import im.vector.lib.attachmentviewer.AttachmentInfo
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.matrix.android.sdk.api.session.events.model.toModel
import org.matrix.android.sdk.api.session.file.FileService
import org.matrix.android.sdk.api.session.room.model.message.MessageContent
@ -134,8 +136,10 @@ class RoomEventsAttachmentProvider(
url = messageContent.getFileUrl(),
elementToDecrypt = messageContent.encryptedFileInfo?.toElementToDecrypt())
}
withContext(Dispatchers.Main) {
callback(result.getOrNull())
}
}
}
}
}

View File

@ -25,8 +25,10 @@ import im.vector.app.R
import im.vector.app.core.di.ActiveSessionHolder
import im.vector.app.core.error.ErrorFormatter
import im.vector.app.core.files.LocalFilesHelper
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import kotlinx.parcelize.Parcelize
import org.matrix.android.sdk.internal.crypto.attachments.ElementToDecrypt
import timber.log.Timber
@ -83,6 +85,7 @@ class VideoContentRenderer @Inject constructor(private val localFilesHelper: Loc
url = data.url,
elementToDecrypt = data.elementToDecrypt)
}
withContext(Dispatchers.Main) {
result.fold(
{ data ->
thumbnailView.isVisible = false
@ -100,6 +103,7 @@ class VideoContentRenderer @Inject constructor(private val localFilesHelper: Loc
)
}
}
}
} else {
val resolvedUrl = contentUrlResolver.resolveFullSize(data.url)
?: data.url?.takeIf { localFilesHelper.isLocalFile(data.url) && data.allowNonMxcUrls }
@ -124,6 +128,7 @@ class VideoContentRenderer @Inject constructor(private val localFilesHelper: Loc
url = data.url,
elementToDecrypt = null)
}
withContext(Dispatchers.Main) {
result.fold(
{ data ->
thumbnailView.isVisible = false
@ -143,4 +148,5 @@ class VideoContentRenderer @Inject constructor(private val localFilesHelper: Loc
}
}
}
}
}