106 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package com.google.android.material.animation;
 | |
| 
 | |
| import android.animation.Animator;
 | |
| import android.animation.TimeInterpolator;
 | |
| import android.animation.ValueAnimator;
 | |
| import android.view.animation.AccelerateDecelerateInterpolator;
 | |
| import android.view.animation.AccelerateInterpolator;
 | |
| import android.view.animation.DecelerateInterpolator;
 | |
| 
 | |
| /* loaded from: classes.dex */
 | |
| public class MotionTiming {
 | |
|     private long delay;
 | |
|     private long duration;
 | |
|     private TimeInterpolator interpolator;
 | |
|     private int repeatCount;
 | |
|     private int repeatMode;
 | |
| 
 | |
|     public long getDelay() {
 | |
|         return this.delay;
 | |
|     }
 | |
| 
 | |
|     public long getDuration() {
 | |
|         return this.duration;
 | |
|     }
 | |
| 
 | |
|     public int getRepeatCount() {
 | |
|         return this.repeatCount;
 | |
|     }
 | |
| 
 | |
|     public int getRepeatMode() {
 | |
|         return this.repeatMode;
 | |
|     }
 | |
| 
 | |
|     public MotionTiming(long j, long j2) {
 | |
|         this.interpolator = null;
 | |
|         this.repeatCount = 0;
 | |
|         this.repeatMode = 1;
 | |
|         this.delay = j;
 | |
|         this.duration = j2;
 | |
|     }
 | |
| 
 | |
|     public MotionTiming(long j, long j2, TimeInterpolator timeInterpolator) {
 | |
|         this.repeatCount = 0;
 | |
|         this.repeatMode = 1;
 | |
|         this.delay = j;
 | |
|         this.duration = j2;
 | |
|         this.interpolator = timeInterpolator;
 | |
|     }
 | |
| 
 | |
|     public void apply(Animator animator) {
 | |
|         animator.setStartDelay(getDelay());
 | |
|         animator.setDuration(getDuration());
 | |
|         animator.setInterpolator(getInterpolator());
 | |
|         if (animator instanceof ValueAnimator) {
 | |
|             ValueAnimator valueAnimator = (ValueAnimator) animator;
 | |
|             valueAnimator.setRepeatCount(getRepeatCount());
 | |
|             valueAnimator.setRepeatMode(getRepeatMode());
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public TimeInterpolator getInterpolator() {
 | |
|         TimeInterpolator timeInterpolator = this.interpolator;
 | |
|         return timeInterpolator != null ? timeInterpolator : AnimationUtils.FAST_OUT_SLOW_IN_INTERPOLATOR;
 | |
|     }
 | |
| 
 | |
|     static MotionTiming createFromAnimator(ValueAnimator valueAnimator) {
 | |
|         MotionTiming motionTiming = new MotionTiming(valueAnimator.getStartDelay(), valueAnimator.getDuration(), getInterpolatorCompat(valueAnimator));
 | |
|         motionTiming.repeatCount = valueAnimator.getRepeatCount();
 | |
|         motionTiming.repeatMode = valueAnimator.getRepeatMode();
 | |
|         return motionTiming;
 | |
|     }
 | |
| 
 | |
|     private static TimeInterpolator getInterpolatorCompat(ValueAnimator valueAnimator) {
 | |
|         TimeInterpolator interpolator = valueAnimator.getInterpolator();
 | |
|         if ((interpolator instanceof AccelerateDecelerateInterpolator) || interpolator == null) {
 | |
|             return AnimationUtils.FAST_OUT_SLOW_IN_INTERPOLATOR;
 | |
|         }
 | |
|         if (interpolator instanceof AccelerateInterpolator) {
 | |
|             return AnimationUtils.FAST_OUT_LINEAR_IN_INTERPOLATOR;
 | |
|         }
 | |
|         return interpolator instanceof DecelerateInterpolator ? AnimationUtils.LINEAR_OUT_SLOW_IN_INTERPOLATOR : interpolator;
 | |
|     }
 | |
| 
 | |
|     public boolean equals(Object obj) {
 | |
|         if (this == obj) {
 | |
|             return true;
 | |
|         }
 | |
|         if (!(obj instanceof MotionTiming)) {
 | |
|             return false;
 | |
|         }
 | |
|         MotionTiming motionTiming = (MotionTiming) obj;
 | |
|         if (getDelay() == motionTiming.getDelay() && getDuration() == motionTiming.getDuration() && getRepeatCount() == motionTiming.getRepeatCount() && getRepeatMode() == motionTiming.getRepeatMode()) {
 | |
|             return getInterpolator().getClass().equals(motionTiming.getInterpolator().getClass());
 | |
|         }
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     public int hashCode() {
 | |
|         return (((((((((int) (getDelay() ^ (getDelay() >>> 32))) * 31) + ((int) (getDuration() ^ (getDuration() >>> 32)))) * 31) + getInterpolator().getClass().hashCode()) * 31) + getRepeatCount()) * 31) + getRepeatMode();
 | |
|     }
 | |
| 
 | |
|     public String toString() {
 | |
|         return "\n" + getClass().getName() + '{' + Integer.toHexString(System.identityHashCode(this)) + " delay: " + getDelay() + " duration: " + getDuration() + " interpolator: " + getInterpolator().getClass() + " repeatCount: " + getRepeatCount() + " repeatMode: " + getRepeatMode() + "}\n";
 | |
|     }
 | |
| }
 |