Rabbit-R1/android (non root)/java/sources/androidx/cardview/widget/RoundRectDrawable.java
2024-05-21 17:08:36 -04:00

184 lines
6.2 KiB
Java

package androidx.cardview.widget;
import android.content.res.ColorStateList;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.Outline;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.drawable.Drawable;
/* loaded from: classes.dex */
class RoundRectDrawable extends Drawable {
private ColorStateList mBackground;
private final RectF mBoundsF;
private final Rect mBoundsI;
private float mPadding;
private float mRadius;
private ColorStateList mTint;
private PorterDuffColorFilter mTintFilter;
private boolean mInsetForPadding = false;
private boolean mInsetForRadius = true;
private PorterDuff.Mode mTintMode = PorterDuff.Mode.SRC_IN;
private final Paint mPaint = new Paint(5);
public ColorStateList getColor() {
return this.mBackground;
}
@Override // android.graphics.drawable.Drawable
public int getOpacity() {
return -3;
}
/* JADX INFO: Access modifiers changed from: package-private */
public float getPadding() {
return this.mPadding;
}
public float getRadius() {
return this.mRadius;
}
/* JADX INFO: Access modifiers changed from: package-private */
public RoundRectDrawable(ColorStateList colorStateList, float f) {
this.mRadius = f;
setBackground(colorStateList);
this.mBoundsF = new RectF();
this.mBoundsI = new Rect();
}
private void setBackground(ColorStateList colorStateList) {
if (colorStateList == null) {
colorStateList = ColorStateList.valueOf(0);
}
this.mBackground = colorStateList;
this.mPaint.setColor(colorStateList.getColorForState(getState(), this.mBackground.getDefaultColor()));
}
/* JADX INFO: Access modifiers changed from: package-private */
public void setPadding(float f, boolean z, boolean z2) {
if (f == this.mPadding && this.mInsetForPadding == z && this.mInsetForRadius == z2) {
return;
}
this.mPadding = f;
this.mInsetForPadding = z;
this.mInsetForRadius = z2;
updateBounds(null);
invalidateSelf();
}
@Override // android.graphics.drawable.Drawable
public void draw(Canvas canvas) {
boolean z;
Paint paint = this.mPaint;
if (this.mTintFilter == null || paint.getColorFilter() != null) {
z = false;
} else {
paint.setColorFilter(this.mTintFilter);
z = true;
}
RectF rectF = this.mBoundsF;
float f = this.mRadius;
canvas.drawRoundRect(rectF, f, f, paint);
if (z) {
paint.setColorFilter(null);
}
}
private void updateBounds(Rect rect) {
if (rect == null) {
rect = getBounds();
}
this.mBoundsF.set(rect.left, rect.top, rect.right, rect.bottom);
this.mBoundsI.set(rect);
if (this.mInsetForPadding) {
this.mBoundsI.inset((int) Math.ceil(RoundRectDrawableWithShadow.calculateHorizontalPadding(this.mPadding, this.mRadius, this.mInsetForRadius)), (int) Math.ceil(RoundRectDrawableWithShadow.calculateVerticalPadding(this.mPadding, this.mRadius, this.mInsetForRadius)));
this.mBoundsF.set(this.mBoundsI);
}
}
@Override // android.graphics.drawable.Drawable
protected void onBoundsChange(Rect rect) {
super.onBoundsChange(rect);
updateBounds(rect);
}
@Override // android.graphics.drawable.Drawable
public void getOutline(Outline outline) {
outline.setRoundRect(this.mBoundsI, this.mRadius);
}
/* JADX INFO: Access modifiers changed from: package-private */
public void setRadius(float f) {
if (f == this.mRadius) {
return;
}
this.mRadius = f;
updateBounds(null);
invalidateSelf();
}
@Override // android.graphics.drawable.Drawable
public void setAlpha(int i) {
this.mPaint.setAlpha(i);
}
@Override // android.graphics.drawable.Drawable
public void setColorFilter(ColorFilter colorFilter) {
this.mPaint.setColorFilter(colorFilter);
}
public void setColor(ColorStateList colorStateList) {
setBackground(colorStateList);
invalidateSelf();
}
@Override // android.graphics.drawable.Drawable
public void setTintList(ColorStateList colorStateList) {
this.mTint = colorStateList;
this.mTintFilter = createTintFilter(colorStateList, this.mTintMode);
invalidateSelf();
}
@Override // android.graphics.drawable.Drawable
public void setTintMode(PorterDuff.Mode mode) {
this.mTintMode = mode;
this.mTintFilter = createTintFilter(this.mTint, mode);
invalidateSelf();
}
@Override // android.graphics.drawable.Drawable
protected boolean onStateChange(int[] iArr) {
PorterDuff.Mode mode;
ColorStateList colorStateList = this.mBackground;
int colorForState = colorStateList.getColorForState(iArr, colorStateList.getDefaultColor());
boolean z = colorForState != this.mPaint.getColor();
if (z) {
this.mPaint.setColor(colorForState);
}
ColorStateList colorStateList2 = this.mTint;
if (colorStateList2 == null || (mode = this.mTintMode) == null) {
return z;
}
this.mTintFilter = createTintFilter(colorStateList2, mode);
return true;
}
@Override // android.graphics.drawable.Drawable
public boolean isStateful() {
ColorStateList colorStateList;
ColorStateList colorStateList2 = this.mTint;
return (colorStateList2 != null && colorStateList2.isStateful()) || ((colorStateList = this.mBackground) != null && colorStateList.isStateful()) || super.isStateful();
}
private PorterDuffColorFilter createTintFilter(ColorStateList colorStateList, PorterDuff.Mode mode) {
if (colorStateList == null || mode == null) {
return null;
}
return new PorterDuffColorFilter(colorStateList.getColorForState(getState(), 0), mode);
}
}