120 lines
4.5 KiB
Java
120 lines
4.5 KiB
Java
package com.discord.views;
|
|
|
|
import android.content.Context;
|
|
import android.content.res.TypedArray;
|
|
import android.graphics.Canvas;
|
|
import android.graphics.Paint;
|
|
import android.util.AttributeSet;
|
|
import android.widget.ImageView;
|
|
import androidx.annotation.Px;
|
|
import androidx.appcompat.widget.AppCompatImageView;
|
|
import com.discord.R;
|
|
import com.discord.api.presence.ClientStatus;
|
|
import com.discord.api.presence.ClientStatuses;
|
|
import com.discord.models.presence.Presence;
|
|
import com.discord.utilities.presence.PresenceUtils;
|
|
import d0.z.d.m;
|
|
/* compiled from: StatusView.kt */
|
|
public final class StatusView extends AppCompatImageView {
|
|
public float i = 2.0f;
|
|
public Paint j;
|
|
public boolean k = true;
|
|
public boolean l = true;
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public StatusView(Context context, AttributeSet attributeSet) {
|
|
super(context, attributeSet);
|
|
m.checkNotNullParameter(context, "context");
|
|
setAdjustViewBounds(true);
|
|
setScaleType(ImageView.ScaleType.FIT_XY);
|
|
TypedArray obtainStyledAttributes = getContext().obtainStyledAttributes(attributeSet, R.a.StatusView, 0, 0);
|
|
m.checkNotNullExpressionValue(obtainStyledAttributes, "context.obtainStyledAttr…yleable.StatusView, 0, 0)");
|
|
try {
|
|
setBorderWidth((int) obtainStyledAttributes.getDimension(1, 0.0f));
|
|
int color = obtainStyledAttributes.getColor(0, 0);
|
|
Paint paint = new Paint();
|
|
paint.setStyle(Paint.Style.FILL);
|
|
paint.setColor(color);
|
|
paint.setAntiAlias(true);
|
|
this.j = paint;
|
|
this.k = obtainStyledAttributes.getBoolean(3, true);
|
|
this.i = obtainStyledAttributes.getDimension(2, 0.0f);
|
|
} finally {
|
|
obtainStyledAttributes.recycle();
|
|
}
|
|
}
|
|
|
|
@Override // android.widget.ImageView, android.view.View
|
|
public void onDraw(Canvas canvas) {
|
|
m.checkNotNullParameter(canvas, "canvas");
|
|
if (this.l) {
|
|
float width = ((float) getWidth()) / 2.0f;
|
|
float height = ((float) getHeight()) / 2.0f;
|
|
float width2 = ((float) getWidth()) / 2.0f;
|
|
Paint paint = this.j;
|
|
if (paint == null) {
|
|
m.throwUninitializedPropertyAccessException("backgroundPaint");
|
|
}
|
|
canvas.drawCircle(width, height, width2, paint);
|
|
} else {
|
|
float width3 = (float) getWidth();
|
|
float height2 = (float) getHeight();
|
|
float f = this.i;
|
|
Paint paint2 = this.j;
|
|
if (paint2 == null) {
|
|
m.throwUninitializedPropertyAccessException("backgroundPaint");
|
|
}
|
|
canvas.drawRoundRect(0.0f, 0.0f, width3, height2, f, f, paint2);
|
|
}
|
|
super.onDraw(canvas);
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setBackgroundColor(int i) {
|
|
Paint paint = new Paint();
|
|
paint.setStyle(Paint.Style.FILL);
|
|
paint.setColor(i);
|
|
paint.setAntiAlias(true);
|
|
this.j = paint;
|
|
}
|
|
|
|
public final void setBorderWidth(@Px int i) {
|
|
setPadding(i, i, i, i);
|
|
}
|
|
|
|
public final void setCornerRadius(@Px float f) {
|
|
this.i = f;
|
|
invalidate();
|
|
}
|
|
|
|
public final void setPresence(Presence presence) {
|
|
int i;
|
|
ClientStatuses clientStatuses;
|
|
ClientStatuses clientStatuses2;
|
|
if (!this.k || presence == null || (clientStatuses2 = presence.getClientStatuses()) == null || !PresenceUtils.INSTANCE.isMobile(clientStatuses2)) {
|
|
ClientStatus clientStatus = null;
|
|
if ((presence != null ? PresenceUtils.INSTANCE.getStreamingActivity(presence) : null) != null) {
|
|
i = 2131231971;
|
|
} else {
|
|
if (presence != null) {
|
|
clientStatus = presence.getStatus();
|
|
}
|
|
if (clientStatus != null) {
|
|
int ordinal = clientStatus.ordinal();
|
|
if (ordinal == 0) {
|
|
i = 2131231970;
|
|
} else if (ordinal == 1) {
|
|
i = 2131231968;
|
|
} else if (ordinal == 2) {
|
|
i = 2131231967;
|
|
}
|
|
}
|
|
i = 2131231969;
|
|
}
|
|
} else {
|
|
i = 2131231764;
|
|
}
|
|
setImageResource(i);
|
|
this.l = !(this.k && presence != null && (clientStatuses = presence.getClientStatuses()) != null && PresenceUtils.INSTANCE.isMobile(clientStatuses));
|
|
}
|
|
}
|