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

591 lines
24 KiB
Java

package androidx.appcompat.widget;
import android.R;
import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.PorterDuff;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.text.InputFilter;
import android.util.AttributeSet;
import android.view.ActionMode;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.view.textclassifier.TextClassifier;
import android.widget.TextView;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.core.graphics.TypefaceCompat;
import androidx.core.text.PrecomputedTextCompat;
import androidx.core.view.TintableBackgroundView;
import androidx.core.widget.AutoSizeableTextView;
import androidx.core.widget.TextViewCompat;
import androidx.core.widget.TintableCompoundDrawablesView;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
/* loaded from: classes.dex */
public class AppCompatTextView extends TextView implements TintableBackgroundView, TintableCompoundDrawablesView, AutoSizeableTextView, EmojiCompatConfigurationView {
private final AppCompatBackgroundHelper mBackgroundTintHelper;
private AppCompatEmojiTextHelper mEmojiTextViewHelper;
private boolean mIsSetTypefaceProcessing;
private Future<PrecomputedTextCompat> mPrecomputedTextFuture;
private SuperCaller mSuperCaller;
private final AppCompatTextClassifierHelper mTextClassifierHelper;
private final AppCompatTextHelper mTextHelper;
/* JADX INFO: Access modifiers changed from: private */
/* loaded from: classes.dex */
public interface SuperCaller {
int getAutoSizeMaxTextSize();
int getAutoSizeMinTextSize();
int getAutoSizeStepGranularity();
int[] getAutoSizeTextAvailableSizes();
int getAutoSizeTextType();
TextClassifier getTextClassifier();
void setAutoSizeTextTypeUniformWithConfiguration(int i, int i2, int i3, int i4);
void setAutoSizeTextTypeUniformWithPresetSizes(int[] iArr, int i);
void setAutoSizeTextTypeWithDefaults(int i);
void setFirstBaselineToTopHeight(int i);
void setLastBaselineToBottomHeight(int i);
void setTextClassifier(TextClassifier textClassifier);
}
public AppCompatTextView(Context context) {
this(context, null);
}
public AppCompatTextView(Context context, AttributeSet attributeSet) {
this(context, attributeSet, R.attr.textViewStyle);
}
public AppCompatTextView(Context context, AttributeSet attributeSet, int i) {
super(TintContextWrapper.wrap(context), attributeSet, i);
this.mIsSetTypefaceProcessing = false;
this.mSuperCaller = null;
ThemeUtils.checkAppCompatTheme(this, getContext());
AppCompatBackgroundHelper appCompatBackgroundHelper = new AppCompatBackgroundHelper(this);
this.mBackgroundTintHelper = appCompatBackgroundHelper;
appCompatBackgroundHelper.loadFromAttributes(attributeSet, i);
AppCompatTextHelper appCompatTextHelper = new AppCompatTextHelper(this);
this.mTextHelper = appCompatTextHelper;
appCompatTextHelper.loadFromAttributes(attributeSet, i);
appCompatTextHelper.applyCompoundDrawablesTints();
this.mTextClassifierHelper = new AppCompatTextClassifierHelper(this);
getEmojiTextViewHelper().loadFromAttributes(attributeSet, i);
}
private AppCompatEmojiTextHelper getEmojiTextViewHelper() {
if (this.mEmojiTextViewHelper == null) {
this.mEmojiTextViewHelper = new AppCompatEmojiTextHelper(this);
}
return this.mEmojiTextViewHelper;
}
@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 // android.widget.TextView
public void setTextAppearance(Context context, int i) {
super.setTextAppearance(context, i);
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
appCompatTextHelper.onSetTextAppearance(context, i);
}
}
@Override // android.widget.TextView
public void setFilters(InputFilter[] inputFilterArr) {
super.setFilters(getEmojiTextViewHelper().getFilters(inputFilterArr));
}
@Override // android.widget.TextView
public void setAllCaps(boolean z) {
super.setAllCaps(z);
getEmojiTextViewHelper().setAllCaps(z);
}
@Override // androidx.appcompat.widget.EmojiCompatConfigurationView
public void setEmojiCompatEnabled(boolean z) {
getEmojiTextViewHelper().setEnabled(z);
}
@Override // androidx.appcompat.widget.EmojiCompatConfigurationView
public boolean isEmojiCompatEnabled() {
return getEmojiTextViewHelper().isEnabled();
}
@Override // android.widget.TextView, android.view.View
protected void drawableStateChanged() {
super.drawableStateChanged();
AppCompatBackgroundHelper appCompatBackgroundHelper = this.mBackgroundTintHelper;
if (appCompatBackgroundHelper != null) {
appCompatBackgroundHelper.applySupportBackgroundTint();
}
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
appCompatTextHelper.applyCompoundDrawablesTints();
}
}
@Override // android.widget.TextView, android.view.View
protected void onLayout(boolean z, int i, int i2, int i3, int i4) {
super.onLayout(z, i, i2, i3, i4);
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
appCompatTextHelper.onLayout(z, i, i2, i3, i4);
}
}
@Override // android.widget.TextView
public void setTextSize(int i, float f) {
if (ViewUtils.SDK_LEVEL_SUPPORTS_AUTOSIZE) {
super.setTextSize(i, f);
return;
}
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
appCompatTextHelper.setTextSize(i, f);
}
}
@Override // android.widget.TextView
protected void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
super.onTextChanged(charSequence, i, i2, i3);
if (this.mTextHelper == null || ViewUtils.SDK_LEVEL_SUPPORTS_AUTOSIZE || !this.mTextHelper.isAutoSizeEnabled()) {
return;
}
this.mTextHelper.autoSizeText();
}
@Override // android.widget.TextView, androidx.core.widget.AutoSizeableTextView
public void setAutoSizeTextTypeWithDefaults(int i) {
if (ViewUtils.SDK_LEVEL_SUPPORTS_AUTOSIZE) {
getSuperCaller().setAutoSizeTextTypeWithDefaults(i);
return;
}
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
appCompatTextHelper.setAutoSizeTextTypeWithDefaults(i);
}
}
@Override // android.widget.TextView, androidx.core.widget.AutoSizeableTextView
public void setAutoSizeTextTypeUniformWithConfiguration(int i, int i2, int i3, int i4) throws IllegalArgumentException {
if (ViewUtils.SDK_LEVEL_SUPPORTS_AUTOSIZE) {
getSuperCaller().setAutoSizeTextTypeUniformWithConfiguration(i, i2, i3, i4);
return;
}
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
appCompatTextHelper.setAutoSizeTextTypeUniformWithConfiguration(i, i2, i3, i4);
}
}
@Override // android.widget.TextView, androidx.core.widget.AutoSizeableTextView
public void setAutoSizeTextTypeUniformWithPresetSizes(int[] iArr, int i) throws IllegalArgumentException {
if (ViewUtils.SDK_LEVEL_SUPPORTS_AUTOSIZE) {
getSuperCaller().setAutoSizeTextTypeUniformWithPresetSizes(iArr, i);
return;
}
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
appCompatTextHelper.setAutoSizeTextTypeUniformWithPresetSizes(iArr, i);
}
}
@Override // android.widget.TextView, androidx.core.widget.AutoSizeableTextView
public int getAutoSizeTextType() {
if (ViewUtils.SDK_LEVEL_SUPPORTS_AUTOSIZE) {
return getSuperCaller().getAutoSizeTextType() == 1 ? 1 : 0;
}
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
return appCompatTextHelper.getAutoSizeTextType();
}
return 0;
}
@Override // android.widget.TextView, androidx.core.widget.AutoSizeableTextView
public int getAutoSizeStepGranularity() {
if (ViewUtils.SDK_LEVEL_SUPPORTS_AUTOSIZE) {
return getSuperCaller().getAutoSizeStepGranularity();
}
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
return appCompatTextHelper.getAutoSizeStepGranularity();
}
return -1;
}
@Override // android.widget.TextView, androidx.core.widget.AutoSizeableTextView
public int getAutoSizeMinTextSize() {
if (ViewUtils.SDK_LEVEL_SUPPORTS_AUTOSIZE) {
return getSuperCaller().getAutoSizeMinTextSize();
}
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
return appCompatTextHelper.getAutoSizeMinTextSize();
}
return -1;
}
@Override // android.widget.TextView, androidx.core.widget.AutoSizeableTextView
public int getAutoSizeMaxTextSize() {
if (ViewUtils.SDK_LEVEL_SUPPORTS_AUTOSIZE) {
return getSuperCaller().getAutoSizeMaxTextSize();
}
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
return appCompatTextHelper.getAutoSizeMaxTextSize();
}
return -1;
}
@Override // android.widget.TextView, androidx.core.widget.AutoSizeableTextView
public int[] getAutoSizeTextAvailableSizes() {
if (ViewUtils.SDK_LEVEL_SUPPORTS_AUTOSIZE) {
return getSuperCaller().getAutoSizeTextAvailableSizes();
}
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
return appCompatTextHelper != null ? appCompatTextHelper.getAutoSizeTextAvailableSizes() : new int[0];
}
@Override // android.widget.TextView, android.view.View
public InputConnection onCreateInputConnection(EditorInfo editorInfo) {
InputConnection onCreateInputConnection = super.onCreateInputConnection(editorInfo);
this.mTextHelper.populateSurroundingTextIfNeeded(this, onCreateInputConnection, editorInfo);
return AppCompatHintHelper.onCreateInputConnection(onCreateInputConnection, editorInfo, this);
}
@Override // android.widget.TextView
public void setFirstBaselineToTopHeight(int i) {
getSuperCaller().setFirstBaselineToTopHeight(i);
}
@Override // android.widget.TextView
public void setLastBaselineToBottomHeight(int i) {
getSuperCaller().setLastBaselineToBottomHeight(i);
}
@Override // android.widget.TextView
public int getFirstBaselineToTopHeight() {
return TextViewCompat.getFirstBaselineToTopHeight(this);
}
@Override // android.widget.TextView
public int getLastBaselineToBottomHeight() {
return TextViewCompat.getLastBaselineToBottomHeight(this);
}
@Override // android.widget.TextView
public void setLineHeight(int i) {
TextViewCompat.setLineHeight(this, i);
}
@Override // android.widget.TextView
public void setCustomSelectionActionModeCallback(ActionMode.Callback callback) {
super.setCustomSelectionActionModeCallback(TextViewCompat.wrapCustomSelectionActionModeCallback(this, callback));
}
@Override // android.widget.TextView
public ActionMode.Callback getCustomSelectionActionModeCallback() {
return TextViewCompat.unwrapCustomSelectionActionModeCallback(super.getCustomSelectionActionModeCallback());
}
public PrecomputedTextCompat.Params getTextMetricsParamsCompat() {
return TextViewCompat.getTextMetricsParams(this);
}
public void setTextMetricsParamsCompat(PrecomputedTextCompat.Params params) {
TextViewCompat.setTextMetricsParams(this, params);
}
public void setPrecomputedText(PrecomputedTextCompat precomputedTextCompat) {
TextViewCompat.setPrecomputedText(this, precomputedTextCompat);
}
private void consumeTextFutureAndSetBlocking() {
Future<PrecomputedTextCompat> future = this.mPrecomputedTextFuture;
if (future != null) {
try {
this.mPrecomputedTextFuture = null;
TextViewCompat.setPrecomputedText(this, future.get());
} catch (InterruptedException | ExecutionException unused) {
}
}
}
@Override // android.widget.TextView
public CharSequence getText() {
consumeTextFutureAndSetBlocking();
return super.getText();
}
@Override // android.widget.TextView
public void setTextClassifier(TextClassifier textClassifier) {
getSuperCaller().setTextClassifier(textClassifier);
}
@Override // android.widget.TextView
public TextClassifier getTextClassifier() {
return getSuperCaller().getTextClassifier();
}
public void setTextFuture(Future<PrecomputedTextCompat> future) {
this.mPrecomputedTextFuture = future;
if (future != null) {
requestLayout();
}
}
/* JADX INFO: Access modifiers changed from: protected */
@Override // android.widget.TextView, android.view.View
public void onMeasure(int i, int i2) {
consumeTextFutureAndSetBlocking();
super.onMeasure(i, i2);
}
@Override // android.widget.TextView
public void setCompoundDrawables(Drawable drawable, Drawable drawable2, Drawable drawable3, Drawable drawable4) {
super.setCompoundDrawables(drawable, drawable2, drawable3, drawable4);
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
appCompatTextHelper.onSetCompoundDrawables();
}
}
@Override // android.widget.TextView
public void setCompoundDrawablesRelative(Drawable drawable, Drawable drawable2, Drawable drawable3, Drawable drawable4) {
super.setCompoundDrawablesRelative(drawable, drawable2, drawable3, drawable4);
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
appCompatTextHelper.onSetCompoundDrawables();
}
}
@Override // android.widget.TextView
public void setCompoundDrawablesWithIntrinsicBounds(Drawable drawable, Drawable drawable2, Drawable drawable3, Drawable drawable4) {
super.setCompoundDrawablesWithIntrinsicBounds(drawable, drawable2, drawable3, drawable4);
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
appCompatTextHelper.onSetCompoundDrawables();
}
}
@Override // android.widget.TextView
public void setCompoundDrawablesWithIntrinsicBounds(int i, int i2, int i3, int i4) {
Context context = getContext();
setCompoundDrawablesWithIntrinsicBounds(i != 0 ? AppCompatResources.getDrawable(context, i) : null, i2 != 0 ? AppCompatResources.getDrawable(context, i2) : null, i3 != 0 ? AppCompatResources.getDrawable(context, i3) : null, i4 != 0 ? AppCompatResources.getDrawable(context, i4) : null);
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
appCompatTextHelper.onSetCompoundDrawables();
}
}
@Override // android.widget.TextView
public void setCompoundDrawablesRelativeWithIntrinsicBounds(Drawable drawable, Drawable drawable2, Drawable drawable3, Drawable drawable4) {
super.setCompoundDrawablesRelativeWithIntrinsicBounds(drawable, drawable2, drawable3, drawable4);
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
appCompatTextHelper.onSetCompoundDrawables();
}
}
@Override // android.widget.TextView
public void setCompoundDrawablesRelativeWithIntrinsicBounds(int i, int i2, int i3, int i4) {
Context context = getContext();
setCompoundDrawablesRelativeWithIntrinsicBounds(i != 0 ? AppCompatResources.getDrawable(context, i) : null, i2 != 0 ? AppCompatResources.getDrawable(context, i2) : null, i3 != 0 ? AppCompatResources.getDrawable(context, i3) : null, i4 != 0 ? AppCompatResources.getDrawable(context, i4) : null);
AppCompatTextHelper appCompatTextHelper = this.mTextHelper;
if (appCompatTextHelper != null) {
appCompatTextHelper.onSetCompoundDrawables();
}
}
@Override // androidx.core.widget.TintableCompoundDrawablesView
public ColorStateList getSupportCompoundDrawablesTintList() {
return this.mTextHelper.getCompoundDrawableTintList();
}
@Override // androidx.core.widget.TintableCompoundDrawablesView
public void setSupportCompoundDrawablesTintList(ColorStateList colorStateList) {
this.mTextHelper.setCompoundDrawableTintList(colorStateList);
this.mTextHelper.applyCompoundDrawablesTints();
}
@Override // androidx.core.widget.TintableCompoundDrawablesView
public PorterDuff.Mode getSupportCompoundDrawablesTintMode() {
return this.mTextHelper.getCompoundDrawableTintMode();
}
@Override // androidx.core.widget.TintableCompoundDrawablesView
public void setSupportCompoundDrawablesTintMode(PorterDuff.Mode mode) {
this.mTextHelper.setCompoundDrawableTintMode(mode);
this.mTextHelper.applyCompoundDrawablesTints();
}
@Override // android.widget.TextView
public void setTypeface(Typeface typeface, int i) {
if (this.mIsSetTypefaceProcessing) {
return;
}
Typeface create = (typeface == null || i <= 0) ? null : TypefaceCompat.create(getContext(), typeface, i);
this.mIsSetTypefaceProcessing = true;
if (create != null) {
typeface = create;
}
try {
super.setTypeface(typeface, i);
} finally {
this.mIsSetTypefaceProcessing = false;
}
}
SuperCaller getSuperCaller() {
if (this.mSuperCaller == null) {
this.mSuperCaller = new SuperCallerApi28();
}
return this.mSuperCaller;
}
/* loaded from: classes.dex */
class SuperCallerApi26 implements SuperCaller {
@Override // androidx.appcompat.widget.AppCompatTextView.SuperCaller
public void setFirstBaselineToTopHeight(int i) {
}
@Override // androidx.appcompat.widget.AppCompatTextView.SuperCaller
public void setLastBaselineToBottomHeight(int i) {
}
SuperCallerApi26() {
}
@Override // androidx.appcompat.widget.AppCompatTextView.SuperCaller
public int getAutoSizeMaxTextSize() {
return AppCompatTextView.super.getAutoSizeMaxTextSize();
}
@Override // androidx.appcompat.widget.AppCompatTextView.SuperCaller
public int getAutoSizeMinTextSize() {
return AppCompatTextView.super.getAutoSizeMinTextSize();
}
@Override // androidx.appcompat.widget.AppCompatTextView.SuperCaller
public int getAutoSizeStepGranularity() {
return AppCompatTextView.super.getAutoSizeStepGranularity();
}
@Override // androidx.appcompat.widget.AppCompatTextView.SuperCaller
public int[] getAutoSizeTextAvailableSizes() {
return AppCompatTextView.super.getAutoSizeTextAvailableSizes();
}
@Override // androidx.appcompat.widget.AppCompatTextView.SuperCaller
public int getAutoSizeTextType() {
return AppCompatTextView.super.getAutoSizeTextType();
}
@Override // androidx.appcompat.widget.AppCompatTextView.SuperCaller
public TextClassifier getTextClassifier() {
return AppCompatTextView.super.getTextClassifier();
}
@Override // androidx.appcompat.widget.AppCompatTextView.SuperCaller
public void setAutoSizeTextTypeUniformWithConfiguration(int i, int i2, int i3, int i4) {
AppCompatTextView.super.setAutoSizeTextTypeUniformWithConfiguration(i, i2, i3, i4);
}
@Override // androidx.appcompat.widget.AppCompatTextView.SuperCaller
public void setAutoSizeTextTypeUniformWithPresetSizes(int[] iArr, int i) {
AppCompatTextView.super.setAutoSizeTextTypeUniformWithPresetSizes(iArr, i);
}
@Override // androidx.appcompat.widget.AppCompatTextView.SuperCaller
public void setAutoSizeTextTypeWithDefaults(int i) {
AppCompatTextView.super.setAutoSizeTextTypeWithDefaults(i);
}
@Override // androidx.appcompat.widget.AppCompatTextView.SuperCaller
public void setTextClassifier(TextClassifier textClassifier) {
AppCompatTextView.super.setTextClassifier(textClassifier);
}
}
/* JADX INFO: Access modifiers changed from: package-private */
/* loaded from: classes.dex */
public class SuperCallerApi28 extends SuperCallerApi26 {
SuperCallerApi28() {
super();
}
@Override // androidx.appcompat.widget.AppCompatTextView.SuperCallerApi26, androidx.appcompat.widget.AppCompatTextView.SuperCaller
public void setFirstBaselineToTopHeight(int i) {
AppCompatTextView.super.setFirstBaselineToTopHeight(i);
}
@Override // androidx.appcompat.widget.AppCompatTextView.SuperCallerApi26, androidx.appcompat.widget.AppCompatTextView.SuperCaller
public void setLastBaselineToBottomHeight(int i) {
AppCompatTextView.super.setLastBaselineToBottomHeight(i);
}
}
}