Rabbit-R1/switch port/java/sources/androidx/appcompat/widget/AppCompatImageView.java
2024-05-21 17:08:36 -04:00

192 lines
7.4 KiB
Java

package androidx.appcompat.widget;
import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.Bitmap;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.util.AttributeSet;
import android.widget.ImageView;
import androidx.core.view.TintableBackgroundView;
import androidx.core.widget.TintableImageSourceView;
/* loaded from: classes.dex */
public class AppCompatImageView extends ImageView implements TintableBackgroundView, TintableImageSourceView {
private final AppCompatBackgroundHelper mBackgroundTintHelper;
private boolean mHasLevel;
private final AppCompatImageHelper mImageHelper;
public AppCompatImageView(Context context) {
this(context, null);
}
public AppCompatImageView(Context context, AttributeSet attributeSet) {
this(context, attributeSet, 0);
}
public AppCompatImageView(Context context, AttributeSet attributeSet, int i) {
super(TintContextWrapper.wrap(context), attributeSet, i);
this.mHasLevel = false;
ThemeUtils.checkAppCompatTheme(this, getContext());
AppCompatBackgroundHelper appCompatBackgroundHelper = new AppCompatBackgroundHelper(this);
this.mBackgroundTintHelper = appCompatBackgroundHelper;
appCompatBackgroundHelper.loadFromAttributes(attributeSet, i);
AppCompatImageHelper appCompatImageHelper = new AppCompatImageHelper(this);
this.mImageHelper = appCompatImageHelper;
appCompatImageHelper.loadFromAttributes(attributeSet, i);
}
@Override // android.widget.ImageView
public void setImageResource(int i) {
AppCompatImageHelper appCompatImageHelper = this.mImageHelper;
if (appCompatImageHelper != null) {
appCompatImageHelper.setImageResource(i);
}
}
@Override // android.widget.ImageView
public void setImageDrawable(Drawable drawable) {
AppCompatImageHelper appCompatImageHelper = this.mImageHelper;
if (appCompatImageHelper != null && drawable != null && !this.mHasLevel) {
appCompatImageHelper.obtainLevelFromDrawable(drawable);
}
super.setImageDrawable(drawable);
AppCompatImageHelper appCompatImageHelper2 = this.mImageHelper;
if (appCompatImageHelper2 != null) {
appCompatImageHelper2.applySupportImageTint();
if (this.mHasLevel) {
return;
}
this.mImageHelper.applyImageLevel();
}
}
@Override // android.widget.ImageView
public void setImageBitmap(Bitmap bitmap) {
super.setImageBitmap(bitmap);
AppCompatImageHelper appCompatImageHelper = this.mImageHelper;
if (appCompatImageHelper != null) {
appCompatImageHelper.applySupportImageTint();
}
}
@Override // android.widget.ImageView
public void setImageURI(Uri uri) {
super.setImageURI(uri);
AppCompatImageHelper appCompatImageHelper = this.mImageHelper;
if (appCompatImageHelper != null) {
appCompatImageHelper.applySupportImageTint();
}
}
@Override // android.view.View
public void setBackgroundResource(int i) {
super.setBackgroundResource(i);
AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper;
if (appCompatBackgroundHelper != null) {
appCompatBackgroundHelper.onSetBackgroundResource(i);
}
}
@Override // android.view.View
public void setBackgroundDrawable(Drawable drawable) {
super.setBackgroundDrawable(drawable);
AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper;
if (appCompatBackgroundHelper != null) {
appCompatBackgroundHelper.onSetBackgroundDrawable(drawable);
}
}
@Override // androidx.core.view.TintableBackgroundView
public void setSupportBackgroundTintList(ColorStateList colorStateList) {
AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper;
if (appCompatBackgroundHelper != null) {
appCompatBackgroundHelper.setSupportBackgroundTintList(colorStateList);
}
}
@Override // androidx.core.view.TintableBackgroundView
public ColorStateList getSupportBackgroundTintList() {
AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper;
if (appCompatBackgroundHelper != null) {
return appCompatBackgroundHelper.getSupportBackgroundTintList();
}
return null;
}
@Override // androidx.core.view.TintableBackgroundView
public void setSupportBackgroundTintMode(PorterDuff.Mode mode) {
AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper;
if (appCompatBackgroundHelper != null) {
appCompatBackgroundHelper.setSupportBackgroundTintMode(mode);
}
}
@Override // androidx.core.view.TintableBackgroundView
public PorterDuff.Mode getSupportBackgroundTintMode() {
AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper;
if (appCompatBackgroundHelper != null) {
return appCompatBackgroundHelper.getSupportBackgroundTintMode();
}
return null;
}
@Override // androidx.core.widget.TintableImageSourceView
public void setSupportImageTintList(ColorStateList colorStateList) {
AppCompatImageHelper appCompatImageHelper = this.mImageHelper;
if (appCompatImageHelper != null) {
appCompatImageHelper.setSupportImageTintList(colorStateList);
}
}
@Override // androidx.core.widget.TintableImageSourceView
public ColorStateList getSupportImageTintList() {
AppCompatImageHelper appCompatImageHelper = this.mImageHelper;
if (appCompatImageHelper != null) {
return appCompatImageHelper.getSupportImageTintList();
}
return null;
}
@Override // androidx.core.widget.TintableImageSourceView
public void setSupportImageTintMode(PorterDuff.Mode mode) {
AppCompatImageHelper appCompatImageHelper = this.mImageHelper;
if (appCompatImageHelper != null) {
appCompatImageHelper.setSupportImageTintMode(mode);
}
}
@Override // androidx.core.widget.TintableImageSourceView
public PorterDuff.Mode getSupportImageTintMode() {
AppCompatImageHelper appCompatImageHelper = this.mImageHelper;
if (appCompatImageHelper != null) {
return appCompatImageHelper.getSupportImageTintMode();
}
return null;
}
@Override // android.widget.ImageView, android.view.View
protected void drawableStateChanged() {
super.drawableStateChanged();
AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper;
if (appCompatBackgroundHelper != null) {
appCompatBackgroundHelper.applySupportBackgroundTint();
}
AppCompatImageHelper appCompatImageHelper = this.mImageHelper;
if (appCompatImageHelper != null) {
appCompatImageHelper.applySupportImageTint();
}
}
@Override // android.widget.ImageView, android.view.View
public boolean hasOverlappingRendering() {
return this.mImageHelper.hasOverlappingRendering() && super.hasOverlappingRendering();
}
@Override // android.widget.ImageView
public void setImageLevel(int i) {
super.setImageLevel(i);
this.mHasLevel = true;
}
}