package androidx.transition; import android.animation.Animator; import android.animation.ObjectAnimator; import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; public class ChangeScroll extends Transition { private static final String[] PROPERTIES = {"android:changeScroll:x", "android:changeScroll:y"}; private static final String PROPNAME_SCROLL_X = "android:changeScroll:x"; private static final String PROPNAME_SCROLL_Y = "android:changeScroll:y"; public ChangeScroll() { } public ChangeScroll(Context context, AttributeSet attributeSet) { super(context, attributeSet); } private void captureValues(TransitionValues transitionValues) { transitionValues.values.put("android:changeScroll:x", Integer.valueOf(transitionValues.view.getScrollX())); transitionValues.values.put("android:changeScroll:y", Integer.valueOf(transitionValues.view.getScrollY())); } @Override // androidx.transition.Transition public void captureEndValues(@NonNull TransitionValues transitionValues) { captureValues(transitionValues); } @Override // androidx.transition.Transition public void captureStartValues(@NonNull TransitionValues transitionValues) { captureValues(transitionValues); } @Override // androidx.transition.Transition @Nullable public Animator createAnimator(@NonNull ViewGroup viewGroup, @Nullable TransitionValues transitionValues, @Nullable TransitionValues transitionValues2) { ObjectAnimator objectAnimator; ObjectAnimator objectAnimator2 = null; if (transitionValues == null || transitionValues2 == null) { return null; } View view = transitionValues2.view; int intValue = ((Integer) transitionValues.values.get("android:changeScroll:x")).intValue(); int intValue2 = ((Integer) transitionValues2.values.get("android:changeScroll:x")).intValue(); int intValue3 = ((Integer) transitionValues.values.get("android:changeScroll:y")).intValue(); int intValue4 = ((Integer) transitionValues2.values.get("android:changeScroll:y")).intValue(); if (intValue != intValue2) { view.setScrollX(intValue); objectAnimator = ObjectAnimator.ofInt(view, "scrollX", intValue, intValue2); } else { objectAnimator = null; } if (intValue3 != intValue4) { view.setScrollY(intValue3); objectAnimator2 = ObjectAnimator.ofInt(view, "scrollY", intValue3, intValue4); } return TransitionUtils.mergeAnimators(objectAnimator, objectAnimator2); } @Override // androidx.transition.Transition @Nullable public String[] getTransitionProperties() { return PROPERTIES; } }