DRY again
This commit is contained in:
parent
bfcd4b8250
commit
45e534bbf5
@ -37,7 +37,8 @@ import org.matrix.android.sdk.api.session.file.FileService
|
|||||||
import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
|
import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
abstract class BaseAttachmentProvider(
|
abstract class BaseAttachmentProvider<Type>(
|
||||||
|
protected val attachments: List<Type>,
|
||||||
private val imageContentRenderer: ImageContentRenderer,
|
private val imageContentRenderer: ImageContentRenderer,
|
||||||
protected val fileService: FileService,
|
protected val fileService: FileService,
|
||||||
private val dateFormatter: VectorDateFormatter,
|
private val dateFormatter: VectorDateFormatter,
|
||||||
@ -53,7 +54,9 @@ abstract class BaseAttachmentProvider(
|
|||||||
|
|
||||||
var interactionListener: InteractionListener? = null
|
var interactionListener: InteractionListener? = null
|
||||||
|
|
||||||
protected var overlayView: AttachmentOverlayView? = null
|
private var overlayView: AttachmentOverlayView? = null
|
||||||
|
|
||||||
|
final override fun getItemCount() = attachments.size
|
||||||
|
|
||||||
final override fun overlayViewAtPosition(context: Context, position: Int): View? {
|
final override fun overlayViewAtPosition(context: Context, position: Int): View? {
|
||||||
if (position == -1) return null
|
if (position == -1) return null
|
||||||
|
@ -26,15 +26,13 @@ import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
|
|||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class DataAttachmentRoomProvider(
|
class DataAttachmentRoomProvider(
|
||||||
private val attachments: List<AttachmentData>,
|
attachments: List<AttachmentData>,
|
||||||
private val room: Room?,
|
private val room: Room?,
|
||||||
imageContentRenderer: ImageContentRenderer,
|
imageContentRenderer: ImageContentRenderer,
|
||||||
dateFormatter: VectorDateFormatter,
|
dateFormatter: VectorDateFormatter,
|
||||||
fileService: FileService,
|
fileService: FileService,
|
||||||
stringProvider: StringProvider
|
stringProvider: StringProvider
|
||||||
) : BaseAttachmentProvider(imageContentRenderer, fileService, dateFormatter, stringProvider) {
|
) : BaseAttachmentProvider<AttachmentData>(attachments, imageContentRenderer, fileService, dateFormatter, stringProvider) {
|
||||||
|
|
||||||
override fun getItemCount(): Int = attachments.size
|
|
||||||
|
|
||||||
override fun getAttachmentInfoAt(position: Int): AttachmentInfo {
|
override fun getAttachmentInfoAt(position: Int): AttachmentInfo {
|
||||||
return attachments[position].let {
|
return attachments[position].let {
|
||||||
|
@ -32,16 +32,12 @@ import org.matrix.android.sdk.internal.crypto.attachments.toElementToDecrypt
|
|||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class RoomEventsAttachmentProvider(
|
class RoomEventsAttachmentProvider(
|
||||||
private val attachments: List<TimelineEvent>,
|
attachments: List<TimelineEvent>,
|
||||||
imageContentRenderer: ImageContentRenderer,
|
imageContentRenderer: ImageContentRenderer,
|
||||||
dateFormatter: VectorDateFormatter,
|
dateFormatter: VectorDateFormatter,
|
||||||
fileService: FileService,
|
fileService: FileService,
|
||||||
stringProvider: StringProvider
|
stringProvider: StringProvider
|
||||||
) : BaseAttachmentProvider(imageContentRenderer, fileService, dateFormatter, stringProvider) {
|
) : BaseAttachmentProvider<TimelineEvent>(attachments, imageContentRenderer, fileService, dateFormatter, stringProvider) {
|
||||||
|
|
||||||
override fun getItemCount(): Int {
|
|
||||||
return attachments.size
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getAttachmentInfoAt(position: Int): AttachmentInfo {
|
override fun getAttachmentInfoAt(position: Int): AttachmentInfo {
|
||||||
return attachments[position].let {
|
return attachments[position].let {
|
||||||
|
Loading…
Reference in New Issue
Block a user