package com.google.android.material.internal; import android.content.Context; import android.graphics.Typeface; import android.text.TextPaint; import com.google.android.material.resources.TextAppearance; import com.google.android.material.resources.TextAppearanceFontCallback; import java.lang.ref.WeakReference; /* loaded from: classes2.dex */ public class TextDrawableHelper { private TextAppearance textAppearance; private float textHeight; private float textWidth; private final TextPaint textPaint = new TextPaint(1); private final TextAppearanceFontCallback fontCallback = new TextAppearanceFontCallback() { // from class: com.google.android.material.internal.TextDrawableHelper.1 @Override // com.google.android.material.resources.TextAppearanceFontCallback public void onFontRetrieved(Typeface typeface, boolean z) { if (z) { return; } TextDrawableHelper.this.textSizeDirty = true; TextDrawableDelegate textDrawableDelegate = (TextDrawableDelegate) TextDrawableHelper.this.delegate.get(); if (textDrawableDelegate != null) { textDrawableDelegate.onTextSizeChange(); } } @Override // com.google.android.material.resources.TextAppearanceFontCallback public void onFontRetrievalFailed(int i) { TextDrawableHelper.this.textSizeDirty = true; TextDrawableDelegate textDrawableDelegate = (TextDrawableDelegate) TextDrawableHelper.this.delegate.get(); if (textDrawableDelegate != null) { textDrawableDelegate.onTextSizeChange(); } } }; private boolean textSizeDirty = true; private WeakReference delegate = new WeakReference<>(null); /* loaded from: classes2.dex */ public interface TextDrawableDelegate { int[] getState(); boolean onStateChange(int[] iArr); void onTextSizeChange(); } public TextAppearance getTextAppearance() { return this.textAppearance; } public TextPaint getTextPaint() { return this.textPaint; } public boolean isTextWidthDirty() { return this.textSizeDirty; } public void setTextSizeDirty(boolean z) { this.textSizeDirty = z; } public void setTextWidthDirty(boolean z) { this.textSizeDirty = z; } public TextDrawableHelper(TextDrawableDelegate textDrawableDelegate) { setDelegate(textDrawableDelegate); } public void setDelegate(TextDrawableDelegate textDrawableDelegate) { this.delegate = new WeakReference<>(textDrawableDelegate); } private void refreshTextDimens(String str) { this.textWidth = calculateTextWidth(str); this.textHeight = calculateTextHeight(str); this.textSizeDirty = false; } public float getTextWidth(String str) { if (!this.textSizeDirty) { return this.textWidth; } refreshTextDimens(str); return this.textWidth; } private float calculateTextWidth(CharSequence charSequence) { if (charSequence == null) { return 0.0f; } return this.textPaint.measureText(charSequence, 0, charSequence.length()); } public float getTextHeight(String str) { if (!this.textSizeDirty) { return this.textHeight; } refreshTextDimens(str); return this.textHeight; } private float calculateTextHeight(String str) { if (str == null) { return 0.0f; } return Math.abs(this.textPaint.getFontMetrics().ascent); } public void setTextAppearance(TextAppearance textAppearance, Context context) { if (this.textAppearance != textAppearance) { this.textAppearance = textAppearance; if (textAppearance != null) { textAppearance.updateMeasureState(context, this.textPaint, this.fontCallback); TextDrawableDelegate textDrawableDelegate = this.delegate.get(); if (textDrawableDelegate != null) { this.textPaint.drawableState = textDrawableDelegate.getState(); } textAppearance.updateDrawState(context, this.textPaint, this.fontCallback); this.textSizeDirty = true; } TextDrawableDelegate textDrawableDelegate2 = this.delegate.get(); if (textDrawableDelegate2 != null) { textDrawableDelegate2.onTextSizeChange(); textDrawableDelegate2.onStateChange(textDrawableDelegate2.getState()); } } } public void updateTextPaintDrawState(Context context) { this.textAppearance.updateDrawState(context, this.textPaint, this.fontCallback); } }