diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/ContentFormatter.kt b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/ContentFormatter.kt index 7c0ae3c1473c8624e9e0d7b907701050cc167868..2ba3631dcd9b6b3a0331b772dadb4ee61c9b91d5 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/ContentFormatter.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/ContentFormatter.kt @@ -127,7 +127,6 @@ class ContentFormatter @Inject constructor( } } - spans.reverse() for (span in spans) { span.apply(formattedText) } diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/model/IrcFormat.kt b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/model/IrcFormat.kt index 9a5c5e35ad0ae9ae8b4a569c1cdf58f07621e27a..9ec3c428dc9265a22df8c4369b5e9204d8f5fabf 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/model/IrcFormat.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/model/IrcFormat.kt @@ -22,8 +22,6 @@ package de.kuschku.quasseldroid.util.irc.format.model import android.text.Spannable import android.text.Spanned import de.kuschku.libquassel.protocol.NetworkId -import de.kuschku.quasseldroid.util.irc.format.ChannelLinkSpan -import de.kuschku.quasseldroid.util.irc.format.QuasselURLSpan import de.kuschku.quasseldroid.util.irc.format.spans.* sealed class IrcFormat { diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/ChannelLinkSpan.kt b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/spans/ChannelLinkSpan.kt similarity index 96% rename from app/src/main/java/de/kuschku/quasseldroid/util/irc/format/ChannelLinkSpan.kt rename to app/src/main/java/de/kuschku/quasseldroid/util/irc/format/spans/ChannelLinkSpan.kt index 7e9be6eb1b4e34f64c4774549abd4bbee97f1831..1f0744a4143fb4632ca4d0575dec7e23886d06dd 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/ChannelLinkSpan.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/spans/ChannelLinkSpan.kt @@ -17,7 +17,7 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.kuschku.quasseldroid.util.irc.format +package de.kuschku.quasseldroid.util.irc.format.spans import android.text.TextPaint import android.text.style.ClickableSpan diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/spans/IrcForegroundColorSpan.kt b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/spans/IrcForegroundColorSpan.kt index c5d44080213b14ca5787e5236f8979088fe79d26..daa3f07791096dd38834b09820dda28f2ec19fc1 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/spans/IrcForegroundColorSpan.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/spans/IrcForegroundColorSpan.kt @@ -19,18 +19,26 @@ package de.kuschku.quasseldroid.util.irc.format.spans +import android.text.TextPaint import android.text.style.ForegroundColorSpan import androidx.annotation.ColorInt sealed class IrcForegroundColorSpan<T : IrcForegroundColorSpan<T>>(@ColorInt color: Int) : ForegroundColorSpan(color), Copyable<T> { + override fun updateDrawState(ds: TextPaint?) { + if (ds != null) { + ds.color = foregroundColor + ds.linkColor = foregroundColor + } + } class MIRC(private val mircColor: Int, @ColorInt color: Int) : IrcForegroundColorSpan<MIRC>(color), Copyable<MIRC> { override fun copy() = MIRC(mircColor, foregroundColor) override fun toString(): String { - return "IrcForegroundColorSpan.MIRC(mircColor=$mircColor, color=${foregroundColor.toString(16)})" + return "IrcForegroundColorSpan.MIRC(mircColor=$mircColor, color=${foregroundColor.toUInt().toString( + 16)})" } override fun equals(other: Any?) = when (other) { @@ -43,7 +51,7 @@ sealed class IrcForegroundColorSpan<T : IrcForegroundColorSpan<T>>(@ColorInt col IrcForegroundColorSpan<HEX>(color), Copyable<HEX> { override fun copy() = HEX(foregroundColor) override fun toString(): String { - return "IrcBackgroundColorSpan.HEX(color=${foregroundColor.toString(16)})" + return "IrcBackgroundColorSpan.HEX(color=${foregroundColor.toUInt().toString(16)})" } override fun equals(other: Any?) = when (other) { diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/QuasselURLSpan.kt b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/spans/QuasselURLSpan.kt similarity index 95% rename from app/src/main/java/de/kuschku/quasseldroid/util/irc/format/QuasselURLSpan.kt rename to app/src/main/java/de/kuschku/quasseldroid/util/irc/format/spans/QuasselURLSpan.kt index 14921b3c7b6a677f399d1149c2631e9f951bdcc8..ce670ced4f6f54b5035ffcb9485ec4755299508d 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/QuasselURLSpan.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/irc/format/spans/QuasselURLSpan.kt @@ -17,7 +17,7 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -package de.kuschku.quasseldroid.util.irc.format +package de.kuschku.quasseldroid.util.irc.format.spans import android.text.TextPaint import android.text.style.URLSpan