Merge pull request #521 from vector-im/feature/fix_dome_video_wont_play

Some video won't play
This commit is contained in:
Valere 2019-08-28 03:43:35 -04:00 committed by GitHub
commit b49ccefe63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 35 additions and 5 deletions

View File

@ -14,6 +14,7 @@ Bugfix:
- Fix text diff linebreak display (#441) - Fix text diff linebreak display (#441)
- Date change message repeats for each redaction until a normal message (#358) - Date change message repeats for each redaction until a normal message (#358)
- Slide-in reply icon is distorted (#423) - Slide-in reply icon is distorted (#423)
- Some video won't play


Translations: Translations:
- -

View File

@ -89,19 +89,45 @@ class VideoContentRenderer @Inject constructor(private val activeSessionHolder:
}) })
} }
} else { } else {
thumbnailView.isVisible = false
loadingView.isVisible = false


val resolvedUrl = contentUrlResolver.resolveFullSize(data.url) val resolvedUrl = contentUrlResolver.resolveFullSize(data.url)


if (resolvedUrl == null) { if (resolvedUrl == null) {
thumbnailView.isVisible = false
loadingView.isVisible = false
errorView.isVisible = true errorView.isVisible = true
errorView.setText(R.string.unknown_error) errorView.setText(R.string.unknown_error)
} else { } else {

//Temporary code, some remote videos are not played by videoview setVideoUri
//So for now we download them then play
thumbnailView.isVisible = true
loadingView.isVisible = true

activeSessionHolder.getActiveSession()
.downloadFile(
FileService.DownloadMode.FOR_INTERNAL_USE,
data.eventId,
data.filename,
data.url,
null,
object : MatrixCallback<File> {
override fun onSuccess(data: File) {
thumbnailView.isVisible = false
loadingView.isVisible = false
videoView.isVisible = true videoView.isVisible = true
videoView.setVideoPath(resolvedUrl)
videoView.setVideoPath(data.path)
videoView.start() videoView.start()
} }

override fun onFailure(failure: Throwable) {
loadingView.isVisible = false
errorView.isVisible = true
errorView.text = errorFormatter.toHumanReadable(failure)
}
})
}
} }
} }



View File

@ -34,7 +34,9 @@
android:id="@+id/videoMediaViewerThumbnailView" android:id="@+id/videoMediaViewerThumbnailView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="center"
android:visibility="gone" android:visibility="gone"
android:scaleType="centerInside"
tools:visibility="visible" /> tools:visibility="visible" />


<ProgressBar <ProgressBar
@ -49,6 +51,7 @@
android:id="@+id/videoMediaViewerVideoView" android:id="@+id/videoMediaViewerVideoView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="center"
android:visibility="gone" /> android:visibility="gone" />


<TextView <TextView