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

244 lines
9.9 KiB
Java

package androidx.cardview.widget;
import android.R;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.FrameLayout;
/* loaded from: classes.dex */
public class CardView extends FrameLayout {
private static final int[] COLOR_BACKGROUND_ATTR = {R.attr.colorBackground};
private static final CardViewImpl IMPL;
private final CardViewDelegate mCardViewDelegate;
private boolean mCompatPadding;
final Rect mContentPadding;
private boolean mPreventCornerOverlap;
final Rect mShadowBounds;
int mUserSetMinHeight;
int mUserSetMinWidth;
public boolean getPreventCornerOverlap() {
return this.mPreventCornerOverlap;
}
public boolean getUseCompatPadding() {
return this.mCompatPadding;
}
@Override // android.view.View
public void setPadding(int i, int i2, int i3, int i4) {
}
@Override // android.view.View
public void setPaddingRelative(int i, int i2, int i3, int i4) {
}
static {
CardViewApi21Impl cardViewApi21Impl = new CardViewApi21Impl();
IMPL = cardViewApi21Impl;
cardViewApi21Impl.initStatic();
}
public CardView(Context context) {
this(context, null);
}
public CardView(Context context, AttributeSet attributeSet) {
this(context, attributeSet, androidx.cardview.R.attr.cardViewStyle);
}
public CardView(Context context, AttributeSet attributeSet, int i) {
super(context, attributeSet, i);
int color;
ColorStateList valueOf;
Rect rect = new Rect();
this.mContentPadding = rect;
this.mShadowBounds = new Rect();
CardViewDelegate cardViewDelegate = new CardViewDelegate() { // from class: androidx.cardview.widget.CardView.1
private Drawable mCardBackground;
@Override // androidx.cardview.widget.CardViewDelegate
public Drawable getCardBackground() {
return this.mCardBackground;
}
@Override // androidx.cardview.widget.CardViewDelegate
public View getCardView() {
return CardView.this;
}
@Override // androidx.cardview.widget.CardViewDelegate
public void setCardBackground(Drawable drawable) {
this.mCardBackground = drawable;
CardView.this.setBackgroundDrawable(drawable);
}
@Override // androidx.cardview.widget.CardViewDelegate
public boolean getUseCompatPadding() {
return CardView.this.getUseCompatPadding();
}
@Override // androidx.cardview.widget.CardViewDelegate
public boolean getPreventCornerOverlap() {
return CardView.this.getPreventCornerOverlap();
}
@Override // androidx.cardview.widget.CardViewDelegate
public void setShadowPadding(int i2, int i3, int i4, int i5) {
CardView.this.mShadowBounds.set(i2, i3, i4, i5);
CardView cardView = CardView.this;
CardView.super.setPadding(i2 + cardView.mContentPadding.left, i3 + CardView.this.mContentPadding.top, i4 + CardView.this.mContentPadding.right, i5 + CardView.this.mContentPadding.bottom);
}
@Override // androidx.cardview.widget.CardViewDelegate
public void setMinWidthHeightInternal(int i2, int i3) {
if (i2 > CardView.this.mUserSetMinWidth) {
CardView.super.setMinimumWidth(i2);
}
if (i3 > CardView.this.mUserSetMinHeight) {
CardView.super.setMinimumHeight(i3);
}
}
};
this.mCardViewDelegate = cardViewDelegate;
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, androidx.cardview.R.styleable.CardView, i, androidx.cardview.R.style.CardView);
if (obtainStyledAttributes.hasValue(androidx.cardview.R.styleable.CardView_cardBackgroundColor)) {
valueOf = obtainStyledAttributes.getColorStateList(androidx.cardview.R.styleable.CardView_cardBackgroundColor);
} else {
TypedArray obtainStyledAttributes2 = getContext().obtainStyledAttributes(COLOR_BACKGROUND_ATTR);
int color2 = obtainStyledAttributes2.getColor(0, 0);
obtainStyledAttributes2.recycle();
float[] fArr = new float[3];
Color.colorToHSV(color2, fArr);
if (fArr[2] > 0.5f) {
color = getResources().getColor(androidx.cardview.R.color.cardview_light_background);
} else {
color = getResources().getColor(androidx.cardview.R.color.cardview_dark_background);
}
valueOf = ColorStateList.valueOf(color);
}
ColorStateList colorStateList = valueOf;
float dimension = obtainStyledAttributes.getDimension(androidx.cardview.R.styleable.CardView_cardCornerRadius, 0.0f);
float dimension2 = obtainStyledAttributes.getDimension(androidx.cardview.R.styleable.CardView_cardElevation, 0.0f);
float dimension3 = obtainStyledAttributes.getDimension(androidx.cardview.R.styleable.CardView_cardMaxElevation, 0.0f);
this.mCompatPadding = obtainStyledAttributes.getBoolean(androidx.cardview.R.styleable.CardView_cardUseCompatPadding, false);
this.mPreventCornerOverlap = obtainStyledAttributes.getBoolean(androidx.cardview.R.styleable.CardView_cardPreventCornerOverlap, true);
int dimensionPixelSize = obtainStyledAttributes.getDimensionPixelSize(androidx.cardview.R.styleable.CardView_contentPadding, 0);
rect.left = obtainStyledAttributes.getDimensionPixelSize(androidx.cardview.R.styleable.CardView_contentPaddingLeft, dimensionPixelSize);
rect.top = obtainStyledAttributes.getDimensionPixelSize(androidx.cardview.R.styleable.CardView_contentPaddingTop, dimensionPixelSize);
rect.right = obtainStyledAttributes.getDimensionPixelSize(androidx.cardview.R.styleable.CardView_contentPaddingRight, dimensionPixelSize);
rect.bottom = obtainStyledAttributes.getDimensionPixelSize(androidx.cardview.R.styleable.CardView_contentPaddingBottom, dimensionPixelSize);
float f = dimension2 > dimension3 ? dimension2 : dimension3;
this.mUserSetMinWidth = obtainStyledAttributes.getDimensionPixelSize(androidx.cardview.R.styleable.CardView_android_minWidth, 0);
this.mUserSetMinHeight = obtainStyledAttributes.getDimensionPixelSize(androidx.cardview.R.styleable.CardView_android_minHeight, 0);
obtainStyledAttributes.recycle();
IMPL.initialize(cardViewDelegate, context, colorStateList, dimension, dimension2, f);
}
public void setUseCompatPadding(boolean z) {
if (this.mCompatPadding != z) {
this.mCompatPadding = z;
IMPL.onCompatPaddingChanged(this.mCardViewDelegate);
}
}
public void setContentPadding(int i, int i2, int i3, int i4) {
this.mContentPadding.set(i, i2, i3, i4);
IMPL.updatePadding(this.mCardViewDelegate);
}
/* JADX INFO: Access modifiers changed from: protected */
@Override // android.widget.FrameLayout, android.view.View
public void onMeasure(int i, int i2) {
if (!(IMPL instanceof CardViewApi21Impl)) {
int mode = View.MeasureSpec.getMode(i);
if (mode == Integer.MIN_VALUE || mode == 1073741824) {
i = View.MeasureSpec.makeMeasureSpec(Math.max((int) Math.ceil(r0.getMinWidth(this.mCardViewDelegate)), View.MeasureSpec.getSize(i)), mode);
}
int mode2 = View.MeasureSpec.getMode(i2);
if (mode2 == Integer.MIN_VALUE || mode2 == 1073741824) {
i2 = View.MeasureSpec.makeMeasureSpec(Math.max((int) Math.ceil(r0.getMinHeight(this.mCardViewDelegate)), View.MeasureSpec.getSize(i2)), mode2);
}
super.onMeasure(i, i2);
return;
}
super.onMeasure(i, i2);
}
@Override // android.view.View
public void setMinimumWidth(int i) {
this.mUserSetMinWidth = i;
super.setMinimumWidth(i);
}
@Override // android.view.View
public void setMinimumHeight(int i) {
this.mUserSetMinHeight = i;
super.setMinimumHeight(i);
}
public void setCardBackgroundColor(int i) {
IMPL.setBackgroundColor(this.mCardViewDelegate, ColorStateList.valueOf(i));
}
public void setCardBackgroundColor(ColorStateList colorStateList) {
IMPL.setBackgroundColor(this.mCardViewDelegate, colorStateList);
}
public ColorStateList getCardBackgroundColor() {
return IMPL.getBackgroundColor(this.mCardViewDelegate);
}
public int getContentPaddingLeft() {
return this.mContentPadding.left;
}
public int getContentPaddingRight() {
return this.mContentPadding.right;
}
public int getContentPaddingTop() {
return this.mContentPadding.top;
}
public int getContentPaddingBottom() {
return this.mContentPadding.bottom;
}
public void setRadius(float f) {
IMPL.setRadius(this.mCardViewDelegate, f);
}
public float getRadius() {
return IMPL.getRadius(this.mCardViewDelegate);
}
public void setCardElevation(float f) {
IMPL.setElevation(this.mCardViewDelegate, f);
}
public float getCardElevation() {
return IMPL.getElevation(this.mCardViewDelegate);
}
public void setMaxCardElevation(float f) {
IMPL.setMaxElevation(this.mCardViewDelegate, f);
}
public float getMaxCardElevation() {
return IMPL.getMaxElevation(this.mCardViewDelegate);
}
public void setPreventCornerOverlap(boolean z) {
if (z != this.mPreventCornerOverlap) {
this.mPreventCornerOverlap = z;
IMPL.onPreventCornerOverlapChanged(this.mCardViewDelegate);
}
}
}