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