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 java.io.File
|
||||
|
||||
abstract class BaseAttachmentProvider(
|
||||
abstract class BaseAttachmentProvider<Type>(
|
||||
protected val attachments: List<Type>,
|
||||
private val imageContentRenderer: ImageContentRenderer,
|
||||
protected val fileService: FileService,
|
||||
private val dateFormatter: VectorDateFormatter,
|
||||
@ -53,7 +54,9 @@ abstract class BaseAttachmentProvider(
|
||||
|
||||
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? {
|
||||
if (position == -1) return null
|
||||
|
@ -26,15 +26,13 @@ import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
|
||||
import java.io.File
|
||||
|
||||
class DataAttachmentRoomProvider(
|
||||
private val attachments: List<AttachmentData>,
|
||||
attachments: List<AttachmentData>,
|
||||
private val room: Room?,
|
||||
imageContentRenderer: ImageContentRenderer,
|
||||
dateFormatter: VectorDateFormatter,
|
||||
fileService: FileService,
|
||||
stringProvider: StringProvider
|
||||
) : BaseAttachmentProvider(imageContentRenderer, fileService, dateFormatter, stringProvider) {
|
||||
|
||||
override fun getItemCount(): Int = attachments.size
|
||||
) : BaseAttachmentProvider<AttachmentData>(attachments, imageContentRenderer, fileService, dateFormatter, stringProvider) {
|
||||
|
||||
override fun getAttachmentInfoAt(position: Int): AttachmentInfo {
|
||||
return attachments[position].let {
|
||||
|
@ -32,16 +32,12 @@ import org.matrix.android.sdk.internal.crypto.attachments.toElementToDecrypt
|
||||
import java.io.File
|
||||
|
||||
class RoomEventsAttachmentProvider(
|
||||
private val attachments: List<TimelineEvent>,
|
||||
attachments: List<TimelineEvent>,
|
||||
imageContentRenderer: ImageContentRenderer,
|
||||
dateFormatter: VectorDateFormatter,
|
||||
fileService: FileService,
|
||||
stringProvider: StringProvider
|
||||
) : BaseAttachmentProvider(imageContentRenderer, fileService, dateFormatter, stringProvider) {
|
||||
|
||||
override fun getItemCount(): Int {
|
||||
return attachments.size
|
||||
}
|
||||
) : BaseAttachmentProvider<TimelineEvent>(attachments, imageContentRenderer, fileService, dateFormatter, stringProvider) {
|
||||
|
||||
override fun getAttachmentInfoAt(position: Int): AttachmentInfo {
|
||||
return attachments[position].let {
|
||||
|
Loading…
Reference in New Issue
Block a user