mirror of
https://github.com/element-hq/element-android
synced 2024-11-28 13:38:49 +03:00
Last cleanup
This commit is contained in:
parent
45e534bbf5
commit
f57fc827fe
3 changed files with 9 additions and 8 deletions
|
@ -38,7 +38,7 @@ import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
|
|||
import java.io.File
|
||||
|
||||
abstract class BaseAttachmentProvider<Type>(
|
||||
protected val attachments: List<Type>,
|
||||
private val attachments: List<Type>,
|
||||
private val imageContentRenderer: ImageContentRenderer,
|
||||
protected val fileService: FileService,
|
||||
private val dateFormatter: VectorDateFormatter,
|
||||
|
@ -58,6 +58,8 @@ abstract class BaseAttachmentProvider<Type>(
|
|||
|
||||
final override fun getItemCount() = attachments.size
|
||||
|
||||
protected fun getItem(position: Int) = attachments[position]
|
||||
|
||||
final override fun overlayViewAtPosition(context: Context, position: Int): View? {
|
||||
if (position == -1) return null
|
||||
if (overlayView == null) {
|
||||
|
|
|
@ -35,7 +35,7 @@ class DataAttachmentRoomProvider(
|
|||
) : BaseAttachmentProvider<AttachmentData>(attachments, imageContentRenderer, fileService, dateFormatter, stringProvider) {
|
||||
|
||||
override fun getAttachmentInfoAt(position: Int): AttachmentInfo {
|
||||
return attachments[position].let {
|
||||
return getItem(position).let {
|
||||
when (it) {
|
||||
is ImageContentRenderer.Data -> {
|
||||
if (it.mimeType == "image/gif") {
|
||||
|
@ -70,12 +70,12 @@ class DataAttachmentRoomProvider(
|
|||
}
|
||||
|
||||
override fun getTimelineEventAtPosition(position: Int): TimelineEvent? {
|
||||
val item = attachments[position]
|
||||
val item = getItem(position)
|
||||
return room?.getTimeLineEvent(item.eventId)
|
||||
}
|
||||
|
||||
override fun getFileForSharing(position: Int, callback: (File?) -> Unit) {
|
||||
val item = attachments[position]
|
||||
val item = getItem(position)
|
||||
fileService.downloadFile(
|
||||
downloadMode = FileService.DownloadMode.FOR_EXTERNAL_SHARE,
|
||||
id = item.eventId,
|
||||
|
|
|
@ -40,7 +40,7 @@ class RoomEventsAttachmentProvider(
|
|||
) : BaseAttachmentProvider<TimelineEvent>(attachments, imageContentRenderer, fileService, dateFormatter, stringProvider) {
|
||||
|
||||
override fun getAttachmentInfoAt(position: Int): AttachmentInfo {
|
||||
return attachments[position].let {
|
||||
return getItem(position).let {
|
||||
val content = it.root.getClearContent().toModel<MessageContent>() as? MessageWithAttachmentContent
|
||||
if (content is MessageImageContent) {
|
||||
val data = ImageContentRenderer.Data(
|
||||
|
@ -115,11 +115,11 @@ class RoomEventsAttachmentProvider(
|
|||
}
|
||||
|
||||
override fun getTimelineEventAtPosition(position: Int): TimelineEvent? {
|
||||
return attachments[position]
|
||||
return getItem(position)
|
||||
}
|
||||
|
||||
override fun getFileForSharing(position: Int, callback: (File?) -> Unit) {
|
||||
attachments[position].let { timelineEvent ->
|
||||
getItem(position).let { timelineEvent ->
|
||||
|
||||
val messageContent = timelineEvent.root.getClearContent().toModel<MessageContent>()
|
||||
as? MessageWithAttachmentContent
|
||||
|
@ -144,4 +144,3 @@ class RoomEventsAttachmentProvider(
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue