72 lines
3.1 KiB
Java
72 lines
3.1 KiB
Java
package com.discord.utilities.textprocessing.node;
|
|
|
|
import android.content.Context;
|
|
import android.text.SpannableStringBuilder;
|
|
import android.text.style.BackgroundColorSpan;
|
|
import android.text.style.ForegroundColorSpan;
|
|
import android.text.style.StyleSpan;
|
|
import androidx.core.graphics.ColorUtils;
|
|
import c.d.b.a.a;
|
|
import com.discord.R;
|
|
import com.discord.api.role.GuildRole;
|
|
import com.discord.simpleast.core.node.Node;
|
|
import com.discord.utilities.color.ColorCompat;
|
|
import com.discord.utilities.guilds.RoleUtils;
|
|
import com.discord.utilities.textprocessing.node.RoleMentionNode.RenderContext;
|
|
import com.discord.widgets.chat.input.MentionUtilsKt;
|
|
import d0.t.n;
|
|
import d0.z.d.m;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
/* compiled from: RoleMentionNode.kt */
|
|
public final class RoleMentionNode<T extends RenderContext> extends Node<T> {
|
|
private final long roleId;
|
|
|
|
/* compiled from: RoleMentionNode.kt */
|
|
public interface RenderContext {
|
|
Context getContext();
|
|
|
|
Map<Long, GuildRole> getRoles();
|
|
}
|
|
|
|
public RoleMentionNode(long j) {
|
|
super(null, 1, null);
|
|
this.roleId = j;
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
return (obj instanceof RoleMentionNode) && ((RoleMentionNode) obj).roleId == this.roleId;
|
|
}
|
|
|
|
public final long getRoleId() {
|
|
return this.roleId;
|
|
}
|
|
|
|
public void render(SpannableStringBuilder spannableStringBuilder, T t) {
|
|
m.checkNotNullParameter(spannableStringBuilder, "builder");
|
|
m.checkNotNullParameter(t, "renderContext");
|
|
int length = spannableStringBuilder.length();
|
|
Map<Long, GuildRole> roles = t.getRoles();
|
|
GuildRole guildRole = roles != null ? roles.get(Long.valueOf(this.roleId)) : null;
|
|
if (guildRole == null) {
|
|
spannableStringBuilder.append("deleted-role");
|
|
return;
|
|
}
|
|
StringBuilder N = a.N(MentionUtilsKt.MENTIONS_CHAR);
|
|
N.append(guildRole.g());
|
|
String sb = N.toString();
|
|
List<Object> listOf = n.listOf(new StyleSpan(1), new ForegroundColorSpan(!RoleUtils.isDefaultColor(guildRole) ? ColorUtils.setAlphaComponent(guildRole.b(), 255) : ColorCompat.getThemedColor(t.getContext(), (int) R.attr.theme_chat_mention_foreground)), new BackgroundColorSpan(!RoleUtils.isDefaultColor(guildRole) ? ColorUtils.setAlphaComponent(guildRole.b(), 25) : ColorCompat.getThemedColor(t.getContext(), (int) R.attr.theme_chat_mention_background)));
|
|
spannableStringBuilder.append((CharSequence) sb);
|
|
for (Object obj : listOf) {
|
|
spannableStringBuilder.setSpan(obj, length, spannableStringBuilder.length(), 33);
|
|
}
|
|
}
|
|
|
|
/* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.discord.utilities.textprocessing.node.RoleMentionNode<T extends com.discord.utilities.textprocessing.node.RoleMentionNode$RenderContext> */
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
@Override // com.discord.simpleast.core.node.Node
|
|
public /* bridge */ /* synthetic */ void render(SpannableStringBuilder spannableStringBuilder, Object obj) {
|
|
render(spannableStringBuilder, (SpannableStringBuilder) ((RenderContext) obj));
|
|
}
|
|
}
|