discord-jadx/app/src/main/java/com/discord/utilities/spans/QuoteSpan.java

79 lines
2.6 KiB
Java

package com.discord.utilities.spans;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.text.Layout;
import android.text.Spanned;
import android.text.style.LeadingMarginSpan;
import androidx.annotation.ColorInt;
import androidx.annotation.IntRange;
import androidx.annotation.Px;
import d0.z.d.m;
/* compiled from: QuoteSpan.kt */
public final class QuoteSpan implements LeadingMarginSpan {
private final int gapWidth;
private final float radius;
private final RectF rect = new RectF();
private final int stripeColor;
private final int stripeWidth;
public QuoteSpan(@ColorInt int i, @IntRange(from = 0) @Px int i2, @IntRange(from = 0) @Px int i3) {
this.stripeColor = i;
this.stripeWidth = i2;
this.gapWidth = i3;
this.radius = (float) i2;
}
private final void draw(Canvas canvas, Paint paint) {
Paint.Style style = paint.getStyle();
int color = paint.getColor();
paint.setStyle(Paint.Style.FILL);
paint.setColor(this.stripeColor);
RectF rectF = this.rect;
float f = this.radius;
canvas.drawRoundRect(rectF, f, f, paint);
paint.setStyle(style);
paint.setColor(color);
}
@Override // android.text.style.LeadingMarginSpan
public void drawLeadingMargin(Canvas canvas, Paint paint, int i, int i2, int i3, int i4, int i5, CharSequence charSequence, int i6, int i7, boolean z2, Layout layout) {
m.checkNotNullParameter(canvas, "c");
m.checkNotNullParameter(paint, "p");
m.checkNotNullParameter(charSequence, "text");
m.checkNotNullParameter(layout, "layout");
if (charSequence instanceof Spanned) {
Spanned spanned = (Spanned) charSequence;
if (spanned.getSpanStart(this) == i6) {
RectF rectF = this.rect;
rectF.left = (float) i;
rectF.right = (float) ((i2 * this.stripeWidth) + i);
rectF.top = (float) i3;
}
int spanEnd = spanned.getSpanEnd(this);
if (spanEnd == i7 || (spanEnd - 1 == i7 && charSequence.charAt(i7) == '\n')) {
this.rect.bottom = (float) i5;
draw(canvas, paint);
}
}
}
public final int getGapWidth() {
return this.gapWidth;
}
@Override // android.text.style.LeadingMarginSpan
public int getLeadingMargin(boolean z2) {
return this.stripeWidth + this.gapWidth;
}
public final int getStripeColor() {
return this.stripeColor;
}
public final int getStripeWidth() {
return this.stripeWidth;
}
}