CrackMe.apk
Download file
package com.google.android.material.appbar;
import android.animation.ValueAnimator;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.Typeface;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.FrameLayout;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.drawable.DrawableCompat;
import androidx.core.math.MathUtils;
import androidx.core.util.ObjectsCompat;
import androidx.core.view.OnApplyWindowInsetsListener;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.google.android.material.R;
import com.google.android.material.animation.AnimationUtils;
import com.google.android.material.appbar.AppBarLayout;
import com.google.android.material.badge.BadgeDrawable;
import com.google.android.material.internal.CollapsingTextHelper;
import com.google.android.material.internal.DescendantOffsetUtils;
import com.google.android.material.internal.ThemeEnforcement;
public class CollapsingToolbarLayout extends FrameLayout {
private static final int DEFAULT_SCRIM_ANIMATION_DURATION = 600;
final CollapsingTextHelper collapsingTextHelper;
private boolean collapsingTitleEnabled;
private Drawable contentScrim;
int currentOffset;
private boolean drawCollapsingTitle;
private View dummyView;
private int expandedMarginBottom;
private int expandedMarginEnd;
private int expandedMarginStart;
private int expandedMarginTop;
WindowInsetsCompat lastInsets;
private AppBarLayout.OnOffsetChangedListener onOffsetChangedListener;
private boolean refreshToolbar;
private int scrimAlpha;
private long scrimAnimationDuration;
private ValueAnimator scrimAnimator;
private int scrimVisibleHeightTrigger;
private boolean scrimsAreShown;
Drawable statusBarScrim;
private final Rect tmpRect;
private Toolbar toolbar;
private View toolbarDirectChild;
private int toolbarId;
public CollapsingToolbarLayout(Context context) {
this(context, (AttributeSet) null);
}
public CollapsingToolbarLayout(Context context, AttributeSet attributeSet) {
this(context, attributeSet, 0);
}
public CollapsingToolbarLayout(Context context, AttributeSet attributeSet, int i) {
super(context, attributeSet, i);
this.refreshToolbar = true;
this.tmpRect = new Rect();
this.scrimVisibleHeightTrigger = -1;
CollapsingTextHelper collapsingTextHelper2 = new CollapsingTextHelper(this);
this.collapsingTextHelper = collapsingTextHelper2;
collapsingTextHelper2.setTextSizeInterpolator(AnimationUtils.DECELERATE_INTERPOLATOR);
TypedArray obtainStyledAttributes = ThemeEnforcement.obtainStyledAttributes(context, attributeSet, R.styleable.CollapsingToolbarLayout, i, R.style.Widget_Design_CollapsingToolbar, new int[0]);
collapsingTextHelper2.setExpandedTextGravity(obtainStyledAttributes.getInt(R.styleable.CollapsingToolbarLayout_expandedTitleGravity, BadgeDrawable.BOTTOM_START));
collapsingTextHelper2.setCollapsedTextGravity(obtainStyledAttributes.getInt(R.styleable.CollapsingToolbarLayout_collapsedTitleGravity, 8388627));
int dimensionPixelSize = obtainStyledAttributes.getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMargin, 0);
this.expandedMarginBottom = dimensionPixelSize;
this.expandedMarginEnd = dimensionPixelSize;
this.expandedMarginTop = dimensionPixelSize;
this.expandedMarginStart = dimensionPixelSize;
if (obtainStyledAttributes.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginStart)) {
this.expandedMarginStart = obtainStyledAttributes.getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginStart, 0);
}
if (obtainStyledAttributes.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginEnd)) {
this.expandedMarginEnd = obtainStyledAttributes.getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginEnd, 0);
}
if (obtainStyledAttributes.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginTop)) {
this.expandedMarginTop = obtainStyledAttributes.getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginTop, 0);
}
if (obtainStyledAttributes.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginBottom)) {
this.expandedMarginBottom = obtainStyledAttributes.getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginBottom, 0);
}
this.collapsingTitleEnabled = obtainStyledAttributes.getBoolean(R.styleable.CollapsingToolbarLayout_titleEnabled, true);
setTitle(obtainStyledAttributes.getText(R.styleable.CollapsingToolbarLayout_title));
collapsingTextHelper2.setExpandedTextAppearance(R.style.TextAppearance_Design_CollapsingToolbar_Expanded);
collapsingTextHelper2.setCollapsedTextAppearance(androidx.appcompat.R.style.TextAppearance_AppCompat_Widget_ActionBar_Title);
if (obtainStyledAttributes.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleTextAppearance)) {
collapsingTextHelper2.setExpandedTextAppearance(obtainStyledAttributes.getResourceId(R.styleable.CollapsingToolbarLayout_expandedTitleTextAppearance, 0));
}
if (obtainStyledAttributes.hasValue(R.styleable.CollapsingToolbarLayout_collapsedTitleTextAppearance)) {
collapsingTextHelper2.setCollapsedTextAppearance(obtainStyledAttributes.getResourceId(R.styleable.CollapsingToolbarLayout_collapsedTitleTextAppearance, 0));
}
this.scrimVisibleHeightTrigger = obtainStyledAttributes.getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_scrimVisibleHeightTrigger, -1);
this.scrimAnimationDuration = (long) obtainStyledAttributes.getInt(R.styleable.CollapsingToolbarLayout_scrimAnimationDuration, DEFAULT_SCRIM_ANIMATION_DURATION);
setContentScrim(obtainStyledAttributes.getDrawable(R.styleable.CollapsingToolbarLayout_contentScrim));
setStatusBarScrim(obtainStyledAttributes.getDrawable(R.styleable.CollapsingToolbarLayout_statusBarScrim));
this.toolbarId = obtainStyledAttributes.getResourceId(R.styleable.CollapsingToolbarLayout_toolbarId, -1);
obtainStyledAttributes.recycle();
setWillNotDraw(false);
ViewCompat.setOnApplyWindowInsetsListener(this, new OnApplyWindowInsetsListener() {
public WindowInsetsCompat onApplyWindowInsets(View view, WindowInsetsCompat windowInsetsCompat) {
return CollapsingToolbarLayout.this.onWindowInsetChanged(windowInsetsCompat);
}
});
}
/* access modifiers changed from: protected */
public void onAttachedToWindow() {
super.onAttachedToWindow();
ViewParent parent = getParent();
if (parent instanceof AppBarLayout) {
ViewCompat.setFitsSystemWindows(this, ViewCompat.getFitsSystemWindows((View) parent));
if (this.onOffsetChangedListener == null) {
this.onOffsetChangedListener = new OffsetUpdateListener();
}
((AppBarLayout) parent).addOnOffsetChangedListener(this.onOffsetChangedListener);
ViewCompat.requestApplyInsets(this);
}
}
/* access modifiers changed from: protected */
public void onDetachedFromWindow() {
ViewParent parent = getParent();
AppBarLayout.OnOffsetChangedListener onOffsetChangedListener2 = this.onOffsetChangedListener;
if (onOffsetChangedListener2 != null && (parent instanceof AppBarLayout)) {
((AppBarLayout) parent).removeOnOffsetChangedListener(onOffsetChangedListener2);
}
super.onDetachedFromWindow();
}
/* access modifiers changed from: package-private */
public WindowInsetsCompat onWindowInsetChanged(WindowInsetsCompat windowInsetsCompat) {
WindowInsetsCompat windowInsetsCompat2 = ViewCompat.getFitsSystemWindows(this) ? windowInsetsCompat : null;
if (!ObjectsCompat.equals(this.lastInsets, windowInsetsCompat2)) {
this.lastInsets = windowInsetsCompat2;
requestLayout();
}
return windowInsetsCompat.consumeSystemWindowInsets();
}
public void draw(Canvas canvas) {
Drawable drawable;
super.draw(canvas);
ensureToolbar();
if (this.toolbar == null && (drawable = this.contentScrim) != null && this.scrimAlpha > 0) {
drawable.mutate().setAlpha(this.scrimAlpha);
this.contentScrim.draw(canvas);
}
if (this.collapsingTitleEnabled && this.drawCollapsingTitle) {
this.collapsingTextHelper.draw(canvas);
}
if (this.statusBarScrim != null && this.scrimAlpha > 0) {
WindowInsetsCompat windowInsetsCompat = this.lastInsets;
int systemWindowInsetTop = windowInsetsCompat != null ? windowInsetsCompat.getSystemWindowInsetTop() : 0;
if (systemWindowInsetTop > 0) {
this.statusBarScrim.setBounds(0, -this.currentOffset, getWidth(), systemWindowInsetTop - this.currentOffset);
this.statusBarScrim.mutate().setAlpha(this.scrimAlpha);
this.statusBarScrim.draw(canvas);
}
}
}
/* access modifiers changed from: protected */
public boolean drawChild(Canvas canvas, View view, long j) {
boolean z;
if (this.contentScrim == null || this.scrimAlpha <= 0 || !isToolbarChild(view)) {
z = false;
} else {
this.contentScrim.mutate().setAlpha(this.scrimAlpha);
this.contentScrim.draw(canvas);
z = true;
}
if (super.drawChild(canvas, view, j) || z) {
return true;
}
return false;
}
/* access modifiers changed from: protected */
public void onSizeChanged(int i, int i2, int i3, int i4) {
super.onSizeChanged(i, i2, i3, i4);
Drawable drawable = this.contentScrim;
if (drawable != null) {
drawable.setBounds(0, 0, i, i2);
}
}
/* JADX WARNING: type inference failed for: r4v0, types: [android.view.View] */
/* JADX WARNING: Multi-variable type inference failed */
/* JADX WARNING: Unknown variable types count: 1 */
/* Code decompiled incorrectly, please refer to instructions dump. */
private void ensureToolbar() {
/*
r6 = this;
boolean r0 = r6.refreshToolbar
if (r0 != 0) goto L_0x0005
return
L_0x0005:
r0 = 0
r6.toolbar = r0
r6.toolbarDirectChild = r0
int r1 = r6.toolbarId
r2 = -1
if (r1 == r2) goto L_0x001f
android.view.View r1 = r6.findViewById(r1)
androidx.appcompat.widget.Toolbar r1 = (androidx.appcompat.widget.Toolbar) r1
r6.toolbar = r1
if (r1 == 0) goto L_0x001f
android.view.View r1 = r6.findDirectChild(r1)
r6.toolbarDirectChild = r1
L_0x001f:
androidx.appcompat.widget.Toolbar r1 = r6.toolbar
r2 = 0
if (r1 != 0) goto L_0x003c
int r1 = r6.getChildCount()
r3 = 0
L_0x0029:
if (r3 >= r1) goto L_0x003a
android.view.View r4 = r6.getChildAt(r3)
boolean r5 = r4 instanceof androidx.appcompat.widget.Toolbar
if (r5 == 0) goto L_0x0037
r0 = r4
androidx.appcompat.widget.Toolbar r0 = (androidx.appcompat.widget.Toolbar) r0
goto L_0x003a
L_0x0037:
int r3 = r3 + 1
goto L_0x0029
L_0x003a:
r6.toolbar = r0
L_0x003c:
r6.updateDummyView()
r6.refreshToolbar = r2
return
*/
throw new UnsupportedOperationException("Method not decompiled: com.google.android.material.appbar.CollapsingToolbarLayout.ensureToolbar():void");
}
private boolean isToolbarChild(View view) {
View view2 = this.toolbarDirectChild;
if (view2 == null || view2 == this) {
if (view == this.toolbar) {
return true;
}
} else if (view == view2) {
return true;
}
return false;
}
private View findDirectChild(View view) {
ViewParent parent = view.getParent();
while (parent != this && parent != null) {
if (parent instanceof View) {
view = (View) parent;
}
parent = parent.getParent();
}
return view;
}
private void updateDummyView() {
View view;
if (!this.collapsingTitleEnabled && (view = this.dummyView) != null) {
ViewParent parent = view.getParent();
if (parent instanceof ViewGroup) {
((ViewGroup) parent).removeView(this.dummyView);
}
}
if (this.collapsingTitleEnabled && this.toolbar != null) {
if (this.dummyView == null) {
this.dummyView = new View(getContext());
}
if (this.dummyView.getParent() == null) {
this.toolbar.addView(this.dummyView, -1, -1);
}
}
}
/* access modifiers changed from: protected */
public void onMeasure(int i, int i2) {
ensureToolbar();
super.onMeasure(i, i2);
int mode = View.MeasureSpec.getMode(i2);
WindowInsetsCompat windowInsetsCompat = this.lastInsets;
int systemWindowInsetTop = windowInsetsCompat != null ? windowInsetsCompat.getSystemWindowInsetTop() : 0;
if (mode == 0 && systemWindowInsetTop > 0) {
super.onMeasure(i, View.MeasureSpec.makeMeasureSpec(getMeasuredHeight() + systemWindowInsetTop, 1073741824));
}
}
/* access modifiers changed from: protected */
public void onLayout(boolean z, int i, int i2, int i3, int i4) {
View view;
super.onLayout(z, i, i2, i3, i4);
WindowInsetsCompat windowInsetsCompat = this.lastInsets;
if (windowInsetsCompat != null) {
int systemWindowInsetTop = windowInsetsCompat.getSystemWindowInsetTop();
int childCount = getChildCount();
for (int i5 = 0; i5 < childCount; i5++) {
View childAt = getChildAt(i5);
if (!ViewCompat.getFitsSystemWindows(childAt) && childAt.getTop() < systemWindowInsetTop) {
ViewCompat.offsetTopAndBottom(childAt, systemWindowInsetTop);
}
}
}
int childCount2 = getChildCount();
for (int i6 = 0; i6 < childCount2; i6++) {
getViewOffsetHelper(getChildAt(i6)).onViewLayout();
}
if (this.collapsingTitleEnabled && (view = this.dummyView) != null) {
boolean z2 = true;
boolean z3 = ViewCompat.isAttachedToWindow(view) && this.dummyView.getVisibility() == 0;
this.drawCollapsingTitle = z3;
if (z3) {
if (ViewCompat.getLayoutDirection(this) != 1) {
z2 = false;
}
View view2 = this.toolbarDirectChild;
if (view2 == null) {
view2 = this.toolbar;
}
int maxOffsetForPinChild = getMaxOffsetForPinChild(view2);
DescendantOffsetUtils.getDescendantRect(this, this.dummyView, this.tmpRect);
this.collapsingTextHelper.setCollapsedBounds(this.tmpRect.left + (z2 ? this.toolbar.getTitleMarginEnd() : this.toolbar.getTitleMarginStart()), this.tmpRect.top + maxOffsetForPinChild + this.toolbar.getTitleMarginTop(), this.tmpRect.right + (z2 ? this.toolbar.getTitleMarginStart() : this.toolbar.getTitleMarginEnd()), (this.tmpRect.bottom + maxOffsetForPinChild) - this.toolbar.getTitleMarginBottom());
this.collapsingTextHelper.setExpandedBounds(z2 ? this.expandedMarginEnd : this.expandedMarginStart, this.tmpRect.top + this.expandedMarginTop, (i3 - i) - (z2 ? this.expandedMarginStart : this.expandedMarginEnd), (i4 - i2) - this.expandedMarginBottom);
this.collapsingTextHelper.recalculate();
}
}
if (this.toolbar != null) {
if (this.collapsingTitleEnabled && TextUtils.isEmpty(this.collapsingTextHelper.getText())) {
setTitle(this.toolbar.getTitle());
}
View view3 = this.toolbarDirectChild;
if (view3 == null || view3 == this) {
setMinimumHeight(getHeightWithMargins(this.toolbar));
} else {
setMinimumHeight(getHeightWithMargins(view3));
}
}
updateScrimVisibility();
int childCount3 = getChildCount();
for (int i7 = 0; i7 < childCount3; i7++) {
getViewOffsetHelper(getChildAt(i7)).applyOffsets();
}
}
private static int getHeightWithMargins(View view) {
ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
if (!(layoutParams instanceof ViewGroup.MarginLayoutParams)) {
return view.getHeight();
}
ViewGroup.MarginLayoutParams marginLayoutParams = (ViewGroup.MarginLayoutParams) layoutParams;
return view.getHeight() + marginLayoutParams.topMargin + marginLayoutParams.bottomMargin;
}
static ViewOffsetHelper getViewOffsetHelper(View view) {
ViewOffsetHelper viewOffsetHelper = (ViewOffsetHelper) view.getTag(R.id.view_offset_helper);
if (viewOffsetHelper != null) {
return viewOffsetHelper;
}
ViewOffsetHelper viewOffsetHelper2 = new ViewOffsetHelper(view);
view.setTag(R.id.view_offset_helper, viewOffsetHelper2);
return viewOffsetHelper2;
}
public void setTitle(CharSequence charSequence) {
this.collapsingTextHelper.setText(charSequence);
updateContentDescriptionFromTitle();
}
public CharSequence getTitle() {
if (this.collapsingTitleEnabled) {
return this.collapsingTextHelper.getText();
}
return null;
}
public void setTitleEnabled(boolean z) {
if (z != this.collapsingTitleEnabled) {
this.collapsingTitleEnabled = z;
updateContentDescriptionFromTitle();
updateDummyView();
requestLayout();
}
}
public boolean isTitleEnabled() {
return this.collapsingTitleEnabled;
}
public void setScrimsShown(boolean z) {
setScrimsShown(z, ViewCompat.isLaidOut(this) && !isInEditMode());
}
public void setScrimsShown(boolean z, boolean z2) {
if (this.scrimsAreShown != z) {
int i = 255;
if (z2) {
if (!z) {
i = 0;
}
animateScrim(i);
} else {
if (!z) {
i = 0;
}
setScrimAlpha(i);
}
this.scrimsAreShown = z;
}
}
private void animateScrim(int i) {
ensureToolbar();
ValueAnimator valueAnimator = this.scrimAnimator;
if (valueAnimator == null) {
ValueAnimator valueAnimator2 = new ValueAnimator();
this.scrimAnimator = valueAnimator2;
valueAnimator2.setDuration(this.scrimAnimationDuration);
this.scrimAnimator.setInterpolator(i > this.scrimAlpha ? AnimationUtils.FAST_OUT_LINEAR_IN_INTERPOLATOR : AnimationUtils.LINEAR_OUT_SLOW_IN_INTERPOLATOR);
this.scrimAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator valueAnimator) {
CollapsingToolbarLayout.this.setScrimAlpha(((Integer) valueAnimator.getAnimatedValue()).intValue());
}
});
} else if (valueAnimator.isRunning()) {
this.scrimAnimator.cancel();
}
this.scrimAnimator.setIntValues(new int[]{this.scrimAlpha, i});
this.scrimAnimator.start();
}
/* access modifiers changed from: package-private */
public void setScrimAlpha(int i) {
Toolbar toolbar2;
if (i != this.scrimAlpha) {
if (!(this.contentScrim == null || (toolbar2 = this.toolbar) == null)) {
ViewCompat.postInvalidateOnAnimation(toolbar2);
}
this.scrimAlpha = i;
ViewCompat.postInvalidateOnAnimation(this);
}
}
/* access modifiers changed from: package-private */
public int getScrimAlpha() {
return this.scrimAlpha;
}
public void setContentScrim(Drawable drawable) {
Drawable drawable2 = this.contentScrim;
if (drawable2 != drawable) {
Drawable drawable3 = null;
if (drawable2 != null) {
drawable2.setCallback((Drawable.Callback) null);
}
if (drawable != null) {
drawable3 = drawable.mutate();
}
this.contentScrim = drawable3;
if (drawable3 != null) {
drawable3.setBounds(0, 0, getWidth(), getHeight());
this.contentScrim.setCallback(this);
this.contentScrim.setAlpha(this.scrimAlpha);
}
ViewCompat.postInvalidateOnAnimation(this);
}
}
public void setContentScrimColor(int i) {
setContentScrim(new ColorDrawable(i));
}
public void setContentScrimResource(int i) {
setContentScrim(ContextCompat.getDrawable(getContext(), i));
}
public Drawable getContentScrim() {
return this.contentScrim;
}
public void setStatusBarScrim(Drawable drawable) {
Drawable drawable2 = this.statusBarScrim;
if (drawable2 != drawable) {
Drawable drawable3 = null;
if (drawable2 != null) {
drawable2.setCallback((Drawable.Callback) null);
}
if (drawable != null) {
drawable3 = drawable.mutate();
}
this.statusBarScrim = drawable3;
if (drawable3 != null) {
if (drawable3.isStateful()) {
this.statusBarScrim.setState(getDrawableState());
}
DrawableCompat.setLayoutDirection(this.statusBarScrim, ViewCompat.getLayoutDirection(this));
this.statusBarScrim.setVisible(getVisibility() == 0, false);
this.statusBarScrim.setCallback(this);
this.statusBarScrim.setAlpha(this.scrimAlpha);
}
ViewCompat.postInvalidateOnAnimation(this);
}
}
/* access modifiers changed from: protected */
public void drawableStateChanged() {
super.drawableStateChanged();
int[] drawableState = getDrawableState();
Drawable drawable = this.statusBarScrim;
boolean z = false;
if (drawable != null && drawable.isStateful()) {
z = false | drawable.setState(drawableState);
}
Drawable drawable2 = this.contentScrim;
if (drawable2 != null && drawable2.isStateful()) {
z |= drawable2.setState(drawableState);
}
CollapsingTextHelper collapsingTextHelper2 = this.collapsingTextHelper;
if (collapsingTextHelper2 != null) {
z |= collapsingTextHelper2.setState(drawableState);
}
if (z) {
invalidate();
}
}
/* access modifiers changed from: protected */
public boolean verifyDrawable(Drawable drawable) {
return super.verifyDrawable(drawable) || drawable == this.contentScrim || drawable == this.statusBarScrim;
}
public void setVisibility(int i) {
super.setVisibility(i);
boolean z = i == 0;
Drawable drawable = this.statusBarScrim;
if (!(drawable == null || drawable.isVisible() == z)) {
this.statusBarScrim.setVisible(z, false);
}
Drawable drawable2 = this.contentScrim;
if (drawable2 != null && drawable2.isVisible() != z) {
this.contentScrim.setVisible(z, false);
}
}
public void setStatusBarScrimColor(int i) {
setStatusBarScrim(new ColorDrawable(i));
}
public void setStatusBarScrimResource(int i) {
setStatusBarScrim(ContextCompat.getDrawable(getContext(), i));
}
public Drawable getStatusBarScrim() {
return this.statusBarScrim;
}
public void setCollapsedTitleTextAppearance(int i) {
this.collapsingTextHelper.setCollapsedTextAppearance(i);
}
public void setCollapsedTitleTextColor(int i) {
setCollapsedTitleTextColor(ColorStateList.valueOf(i));
}
public void setCollapsedTitleTextColor(ColorStateList colorStateList) {
this.collapsingTextHelper.setCollapsedTextColor(colorStateList);
}
public void setCollapsedTitleGravity(int i) {
this.collapsingTextHelper.setCollapsedTextGravity(i);
}
public int getCollapsedTitleGravity() {
return this.collapsingTextHelper.getCollapsedTextGravity();
}
public void setExpandedTitleTextAppearance(int i) {
this.collapsingTextHelper.setExpandedTextAppearance(i);
}
public void setExpandedTitleColor(int i) {
setExpandedTitleTextColor(ColorStateList.valueOf(i));
}
public void setExpandedTitleTextColor(ColorStateList colorStateList) {
this.collapsingTextHelper.setExpandedTextColor(colorStateList);
}
public void setExpandedTitleGravity(int i) {
this.collapsingTextHelper.setExpandedTextGravity(i);
}
public int getExpandedTitleGravity() {
return this.collapsingTextHelper.getExpandedTextGravity();
}
public void setCollapsedTitleTypeface(Typeface typeface) {
this.collapsingTextHelper.setCollapsedTypeface(typeface);
}
public Typeface getCollapsedTitleTypeface() {
return this.collapsingTextHelper.getCollapsedTypeface();
}
public void setExpandedTitleTypeface(Typeface typeface) {
this.collapsingTextHelper.setExpandedTypeface(typeface);
}
public Typeface getExpandedTitleTypeface() {
return this.collapsingTextHelper.getExpandedTypeface();
}
public void setExpandedTitleMargin(int i, int i2, int i3, int i4) {
this.expandedMarginStart = i;
this.expandedMarginTop = i2;
this.expandedMarginEnd = i3;
this.expandedMarginBottom = i4;
requestLayout();
}
public int getExpandedTitleMarginStart() {
return this.expandedMarginStart;
}
public void setExpandedTitleMarginStart(int i) {
this.expandedMarginStart = i;
requestLayout();
}
public int getExpandedTitleMarginTop() {
return this.expandedMarginTop;
}
public void setExpandedTitleMarginTop(int i) {
this.expandedMarginTop = i;
requestLayout();
}
public int getExpandedTitleMarginEnd() {
return this.expandedMarginEnd;
}
public void setExpandedTitleMarginEnd(int i) {
this.expandedMarginEnd = i;
requestLayout();
}
public int getExpandedTitleMarginBottom() {
return this.expandedMarginBottom;
}
public void setExpandedTitleMarginBottom(int i) {
this.expandedMarginBottom = i;
requestLayout();
}
public void setScrimVisibleHeightTrigger(int i) {
if (this.scrimVisibleHeightTrigger != i) {
this.scrimVisibleHeightTrigger = i;
updateScrimVisibility();
}
}
public int getScrimVisibleHeightTrigger() {
int i = this.scrimVisibleHeightTrigger;
if (i >= 0) {
return i;
}
WindowInsetsCompat windowInsetsCompat = this.lastInsets;
int systemWindowInsetTop = windowInsetsCompat != null ? windowInsetsCompat.getSystemWindowInsetTop() : 0;
int minimumHeight = ViewCompat.getMinimumHeight(this);
if (minimumHeight > 0) {
return Math.min((minimumHeight * 2) + systemWindowInsetTop, getHeight());
}
return getHeight() / 3;
}
public void setScrimAnimationDuration(long j) {
this.scrimAnimationDuration = j;
}
public long getScrimAnimationDuration() {
return this.scrimAnimationDuration;
}
/* access modifiers changed from: protected */
public boolean checkLayoutParams(ViewGroup.LayoutParams layoutParams) {
return layoutParams instanceof LayoutParams;
}
/* access modifiers changed from: protected */
public LayoutParams generateDefaultLayoutParams() {
return new LayoutParams(-1, -1);
}
public FrameLayout.LayoutParams generateLayoutParams(AttributeSet attributeSet) {
return new LayoutParams(getContext(), attributeSet);
}
/* access modifiers changed from: protected */
public FrameLayout.LayoutParams generateLayoutParams(ViewGroup.LayoutParams layoutParams) {
return new LayoutParams(layoutParams);
}
public static class LayoutParams extends FrameLayout.LayoutParams {
public static final int COLLAPSE_MODE_OFF = 0;
public static final int COLLAPSE_MODE_PARALLAX = 2;
public static final int COLLAPSE_MODE_PIN = 1;
private static final float DEFAULT_PARALLAX_MULTIPLIER = 0.5f;
int collapseMode = 0;
float parallaxMult = DEFAULT_PARALLAX_MULTIPLIER;
public LayoutParams(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R.styleable.CollapsingToolbarLayout_Layout);
this.collapseMode = obtainStyledAttributes.getInt(R.styleable.CollapsingToolbarLayout_Layout_layout_collapseMode, 0);
setParallaxMultiplier(obtainStyledAttributes.getFloat(R.styleable.CollapsingToolbarLayout_Layout_layout_collapseParallaxMultiplier, DEFAULT_PARALLAX_MULTIPLIER));
obtainStyledAttributes.recycle();
}
public LayoutParams(int i, int i2) {
super(i, i2);
}
public LayoutParams(int i, int i2, int i3) {
super(i, i2, i3);
}
public LayoutParams(ViewGroup.LayoutParams layoutParams) {
super(layoutParams);
}
public LayoutParams(ViewGroup.MarginLayoutParams marginLayoutParams) {
super(marginLayoutParams);
}
public LayoutParams(FrameLayout.LayoutParams layoutParams) {
super(layoutParams);
}
public void setCollapseMode(int i) {
this.collapseMode = i;
}
public int getCollapseMode() {
return this.collapseMode;
}
public void setParallaxMultiplier(float f) {
this.parallaxMult = f;
}
public float getParallaxMultiplier() {
return this.parallaxMult;
}
}
/* access modifiers changed from: package-private */
public final void updateScrimVisibility() {
if (this.contentScrim != null || this.statusBarScrim != null) {
setScrimsShown(getHeight() + this.currentOffset < getScrimVisibleHeightTrigger());
}
}
/* access modifiers changed from: package-private */
public final int getMaxOffsetForPinChild(View view) {
return ((getHeight() - getViewOffsetHelper(view).getLayoutTop()) - view.getHeight()) - ((LayoutParams) view.getLayoutParams()).bottomMargin;
}
private void updateContentDescriptionFromTitle() {
setContentDescription(getTitle());
}
private class OffsetUpdateListener implements AppBarLayout.OnOffsetChangedListener {
OffsetUpdateListener() {
}
public void onOffsetChanged(AppBarLayout appBarLayout, int i) {
CollapsingToolbarLayout.this.currentOffset = i;
int systemWindowInsetTop = CollapsingToolbarLayout.this.lastInsets != null ? CollapsingToolbarLayout.this.lastInsets.getSystemWindowInsetTop() : 0;
int childCount = CollapsingToolbarLayout.this.getChildCount();
for (int i2 = 0; i2 < childCount; i2++) {
View childAt = CollapsingToolbarLayout.this.getChildAt(i2);
LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams();
ViewOffsetHelper viewOffsetHelper = CollapsingToolbarLayout.getViewOffsetHelper(childAt);
int i3 = layoutParams.collapseMode;
if (i3 == 1) {
viewOffsetHelper.setTopAndBottomOffset(MathUtils.clamp(-i, 0, CollapsingToolbarLayout.this.getMaxOffsetForPinChild(childAt)));
} else if (i3 == 2) {
viewOffsetHelper.setTopAndBottomOffset(Math.round(((float) (-i)) * layoutParams.parallaxMult));
}
}
CollapsingToolbarLayout.this.updateScrimVisibility();
if (CollapsingToolbarLayout.this.statusBarScrim != null && systemWindowInsetTop > 0) {
ViewCompat.postInvalidateOnAnimation(CollapsingToolbarLayout.this);
}
CollapsingToolbarLayout.this.collapsingTextHelper.setExpansionFraction(((float) Math.abs(i)) / ((float) ((CollapsingToolbarLayout.this.getHeight() - ViewCompat.getMinimumHeight(CollapsingToolbarLayout.this)) - systemWindowInsetTop)));
}
}
}
Download file