diff --git a/app/src/main/java/com/keylesspalace/tusky/viewdata/ChatViewData.kt b/app/src/main/java/com/keylesspalace/tusky/viewdata/ChatViewData.kt deleted file mode 100644 index 23dd38ba..00000000 --- a/app/src/main/java/com/keylesspalace/tusky/viewdata/ChatViewData.kt +++ /dev/null @@ -1,84 +0,0 @@ -package com.keylesspalace.tusky.viewdata - -import com.keylesspalace.tusky.entity.* -import java.util.* - - -abstract class ChatViewData { - abstract fun getViewDataId() : Int - abstract fun deepEquals(val o: ChatViewData) : Boolean - - class Concrete(val account : Account, - val id: String, - val unread: Int, - val lastMessage: ChatMessageViewData.Concrete?, - val updatedAt: Date ) : ChatViewData() { - override fun getViewDataId(): Int { - return id.hashCode() - } - - override fun deepEquals(o: ChatViewData): Boolean { - if (o !is Concrete) return false - return o.account == account && o.id == id && - o.unread == unread && - (lastMessage != null && o.lastMessage?.deepEquals(lastMessage) ?: false) && - o.updatedAt == updatedAt - } - - override fun hashCode(): Int { - return Objects.hash(account, id, unread, lastMessage, updatedAt) - } - } - - class Placeholder(val id: Int, val isLoading: Boolean) : ChatViewData() { - override fun getViewDataId(): Int { - return id - } - - override fun deepEquals(val o: ChatViewData): Boolean { - if( o !is Placeholder ) return false - return o.isLoading == isLoading && o.id == id - } - } -} - -abstract class ChatMessageViewData { - abstract fun getViewDataId() : Int - abstract fun deepEquals(val o: ChatMessageViewData) : Boolean - - class Concrete(val id: String, - val content: String, - val chatId: String, - val accountId: String, - val createdAt: Date, - val attachment: Attachment?, - val emojis: List) : ChatMessageViewData() - { - override fun getViewDataId(): Int { - return id.hashCode() - } - - override fun deepEquals(o: ChatMessageViewData): Boolean { - if( o !is Concrete ) return false - - return o.id == id && o.content == content && o.chatId == chatId && - o.accountId == accountId && o.createdAt == createdAt && - o.attachment == attachment && o.emojis == emojis - } - - override fun hashCode() : Int { - return Objects.hash(id, content, chatId, accountId, createdAt, attachment) - } - } - - class Placeholder(val id: Int, private val isLoading: Boolean) : ChatMessageViewData() { - override fun getViewDataId(): Int { - return id - } - - override fun deepEquals(val o: ChatMessageViewData): Boolean { - if( o !is Placeholder) return false - return o.isLoading == isLoading && o.id == id - } - } -} \ No newline at end of file