Refactoring the update of channel information.

This commit is contained in:
Vitor Pamplona
2023-12-06 15:38:31 -05:00
parent a4c9f42205
commit 45c750069a
2 changed files with 4 additions and 9 deletions
@@ -20,11 +20,8 @@ class PublicChatChannel(idHex: String) : Channel(idHex) {
var info = ChannelCreateEvent.ChannelData(null, null, null) var info = ChannelCreateEvent.ChannelData(null, null, null)
fun updateChannelInfo(creator: User, channelInfo: ChannelCreateEvent.ChannelData, updatedAt: Long) { fun updateChannelInfo(creator: User, channelInfo: ChannelCreateEvent.ChannelData, updatedAt: Long) {
this.creator = creator
this.info = channelInfo this.info = channelInfo
this.updatedMetadataAt = updatedAt super.updateChannelInfo(creator, updatedAt)
live.invalidateData()
} }
override fun toBestDisplayName(): String { override fun toBestDisplayName(): String {
@@ -781,7 +781,7 @@ object LocalCache {
fun consume(event: ChannelMetadataEvent) { fun consume(event: ChannelMetadataEvent) {
val channelId = event.channel() val channelId = event.channel()
// Log.d("MT", "New User ${users.size} ${event.contactMetaData.name}") // Log.d("MT", "New PublicChatMetadata ${event.channelInfo()}")
if (channelId.isNullOrBlank()) return if (channelId.isNullOrBlank()) return
// new event // new event
@@ -789,10 +789,8 @@ object LocalCache {
val author = getOrCreateUser(event.pubKey) val author = getOrCreateUser(event.pubKey)
if (event.createdAt > oldChannel.updatedMetadataAt) { if (event.createdAt > oldChannel.updatedMetadataAt) {
if (oldChannel.creator == null || oldChannel.creator == author) { if (oldChannel is PublicChatChannel) {
if (oldChannel is PublicChatChannel) { oldChannel.updateChannelInfo(author, event.channelInfo(), event.createdAt)
oldChannel.updateChannelInfo(author, event.channelInfo(), event.createdAt)
}
} }
} else { } else {
// Log.d("MT","Relay sent a previous Metadata Event ${oldUser.toBestDisplayName()} ${formattedDateTime(event.createdAt)} > ${formattedDateTime(oldUser.updatedAt)}") // Log.d("MT","Relay sent a previous Metadata Event ${oldUser.toBestDisplayName()} ${formattedDateTime(event.createdAt)} > ${formattedDateTime(oldUser.updatedAt)}")