package androidx.constraintlayout.motion.widget; import android.content.Context; import android.content.res.TypedArray; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import androidx.constraintlayout.motion.widget.MotionLayout; import androidx.constraintlayout.widget.ConstraintHelper; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.R; public class MotionHelper extends ConstraintHelper implements Animatable, MotionLayout.TransitionListener { private float mProgress; private boolean mUseOnHide = false; private boolean mUseOnShow = false; public View[] views; public MotionHelper(Context context) { super(context); } public MotionHelper(Context context, AttributeSet attributeSet) { super(context, attributeSet); init(attributeSet); } public MotionHelper(Context context, AttributeSet attributeSet, int i) { super(context, attributeSet, i); init(attributeSet); } @Override // androidx.constraintlayout.motion.widget.Animatable public float getProgress() { return this.mProgress; } @Override // androidx.constraintlayout.widget.ConstraintHelper public void init(AttributeSet attributeSet) { super.init(attributeSet); if (attributeSet != null) { TypedArray obtainStyledAttributes = getContext().obtainStyledAttributes(attributeSet, R.styleable.MotionHelper); int indexCount = obtainStyledAttributes.getIndexCount(); for (int i = 0; i < indexCount; i++) { int index = obtainStyledAttributes.getIndex(i); if (index == R.styleable.MotionHelper_onShow) { this.mUseOnShow = obtainStyledAttributes.getBoolean(index, this.mUseOnShow); } else if (index == R.styleable.MotionHelper_onHide) { this.mUseOnHide = obtainStyledAttributes.getBoolean(index, this.mUseOnHide); } } obtainStyledAttributes.recycle(); } } public boolean isUseOnHide() { return this.mUseOnHide; } public boolean isUsedOnShow() { return this.mUseOnShow; } @Override // androidx.constraintlayout.motion.widget.MotionLayout.TransitionListener public void onTransitionChange(MotionLayout motionLayout, int i, int i2, float f) { } @Override // androidx.constraintlayout.motion.widget.MotionLayout.TransitionListener public void onTransitionCompleted(MotionLayout motionLayout, int i) { } @Override // androidx.constraintlayout.motion.widget.MotionLayout.TransitionListener public void onTransitionStarted(MotionLayout motionLayout, int i, int i2) { } @Override // androidx.constraintlayout.motion.widget.MotionLayout.TransitionListener public void onTransitionTrigger(MotionLayout motionLayout, int i, boolean z2, float f) { } @Override // androidx.constraintlayout.motion.widget.Animatable public void setProgress(float f) { this.mProgress = f; int i = 0; if (this.mCount > 0) { this.views = getViews((ConstraintLayout) getParent()); while (i < this.mCount) { setProgress(this.views[i], f); i++; } return; } ViewGroup viewGroup = (ViewGroup) getParent(); int childCount = viewGroup.getChildCount(); while (i < childCount) { View childAt = viewGroup.getChildAt(i); if (!(childAt instanceof MotionHelper)) { setProgress(childAt, f); } i++; } } public void setProgress(View view, float f) { } }