From e9052ca5d9e5c66567cea60b7f03c9246068bfac Mon Sep 17 00:00:00 2001 From: LavaDesu Date: Mon, 23 Jun 2025 22:22:12 +1000 Subject: [PATCH] feat(AlignThreads): init --- plugins/AlignThreads/.gitignore | 1 + plugins/AlignThreads/build.gradle.kts | 12 +++++++ .../AlignThreads/src/main/AndroidManifest.xml | 2 ++ .../awoocord/alignthreads/AlignThreads.kt | 35 +++++++++++++++++++ settings.gradle.kts | 1 + 5 files changed, 51 insertions(+) create mode 100644 plugins/AlignThreads/.gitignore create mode 100644 plugins/AlignThreads/build.gradle.kts create mode 100644 plugins/AlignThreads/src/main/AndroidManifest.xml create mode 100644 plugins/AlignThreads/src/main/kotlin/moe/lava/awoocord/alignthreads/AlignThreads.kt diff --git a/plugins/AlignThreads/.gitignore b/plugins/AlignThreads/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/plugins/AlignThreads/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/plugins/AlignThreads/build.gradle.kts b/plugins/AlignThreads/build.gradle.kts new file mode 100644 index 0000000..7a3a36f --- /dev/null +++ b/plugins/AlignThreads/build.gradle.kts @@ -0,0 +1,12 @@ +version = "1.0.0" +description = "Fixes the alignment of \"Create Thread\" button in message actions" + +aliucord { + // Changelog of your plugin + changelog.set(""" + # 1.0.0 + * Initial release >w< + """.trimIndent()) + + excludeFromUpdaterJson.set(false) +} diff --git a/plugins/AlignThreads/src/main/AndroidManifest.xml b/plugins/AlignThreads/src/main/AndroidManifest.xml new file mode 100644 index 0000000..9fc57d3 --- /dev/null +++ b/plugins/AlignThreads/src/main/AndroidManifest.xml @@ -0,0 +1,2 @@ + + diff --git a/plugins/AlignThreads/src/main/kotlin/moe/lava/awoocord/alignthreads/AlignThreads.kt b/plugins/AlignThreads/src/main/kotlin/moe/lava/awoocord/alignthreads/AlignThreads.kt new file mode 100644 index 0000000..ecfadb7 --- /dev/null +++ b/plugins/AlignThreads/src/main/kotlin/moe/lava/awoocord/alignthreads/AlignThreads.kt @@ -0,0 +1,35 @@ +package moe.lava.awoocord.alignthreads + +import android.content.Context +import android.view.View +import android.widget.TextView +import androidx.core.content.ContextCompat +import com.aliucord.Utils +import com.aliucord.annotations.AliucordPlugin +import com.aliucord.entities.Plugin +import com.aliucord.patcher.after +import com.aliucord.patcher.component1 +import com.aliucord.patcher.component2 +import com.aliucord.utils.DimenUtils +import com.discord.widgets.chat.list.actions.`WidgetChatListActions$binding$2` +import com.lytefast.flexinput.R + +@AliucordPlugin(requiresRestart = false) +@Suppress("unused") +class AlignThreads : Plugin() { + override fun start(ctx: Context) { + patcher.after<`WidgetChatListActions$binding$2`>("invoke", View::class.java) + { (_, view: View) -> + val id = Utils.getResId("dialog_chat_actions_start_thread", "id") + val threadTextView = view.findViewById(id) + val size = DimenUtils.dpToPx(24) + val icon = ContextCompat.getDrawable(threadTextView.context, R.e.ic_thread)!! + icon.setBounds(0, 0, size, size) + threadTextView.setCompoundDrawables(icon, null, null, null) + } + } + + override fun stop(ctx: Context) { + patcher.unpatchAll() + } +} diff --git a/settings.gradle.kts b/settings.gradle.kts index 90c91a9..ec25265 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -5,6 +5,7 @@ rootProject.name = "Awoocord" // Plugins are included like this include( + "AlignThreads", "Scout" )