ADD week 5
This commit is contained in:
@ -0,0 +1,190 @@
|
||||
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.ImageButton;
|
||||
import androidx.appcompat.R;
|
||||
import androidx.core.view.TintableBackgroundView;
|
||||
import androidx.core.widget.TintableImageSourceView;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class AppCompatImageButton extends ImageButton implements TintableBackgroundView, TintableImageSourceView {
|
||||
private final AppCompatBackgroundHelper mBackgroundTintHelper;
|
||||
private boolean mHasLevel;
|
||||
private final AppCompatImageHelper mImageHelper;
|
||||
|
||||
public AppCompatImageButton(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public AppCompatImageButton(Context context, AttributeSet attributeSet) {
|
||||
this(context, attributeSet, R.attr.imageButtonStyle);
|
||||
}
|
||||
|
||||
public AppCompatImageButton(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) {
|
||||
this.mImageHelper.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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user