Files
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

463 lines
18 KiB
Java

package androidx.appcompat.widget;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.Resources;
import android.graphics.PorterDuff;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.LocaleList;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.widget.TextView;
import androidx.annotation.DoNotInline;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.annotation.RestrictTo;
import androidx.appcompat.R;
import androidx.core.content.res.ResourcesCompat;
import androidx.core.view.inputmethod.EditorInfoCompat;
import java.lang.ref.WeakReference;
import java.util.Locale;
/* loaded from: classes.dex */
class AppCompatTextHelper {
private static final int MONOSPACE = 3;
private static final int SANS = 1;
private static final int SERIF = 2;
private static final int TEXT_FONT_WEIGHT_UNSPECIFIED = -1;
private boolean mAsyncFontPending;
@NonNull
private final AppCompatTextViewAutoSizeHelper mAutoSizeTextHelper;
private TintInfo mDrawableBottomTint;
private TintInfo mDrawableEndTint;
private TintInfo mDrawableLeftTint;
private TintInfo mDrawableRightTint;
private TintInfo mDrawableStartTint;
private TintInfo mDrawableTint;
private TintInfo mDrawableTopTint;
private Typeface mFontTypeface;
@NonNull
private final TextView mView;
private int mStyle = 0;
private int mFontWeight = -1;
private void setCompoundTints() {
TintInfo tintInfo = this.mDrawableTint;
this.mDrawableLeftTint = tintInfo;
this.mDrawableTopTint = tintInfo;
this.mDrawableRightTint = tintInfo;
this.mDrawableBottomTint = tintInfo;
this.mDrawableStartTint = tintInfo;
this.mDrawableEndTint = tintInfo;
}
public AppCompatTextHelper(@NonNull TextView textView) {
this.mView = textView;
this.mAutoSizeTextHelper = new AppCompatTextViewAutoSizeHelper(textView);
}
/* JADX WARN: Removed duplicated region for block: B:108:0x0293 */
/* JADX WARN: Removed duplicated region for block: B:110:0x029a */
/* JADX WARN: Removed duplicated region for block: B:113:0x02a3 */
/* JADX WARN: Removed duplicated region for block: B:119:? A[RETURN, SYNTHETIC] */
@android.annotation.SuppressLint({"NewApi"})
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public void loadFromAttributes(@androidx.annotation.Nullable android.util.AttributeSet r17, int r18) {
/*
Method dump skipped, instructions count: 690
To view this dump add '--comments-level debug' option
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.appcompat.widget.AppCompatTextHelper.loadFromAttributes(android.util.AttributeSet, int):void");
}
private void updateTypefaceAndStyle(Context context, TintTypedArray tintTypedArray) {
int i;
String string;
this.mStyle = tintTypedArray.getInt(R.styleable.TextAppearance_android_textStyle, this.mStyle);
int i2 = Build.VERSION.SDK_INT;
if (i2 >= 28) {
int i3 = tintTypedArray.getInt(R.styleable.TextAppearance_android_textFontWeight, -1);
this.mFontWeight = i3;
if (i3 != -1) {
this.mStyle &= 2;
}
}
if (tintTypedArray.hasValue(R.styleable.TextAppearance_android_fontFamily) || tintTypedArray.hasValue(R.styleable.TextAppearance_fontFamily)) {
this.mFontTypeface = null;
if (tintTypedArray.hasValue(R.styleable.TextAppearance_fontFamily)) {
i = R.styleable.TextAppearance_fontFamily;
} else {
i = R.styleable.TextAppearance_android_fontFamily;
}
final int i4 = this.mFontWeight;
final int i5 = this.mStyle;
if (!context.isRestricted()) {
final WeakReference weakReference = new WeakReference(this.mView);
try {
Typeface font = tintTypedArray.getFont(i, this.mStyle, new ResourcesCompat.FontCallback() { // from class: androidx.appcompat.widget.AppCompatTextHelper.1
@Override // androidx.core.content.res.ResourcesCompat.FontCallback
/* renamed from: onFontRetrievalFailed */
public void lambda$callbackFailAsync$1(int i6) {
}
@Override // androidx.core.content.res.ResourcesCompat.FontCallback
/* renamed from: onFontRetrieved */
public void lambda$callbackSuccessAsync$0(@NonNull Typeface typeface) {
int i6;
if (Build.VERSION.SDK_INT >= 28 && (i6 = i4) != -1) {
typeface = Api28Impl.create(typeface, i6, (i5 & 2) != 0);
}
AppCompatTextHelper.this.onAsyncTypefaceReceived(weakReference, typeface);
}
});
if (font != null) {
if (i2 < 28 || this.mFontWeight == -1) {
this.mFontTypeface = font;
} else {
this.mFontTypeface = Api28Impl.create(Typeface.create(font, 0), this.mFontWeight, (this.mStyle & 2) != 0);
}
}
this.mAsyncFontPending = this.mFontTypeface == null;
} catch (Resources.NotFoundException | UnsupportedOperationException unused) {
}
}
if (this.mFontTypeface != null || (string = tintTypedArray.getString(i)) == null) {
return;
}
if (Build.VERSION.SDK_INT >= 28 && this.mFontWeight != -1) {
this.mFontTypeface = Api28Impl.create(Typeface.create(string, 0), this.mFontWeight, (this.mStyle & 2) != 0);
return;
} else {
this.mFontTypeface = Typeface.create(string, this.mStyle);
return;
}
}
if (tintTypedArray.hasValue(R.styleable.TextAppearance_android_typeface)) {
this.mAsyncFontPending = false;
int i6 = tintTypedArray.getInt(R.styleable.TextAppearance_android_typeface, 1);
if (i6 == 1) {
this.mFontTypeface = Typeface.SANS_SERIF;
} else if (i6 == 2) {
this.mFontTypeface = Typeface.SERIF;
} else {
if (i6 != 3) {
return;
}
this.mFontTypeface = Typeface.MONOSPACE;
}
}
}
public void onAsyncTypefaceReceived(WeakReference<TextView> weakReference, final Typeface typeface) {
if (this.mAsyncFontPending) {
this.mFontTypeface = typeface;
final TextView textView = weakReference.get();
if (textView != null) {
if (textView.isAttachedToWindow()) {
final int i = this.mStyle;
textView.post(new Runnable() { // from class: androidx.appcompat.widget.AppCompatTextHelper.2
@Override // java.lang.Runnable
public void run() {
textView.setTypeface(typeface, i);
}
});
} else {
textView.setTypeface(typeface, this.mStyle);
}
}
}
}
public void onSetTextAppearance(Context context, int i) {
String string;
TintTypedArray obtainStyledAttributes = TintTypedArray.obtainStyledAttributes(context, i, R.styleable.TextAppearance);
if (obtainStyledAttributes.hasValue(R.styleable.TextAppearance_textAllCaps)) {
setAllCaps(obtainStyledAttributes.getBoolean(R.styleable.TextAppearance_textAllCaps, false));
}
if (obtainStyledAttributes.hasValue(R.styleable.TextAppearance_android_textSize) && obtainStyledAttributes.getDimensionPixelSize(R.styleable.TextAppearance_android_textSize, -1) == 0) {
this.mView.setTextSize(0, 0.0f);
}
updateTypefaceAndStyle(context, obtainStyledAttributes);
if (obtainStyledAttributes.hasValue(R.styleable.TextAppearance_fontVariationSettings) && (string = obtainStyledAttributes.getString(R.styleable.TextAppearance_fontVariationSettings)) != null) {
Api26Impl.setFontVariationSettings(this.mView, string);
}
obtainStyledAttributes.recycle();
Typeface typeface = this.mFontTypeface;
if (typeface != null) {
this.mView.setTypeface(typeface, this.mStyle);
}
}
public void setAllCaps(boolean z) {
this.mView.setAllCaps(z);
}
public void onSetCompoundDrawables() {
applyCompoundDrawablesTints();
}
public void applyCompoundDrawablesTints() {
if (this.mDrawableLeftTint != null || this.mDrawableTopTint != null || this.mDrawableRightTint != null || this.mDrawableBottomTint != null) {
Drawable[] compoundDrawables = this.mView.getCompoundDrawables();
applyCompoundDrawableTint(compoundDrawables[0], this.mDrawableLeftTint);
applyCompoundDrawableTint(compoundDrawables[1], this.mDrawableTopTint);
applyCompoundDrawableTint(compoundDrawables[2], this.mDrawableRightTint);
applyCompoundDrawableTint(compoundDrawables[3], this.mDrawableBottomTint);
}
if (this.mDrawableStartTint == null && this.mDrawableEndTint == null) {
return;
}
Drawable[] compoundDrawablesRelative = this.mView.getCompoundDrawablesRelative();
applyCompoundDrawableTint(compoundDrawablesRelative[0], this.mDrawableStartTint);
applyCompoundDrawableTint(compoundDrawablesRelative[2], this.mDrawableEndTint);
}
private void applyCompoundDrawableTint(Drawable drawable, TintInfo tintInfo) {
if (drawable == null || tintInfo == null) {
return;
}
AppCompatDrawableManager.tintDrawable(drawable, tintInfo, this.mView.getDrawableState());
}
private static TintInfo createTintInfo(Context context, AppCompatDrawableManager appCompatDrawableManager, int i) {
ColorStateList tintList = appCompatDrawableManager.getTintList(context, i);
if (tintList == null) {
return null;
}
TintInfo tintInfo = new TintInfo();
tintInfo.mHasTintList = true;
tintInfo.mTintList = tintList;
return tintInfo;
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public void onLayout(boolean z, int i, int i2, int i3, int i4) {
if (ViewUtils.SDK_LEVEL_SUPPORTS_AUTOSIZE) {
return;
}
autoSizeText();
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public void setTextSize(int i, float f) {
if (ViewUtils.SDK_LEVEL_SUPPORTS_AUTOSIZE || isAutoSizeEnabled()) {
return;
}
setTextSizeInternal(i, f);
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public void autoSizeText() {
this.mAutoSizeTextHelper.autoSizeText();
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public boolean isAutoSizeEnabled() {
return this.mAutoSizeTextHelper.isAutoSizeEnabled();
}
private void setTextSizeInternal(int i, float f) {
this.mAutoSizeTextHelper.setTextSizeInternal(i, f);
}
public void setAutoSizeTextTypeWithDefaults(int i) {
this.mAutoSizeTextHelper.setAutoSizeTextTypeWithDefaults(i);
}
public void setAutoSizeTextTypeUniformWithConfiguration(int i, int i2, int i3, int i4) throws IllegalArgumentException {
this.mAutoSizeTextHelper.setAutoSizeTextTypeUniformWithConfiguration(i, i2, i3, i4);
}
public void setAutoSizeTextTypeUniformWithPresetSizes(@NonNull int[] iArr, int i) throws IllegalArgumentException {
this.mAutoSizeTextHelper.setAutoSizeTextTypeUniformWithPresetSizes(iArr, i);
}
public int getAutoSizeTextType() {
return this.mAutoSizeTextHelper.getAutoSizeTextType();
}
public int getAutoSizeStepGranularity() {
return this.mAutoSizeTextHelper.getAutoSizeStepGranularity();
}
public int getAutoSizeMinTextSize() {
return this.mAutoSizeTextHelper.getAutoSizeMinTextSize();
}
public int getAutoSizeMaxTextSize() {
return this.mAutoSizeTextHelper.getAutoSizeMaxTextSize();
}
public int[] getAutoSizeTextAvailableSizes() {
return this.mAutoSizeTextHelper.getAutoSizeTextAvailableSizes();
}
@Nullable
public ColorStateList getCompoundDrawableTintList() {
TintInfo tintInfo = this.mDrawableTint;
if (tintInfo != null) {
return tintInfo.mTintList;
}
return null;
}
public void setCompoundDrawableTintList(@Nullable ColorStateList colorStateList) {
if (this.mDrawableTint == null) {
this.mDrawableTint = new TintInfo();
}
TintInfo tintInfo = this.mDrawableTint;
tintInfo.mTintList = colorStateList;
tintInfo.mHasTintList = colorStateList != null;
setCompoundTints();
}
@Nullable
public PorterDuff.Mode getCompoundDrawableTintMode() {
TintInfo tintInfo = this.mDrawableTint;
if (tintInfo != null) {
return tintInfo.mTintMode;
}
return null;
}
public void setCompoundDrawableTintMode(@Nullable PorterDuff.Mode mode) {
if (this.mDrawableTint == null) {
this.mDrawableTint = new TintInfo();
}
TintInfo tintInfo = this.mDrawableTint;
tintInfo.mTintMode = mode;
tintInfo.mHasTintMode = mode != null;
setCompoundTints();
}
private void setCompoundDrawables(Drawable drawable, Drawable drawable2, Drawable drawable3, Drawable drawable4, Drawable drawable5, Drawable drawable6) {
if (drawable5 != null || drawable6 != null) {
Drawable[] compoundDrawablesRelative = this.mView.getCompoundDrawablesRelative();
if (drawable5 == null) {
drawable5 = compoundDrawablesRelative[0];
}
if (drawable2 == null) {
drawable2 = compoundDrawablesRelative[1];
}
if (drawable6 == null) {
drawable6 = compoundDrawablesRelative[2];
}
TextView textView = this.mView;
if (drawable4 == null) {
drawable4 = compoundDrawablesRelative[3];
}
textView.setCompoundDrawablesRelativeWithIntrinsicBounds(drawable5, drawable2, drawable6, drawable4);
return;
}
if (drawable == null && drawable2 == null && drawable3 == null && drawable4 == null) {
return;
}
Drawable[] compoundDrawablesRelative2 = this.mView.getCompoundDrawablesRelative();
Drawable drawable7 = compoundDrawablesRelative2[0];
if (drawable7 != null || compoundDrawablesRelative2[2] != null) {
if (drawable2 == null) {
drawable2 = compoundDrawablesRelative2[1];
}
if (drawable4 == null) {
drawable4 = compoundDrawablesRelative2[3];
}
this.mView.setCompoundDrawablesRelativeWithIntrinsicBounds(drawable7, drawable2, compoundDrawablesRelative2[2], drawable4);
return;
}
Drawable[] compoundDrawables = this.mView.getCompoundDrawables();
TextView textView2 = this.mView;
if (drawable == null) {
drawable = compoundDrawables[0];
}
if (drawable2 == null) {
drawable2 = compoundDrawables[1];
}
if (drawable3 == null) {
drawable3 = compoundDrawables[2];
}
if (drawable4 == null) {
drawable4 = compoundDrawables[3];
}
textView2.setCompoundDrawablesWithIntrinsicBounds(drawable, drawable2, drawable3, drawable4);
}
public void populateSurroundingTextIfNeeded(@NonNull TextView textView, @Nullable InputConnection inputConnection, @NonNull EditorInfo editorInfo) {
if (Build.VERSION.SDK_INT >= 30 || inputConnection == null) {
return;
}
EditorInfoCompat.setInitialSurroundingText(editorInfo, textView.getText());
}
@RequiresApi(26)
public static class Api26Impl {
private Api26Impl() {
}
@DoNotInline
public static boolean setFontVariationSettings(TextView textView, String str) {
return textView.setFontVariationSettings(str);
}
@DoNotInline
public static int getAutoSizeStepGranularity(TextView textView) {
return textView.getAutoSizeStepGranularity();
}
@DoNotInline
public static void setAutoSizeTextTypeUniformWithConfiguration(TextView textView, int i, int i2, int i3, int i4) {
textView.setAutoSizeTextTypeUniformWithConfiguration(i, i2, i3, i4);
}
@DoNotInline
public static void setAutoSizeTextTypeUniformWithPresetSizes(TextView textView, int[] iArr, int i) {
textView.setAutoSizeTextTypeUniformWithPresetSizes(iArr, i);
}
}
@RequiresApi(24)
public static class Api24Impl {
private Api24Impl() {
}
@DoNotInline
public static void setTextLocales(TextView textView, LocaleList localeList) {
textView.setTextLocales(localeList);
}
@DoNotInline
public static LocaleList forLanguageTags(String str) {
return LocaleList.forLanguageTags(str);
}
}
@RequiresApi(21)
public static class Api21Impl {
private Api21Impl() {
}
@DoNotInline
public static Locale forLanguageTag(String str) {
return Locale.forLanguageTag(str);
}
}
@RequiresApi(28)
public static class Api28Impl {
private Api28Impl() {
}
@DoNotInline
public static Typeface create(Typeface typeface, int i, boolean z) {
return Typeface.create(typeface, i, z);
}
}
}