diff --git a/plugins/Bocchi/src/main/kotlin/moe/lava/awoocord/bocchi/Bocchi.kt b/plugins/Bocchi/src/main/kotlin/moe/lava/awoocord/bocchi/Bocchi.kt index af65f09..c3e3521 100644 --- a/plugins/Bocchi/src/main/kotlin/moe/lava/awoocord/bocchi/Bocchi.kt +++ b/plugins/Bocchi/src/main/kotlin/moe/lava/awoocord/bocchi/Bocchi.kt @@ -1,17 +1,34 @@ package moe.lava.awoocord.bocchi import android.content.Context +import android.view.View import com.aliucord.annotations.AliucordPlugin import com.aliucord.entities.Plugin import com.aliucord.patcher.* +import com.aliucord.utils.accessField import com.discord.api.message.MessageTypes import com.discord.models.message.Message +import com.discord.utilities.view.text.SimpleDraweeSpanTextView +import com.discord.widgets.chat.list.adapter.WidgetChatListAdapterItemMessage +import com.discord.widgets.chat.list.entries.ChatListEntry +import com.discord.widgets.chat.list.entries.MessageEntry import com.discord.widgets.chat.list.model.WidgetChatListModelMessages +private val WidgetChatListAdapterItemMessage.itemText by accessField() + @AliucordPlugin(requiresRestart = true) @Suppress("unused") class Bocchi : Plugin() { override fun start(context: Context) { + patcher.after( + "onConfigure", + Int::class.java, + ChatListEntry::class.java, + ) { (_, _: Int, entry: MessageEntry) -> + if (entry.type == ChatListEntry.MESSAGE_MINIMAL && entry.message.content.isNullOrEmpty()) { + itemText.visibility = View.GONE + } + } patcher.instead( "shouldConcatMessage", WidgetChatListModelMessages.Items::class.java,