package androidx.viewpager.widget; import android.R; import android.content.Context; import android.content.res.TypedArray; import android.database.DataSetObserver; import android.graphics.drawable.Drawable; import android.text.TextUtils; import android.text.method.SingleLineTransformationMethod; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.view.ViewParent; import android.widget.TextView; import androidx.core.view.ViewCompat; import androidx.core.widget.TextViewCompat; import androidx.viewpager.widget.ViewPager; import java.lang.ref.WeakReference; import java.util.Locale; @ViewPager.DecorView /* loaded from: classes2.dex */ public class PagerTitleStrip extends ViewGroup { private static final float SIDE_ALPHA = 0.6f; private static final int TEXT_SPACING = 16; TextView mCurrText; private int mGravity; private int mLastKnownCurrentPage; float mLastKnownPositionOffset; TextView mNextText; private int mNonPrimaryAlpha; private final PageListener mPageListener; ViewPager mPager; TextView mPrevText; private int mScaledTextSpacing; int mTextColor; private boolean mUpdatingPositions; private boolean mUpdatingText; private WeakReference mWatchingAdapter; private static final int[] ATTRS = {R.attr.textAppearance, R.attr.textSize, R.attr.textColor, R.attr.gravity}; private static final int[] TEXT_ATTRS = {R.attr.textAllCaps}; public int getTextSpacing() { return this.mScaledTextSpacing; } /* JADX INFO: Access modifiers changed from: private */ /* loaded from: classes2.dex */ public static class SingleLineAllCapsTransform extends SingleLineTransformationMethod { private Locale mLocale; SingleLineAllCapsTransform(Context context) { this.mLocale = context.getResources().getConfiguration().locale; } @Override // android.text.method.ReplacementTransformationMethod, android.text.method.TransformationMethod public CharSequence getTransformation(CharSequence charSequence, View view) { CharSequence transformation = super.getTransformation(charSequence, view); if (transformation != null) { return transformation.toString().toUpperCase(this.mLocale); } return null; } } private static void setSingleLineAllCaps(TextView textView) { textView.setTransformationMethod(new SingleLineAllCapsTransform(textView.getContext())); } public PagerTitleStrip(Context context) { this(context, null); } public PagerTitleStrip(Context context, AttributeSet attributeSet) { super(context, attributeSet); this.mLastKnownCurrentPage = -1; this.mLastKnownPositionOffset = -1.0f; this.mPageListener = new PageListener(); TextView textView = new TextView(context); this.mPrevText = textView; addView(textView); TextView textView2 = new TextView(context); this.mCurrText = textView2; addView(textView2); TextView textView3 = new TextView(context); this.mNextText = textView3; addView(textView3); TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, ATTRS); int resourceId = obtainStyledAttributes.getResourceId(0, 0); if (resourceId != 0) { TextViewCompat.setTextAppearance(this.mPrevText, resourceId); TextViewCompat.setTextAppearance(this.mCurrText, resourceId); TextViewCompat.setTextAppearance(this.mNextText, resourceId); } int dimensionPixelSize = obtainStyledAttributes.getDimensionPixelSize(1, 0); if (dimensionPixelSize != 0) { setTextSize(0, dimensionPixelSize); } if (obtainStyledAttributes.hasValue(2)) { int color = obtainStyledAttributes.getColor(2, 0); this.mPrevText.setTextColor(color); this.mCurrText.setTextColor(color); this.mNextText.setTextColor(color); } this.mGravity = obtainStyledAttributes.getInteger(3, 80); obtainStyledAttributes.recycle(); this.mTextColor = this.mCurrText.getTextColors().getDefaultColor(); setNonPrimaryAlpha(SIDE_ALPHA); this.mPrevText.setEllipsize(TextUtils.TruncateAt.END); this.mCurrText.setEllipsize(TextUtils.TruncateAt.END); this.mNextText.setEllipsize(TextUtils.TruncateAt.END); if (resourceId != 0) { TypedArray obtainStyledAttributes2 = context.obtainStyledAttributes(resourceId, TEXT_ATTRS); boolean z = obtainStyledAttributes2.getBoolean(0, false); obtainStyledAttributes2.recycle(); if (z) { setSingleLineAllCaps(this.mPrevText); setSingleLineAllCaps(this.mCurrText); setSingleLineAllCaps(this.mNextText); this.mScaledTextSpacing = (int) (context.getResources().getDisplayMetrics().density * 16.0f); } } this.mPrevText.setSingleLine(); this.mCurrText.setSingleLine(); this.mNextText.setSingleLine(); this.mScaledTextSpacing = (int) (context.getResources().getDisplayMetrics().density * 16.0f); } public void setTextSpacing(int i) { this.mScaledTextSpacing = i; requestLayout(); } public void setNonPrimaryAlpha(float f) { int i = ((int) (f * 255.0f)) & 255; this.mNonPrimaryAlpha = i; int i2 = (i << 24) | (this.mTextColor & ViewCompat.MEASURED_SIZE_MASK); this.mPrevText.setTextColor(i2); this.mNextText.setTextColor(i2); } public void setTextColor(int i) { this.mTextColor = i; this.mCurrText.setTextColor(i); int i2 = (this.mNonPrimaryAlpha << 24) | (this.mTextColor & ViewCompat.MEASURED_SIZE_MASK); this.mPrevText.setTextColor(i2); this.mNextText.setTextColor(i2); } public void setTextSize(int i, float f) { this.mPrevText.setTextSize(i, f); this.mCurrText.setTextSize(i, f); this.mNextText.setTextSize(i, f); } public void setGravity(int i) { this.mGravity = i; requestLayout(); } @Override // android.view.ViewGroup, android.view.View protected void onAttachedToWindow() { super.onAttachedToWindow(); ViewParent parent = getParent(); if (!(parent instanceof ViewPager)) { throw new IllegalStateException("PagerTitleStrip must be a direct child of a ViewPager."); } ViewPager viewPager = (ViewPager) parent; PagerAdapter adapter = viewPager.getAdapter(); viewPager.setInternalPageChangeListener(this.mPageListener); viewPager.addOnAdapterChangeListener(this.mPageListener); this.mPager = viewPager; WeakReference weakReference = this.mWatchingAdapter; updateAdapter(weakReference != null ? weakReference.get() : null, adapter); } @Override // android.view.ViewGroup, android.view.View protected void onDetachedFromWindow() { super.onDetachedFromWindow(); ViewPager viewPager = this.mPager; if (viewPager != null) { updateAdapter(viewPager.getAdapter(), null); this.mPager.setInternalPageChangeListener(null); this.mPager.removeOnAdapterChangeListener(this.mPageListener); this.mPager = null; } } void updateText(int i, PagerAdapter pagerAdapter) { int count = pagerAdapter != null ? pagerAdapter.getCount() : 0; this.mUpdatingText = true; CharSequence charSequence = null; this.mPrevText.setText((i < 1 || pagerAdapter == null) ? null : pagerAdapter.getPageTitle(i - 1)); this.mCurrText.setText((pagerAdapter == null || i >= count) ? null : pagerAdapter.getPageTitle(i)); int i2 = i + 1; if (i2 < count && pagerAdapter != null) { charSequence = pagerAdapter.getPageTitle(i2); } this.mNextText.setText(charSequence); int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(Math.max(0, (int) (((getWidth() - getPaddingLeft()) - getPaddingRight()) * 0.8f)), Integer.MIN_VALUE); int makeMeasureSpec2 = View.MeasureSpec.makeMeasureSpec(Math.max(0, (getHeight() - getPaddingTop()) - getPaddingBottom()), Integer.MIN_VALUE); this.mPrevText.measure(makeMeasureSpec, makeMeasureSpec2); this.mCurrText.measure(makeMeasureSpec, makeMeasureSpec2); this.mNextText.measure(makeMeasureSpec, makeMeasureSpec2); this.mLastKnownCurrentPage = i; if (!this.mUpdatingPositions) { updateTextPositions(i, this.mLastKnownPositionOffset, false); } this.mUpdatingText = false; } @Override // android.view.View, android.view.ViewParent public void requestLayout() { if (this.mUpdatingText) { return; } super.requestLayout(); } void updateAdapter(PagerAdapter pagerAdapter, PagerAdapter pagerAdapter2) { if (pagerAdapter != null) { pagerAdapter.unregisterDataSetObserver(this.mPageListener); this.mWatchingAdapter = null; } if (pagerAdapter2 != null) { pagerAdapter2.registerDataSetObserver(this.mPageListener); this.mWatchingAdapter = new WeakReference<>(pagerAdapter2); } ViewPager viewPager = this.mPager; if (viewPager != null) { this.mLastKnownCurrentPage = -1; this.mLastKnownPositionOffset = -1.0f; updateText(viewPager.getCurrentItem(), pagerAdapter2); requestLayout(); } } /* JADX INFO: Access modifiers changed from: package-private */ public void updateTextPositions(int i, float f, boolean z) { int i2; int i3; int i4; int i5; if (i != this.mLastKnownCurrentPage) { updateText(i, this.mPager.getAdapter()); } else if (!z && f == this.mLastKnownPositionOffset) { return; } this.mUpdatingPositions = true; int measuredWidth = this.mPrevText.getMeasuredWidth(); int measuredWidth2 = this.mCurrText.getMeasuredWidth(); int measuredWidth3 = this.mNextText.getMeasuredWidth(); int i6 = measuredWidth2 / 2; int width = getWidth(); int height = getHeight(); int paddingLeft = getPaddingLeft(); int paddingRight = getPaddingRight(); int paddingTop = getPaddingTop(); int paddingBottom = getPaddingBottom(); int i7 = paddingRight + i6; int i8 = (width - (paddingLeft + i6)) - i7; float f2 = 0.5f + f; if (f2 > 1.0f) { f2 -= 1.0f; } int i9 = ((width - i7) - ((int) (i8 * f2))) - i6; int i10 = measuredWidth2 + i9; int baseline = this.mPrevText.getBaseline(); int baseline2 = this.mCurrText.getBaseline(); int baseline3 = this.mNextText.getBaseline(); int max = Math.max(Math.max(baseline, baseline2), baseline3); int i11 = max - baseline; int i12 = max - baseline2; int i13 = max - baseline3; int max2 = Math.max(Math.max(this.mPrevText.getMeasuredHeight() + i11, this.mCurrText.getMeasuredHeight() + i12), this.mNextText.getMeasuredHeight() + i13); int i14 = this.mGravity & 112; if (i14 == 16) { i2 = (((height - paddingTop) - paddingBottom) - max2) / 2; } else { if (i14 != 80) { i3 = i11 + paddingTop; i4 = i12 + paddingTop; i5 = paddingTop + i13; TextView textView = this.mCurrText; textView.layout(i9, i4, i10, textView.getMeasuredHeight() + i4); int min = Math.min(paddingLeft, (i9 - this.mScaledTextSpacing) - measuredWidth); TextView textView2 = this.mPrevText; textView2.layout(min, i3, measuredWidth + min, textView2.getMeasuredHeight() + i3); int max3 = Math.max((width - paddingRight) - measuredWidth3, i10 + this.mScaledTextSpacing); TextView textView3 = this.mNextText; textView3.layout(max3, i5, max3 + measuredWidth3, textView3.getMeasuredHeight() + i5); this.mLastKnownPositionOffset = f; this.mUpdatingPositions = false; } i2 = (height - paddingBottom) - max2; } i3 = i11 + i2; i4 = i12 + i2; i5 = i2 + i13; TextView textView4 = this.mCurrText; textView4.layout(i9, i4, i10, textView4.getMeasuredHeight() + i4); int min2 = Math.min(paddingLeft, (i9 - this.mScaledTextSpacing) - measuredWidth); TextView textView22 = this.mPrevText; textView22.layout(min2, i3, measuredWidth + min2, textView22.getMeasuredHeight() + i3); int max32 = Math.max((width - paddingRight) - measuredWidth3, i10 + this.mScaledTextSpacing); TextView textView32 = this.mNextText; textView32.layout(max32, i5, max32 + measuredWidth3, textView32.getMeasuredHeight() + i5); this.mLastKnownPositionOffset = f; this.mUpdatingPositions = false; } @Override // android.view.View protected void onMeasure(int i, int i2) { int max; if (View.MeasureSpec.getMode(i) != 1073741824) { throw new IllegalStateException("Must measure with an exact width"); } int paddingTop = getPaddingTop() + getPaddingBottom(); int childMeasureSpec = getChildMeasureSpec(i2, paddingTop, -2); int size = View.MeasureSpec.getSize(i); int childMeasureSpec2 = getChildMeasureSpec(i, (int) (size * 0.2f), -2); this.mPrevText.measure(childMeasureSpec2, childMeasureSpec); this.mCurrText.measure(childMeasureSpec2, childMeasureSpec); this.mNextText.measure(childMeasureSpec2, childMeasureSpec); if (View.MeasureSpec.getMode(i2) == 1073741824) { max = View.MeasureSpec.getSize(i2); } else { max = Math.max(getMinHeight(), this.mCurrText.getMeasuredHeight() + paddingTop); } setMeasuredDimension(size, View.resolveSizeAndState(max, i2, this.mCurrText.getMeasuredState() << 16)); } @Override // android.view.ViewGroup, android.view.View protected void onLayout(boolean z, int i, int i2, int i3, int i4) { if (this.mPager != null) { float f = this.mLastKnownPositionOffset; if (f < 0.0f) { f = 0.0f; } updateTextPositions(this.mLastKnownCurrentPage, f, true); } } /* JADX INFO: Access modifiers changed from: package-private */ public int getMinHeight() { Drawable background = getBackground(); if (background != null) { return background.getIntrinsicHeight(); } return 0; } /* JADX INFO: Access modifiers changed from: private */ /* loaded from: classes2.dex */ public class PageListener extends DataSetObserver implements ViewPager.OnPageChangeListener, ViewPager.OnAdapterChangeListener { private int mScrollState; @Override // androidx.viewpager.widget.ViewPager.OnPageChangeListener public void onPageScrollStateChanged(int i) { this.mScrollState = i; } PageListener() { } @Override // androidx.viewpager.widget.ViewPager.OnPageChangeListener public void onPageScrolled(int i, float f, int i2) { if (f > 0.5f) { i++; } PagerTitleStrip.this.updateTextPositions(i, f, false); } @Override // androidx.viewpager.widget.ViewPager.OnPageChangeListener public void onPageSelected(int i) { if (this.mScrollState == 0) { PagerTitleStrip pagerTitleStrip = PagerTitleStrip.this; pagerTitleStrip.updateText(pagerTitleStrip.mPager.getCurrentItem(), PagerTitleStrip.this.mPager.getAdapter()); float f = PagerTitleStrip.this.mLastKnownPositionOffset >= 0.0f ? PagerTitleStrip.this.mLastKnownPositionOffset : 0.0f; PagerTitleStrip pagerTitleStrip2 = PagerTitleStrip.this; pagerTitleStrip2.updateTextPositions(pagerTitleStrip2.mPager.getCurrentItem(), f, true); } } @Override // androidx.viewpager.widget.ViewPager.OnAdapterChangeListener public void onAdapterChanged(ViewPager viewPager, PagerAdapter pagerAdapter, PagerAdapter pagerAdapter2) { PagerTitleStrip.this.updateAdapter(pagerAdapter, pagerAdapter2); } @Override // android.database.DataSetObserver public void onChanged() { PagerTitleStrip pagerTitleStrip = PagerTitleStrip.this; pagerTitleStrip.updateText(pagerTitleStrip.mPager.getCurrentItem(), PagerTitleStrip.this.mPager.getAdapter()); float f = PagerTitleStrip.this.mLastKnownPositionOffset >= 0.0f ? PagerTitleStrip.this.mLastKnownPositionOffset : 0.0f; PagerTitleStrip pagerTitleStrip2 = PagerTitleStrip.this; pagerTitleStrip2.updateTextPositions(pagerTitleStrip2.mPager.getCurrentItem(), f, true); } } }