109 lines
4.3 KiB
Java
109 lines
4.3 KiB
Java
package com.discord.utilities.textprocessing.node;
|
|
|
|
import android.content.Context;
|
|
import android.text.SpannableStringBuilder;
|
|
import com.discord.R;
|
|
import com.discord.simpleast.core.node.Node;
|
|
import com.discord.utilities.color.ColorCompat;
|
|
import com.discord.utilities.spans.ClickableSpan;
|
|
import com.discord.utilities.textprocessing.node.SpoilerNode.RenderContext;
|
|
import d0.t.n;
|
|
import d0.z.d.m;
|
|
import java.util.List;
|
|
import kotlin.Unit;
|
|
import kotlin.jvm.functions.Function1;
|
|
/* compiled from: SpoilerNode.kt */
|
|
public final class SpoilerNode<T extends RenderContext> extends Node<T> implements Spoilerable {
|
|
private final String content;
|
|
|
|
/* renamed from: id reason: collision with root package name */
|
|
private int f2195id = -1;
|
|
private boolean isRevealed;
|
|
|
|
/* compiled from: SpoilerNode.kt */
|
|
public interface RenderContext extends BasicRenderContext {
|
|
int getSpoilerColorRes();
|
|
|
|
Function1<SpoilerNode<?>, Unit> getSpoilerOnClick();
|
|
|
|
int getSpoilerRevealedColorRes();
|
|
}
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public SpoilerNode(String str) {
|
|
super(null, 1, null);
|
|
m.checkNotNullParameter(str, "content");
|
|
this.content = str;
|
|
}
|
|
|
|
/* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x0049: APUT
|
|
(r2v3 java.lang.Object[])
|
|
(1 ??[boolean, int, float, short, byte, char])
|
|
(r10v0 com.discord.utilities.spans.ClickableSpan)
|
|
*/
|
|
private final List<Object> createStyles(T t) {
|
|
Context context = t.getContext();
|
|
SpoilerSpan spoilerSpan = new SpoilerSpan(t.getSpoilerColorRes(), t.getSpoilerRevealedColorRes(), isRevealed());
|
|
if (isRevealed()) {
|
|
return d0.t.m.listOf(spoilerSpan);
|
|
}
|
|
Object[] objArr = new Object[2];
|
|
objArr[0] = spoilerSpan;
|
|
Function1<SpoilerNode<?>, Unit> spoilerOnClick = t.getSpoilerOnClick();
|
|
objArr[1] = spoilerOnClick != null ? new ClickableSpan(Integer.valueOf(ColorCompat.getColor(context, (int) R.color.transparent)), false, null, new SpoilerNode$createStyles$$inlined$let$lambda$1(spoilerOnClick, this, context), 4, null) : null;
|
|
return n.listOfNotNull(objArr);
|
|
}
|
|
|
|
public final String getContent() {
|
|
return this.content;
|
|
}
|
|
|
|
public final int getId() {
|
|
return this.f2195id;
|
|
}
|
|
|
|
@Override // com.discord.utilities.textprocessing.node.Spoilerable
|
|
public boolean isRevealed() {
|
|
return this.isRevealed;
|
|
}
|
|
|
|
public void render(SpannableStringBuilder spannableStringBuilder, T t) {
|
|
m.checkNotNullParameter(spannableStringBuilder, "builder");
|
|
m.checkNotNullParameter(t, "renderContext");
|
|
int length = spannableStringBuilder.length();
|
|
Iterable<Node> children = getChildren();
|
|
if (children != null) {
|
|
for (Node node : children) {
|
|
node.render(spannableStringBuilder, t);
|
|
}
|
|
}
|
|
if (!isRevealed()) {
|
|
Object[] spans = spannableStringBuilder.getSpans(length, spannableStringBuilder.length(), ClickableSpan.class);
|
|
m.checkNotNullExpressionValue(spans, "builder.getSpans(startIn…lickableSpan::class.java)");
|
|
for (Object obj : spans) {
|
|
spannableStringBuilder.removeSpan((ClickableSpan) obj);
|
|
}
|
|
}
|
|
for (Object obj2 : createStyles(t)) {
|
|
spannableStringBuilder.setSpan(obj2, length, spannableStringBuilder.length(), 33);
|
|
}
|
|
}
|
|
|
|
/* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.discord.utilities.textprocessing.node.SpoilerNode<T extends com.discord.utilities.textprocessing.node.SpoilerNode$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));
|
|
}
|
|
|
|
@Override // com.discord.utilities.textprocessing.node.Spoilerable
|
|
public void setRevealed(boolean z2) {
|
|
this.isRevealed = z2;
|
|
}
|
|
|
|
public final void updateState(int i, boolean z2) {
|
|
this.f2195id = i;
|
|
setRevealed(z2);
|
|
}
|
|
}
|