Rabbit-R1/android (non root)/java/sources/com/google/android/material/floatingactionbutton/BaseMotionStrategy.java
2024-05-21 17:08:36 -04:00

137 lines
6.8 KiB
Java

package com.google.android.material.floatingactionbutton;
import android.animation.Animator;
import android.animation.AnimatorSet;
import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.util.Property;
import android.view.View;
import androidx.core.util.Preconditions;
import com.google.android.material.animation.AnimationUtils;
import com.google.android.material.animation.AnimatorSetCompat;
import com.google.android.material.animation.MotionSpec;
import io.sentry.protocol.ViewHierarchyNode;
import java.util.ArrayList;
import java.util.List;
/* JADX INFO: Access modifiers changed from: package-private */
/* loaded from: classes2.dex */
public abstract class BaseMotionStrategy implements MotionStrategy {
private final Context context;
private MotionSpec defaultMotionSpec;
private final ExtendedFloatingActionButton fab;
private final ArrayList<Animator.AnimatorListener> listeners = new ArrayList<>();
private MotionSpec motionSpec;
private final AnimatorTracker tracker;
@Override // com.google.android.material.floatingactionbutton.MotionStrategy
public final List<Animator.AnimatorListener> getListeners() {
return this.listeners;
}
@Override // com.google.android.material.floatingactionbutton.MotionStrategy
public MotionSpec getMotionSpec() {
return this.motionSpec;
}
@Override // com.google.android.material.floatingactionbutton.MotionStrategy
public final void setMotionSpec(MotionSpec motionSpec) {
this.motionSpec = motionSpec;
}
/* JADX INFO: Access modifiers changed from: package-private */
public BaseMotionStrategy(ExtendedFloatingActionButton extendedFloatingActionButton, AnimatorTracker animatorTracker) {
this.fab = extendedFloatingActionButton;
this.context = extendedFloatingActionButton.getContext();
this.tracker = animatorTracker;
}
@Override // com.google.android.material.floatingactionbutton.MotionStrategy
public final MotionSpec getCurrentMotionSpec() {
MotionSpec motionSpec = this.motionSpec;
if (motionSpec != null) {
return motionSpec;
}
if (this.defaultMotionSpec == null) {
this.defaultMotionSpec = MotionSpec.createFromResource(this.context, getDefaultMotionSpecResource());
}
return (MotionSpec) Preconditions.checkNotNull(this.defaultMotionSpec);
}
@Override // com.google.android.material.floatingactionbutton.MotionStrategy
public final void addAnimationListener(Animator.AnimatorListener animatorListener) {
this.listeners.add(animatorListener);
}
@Override // com.google.android.material.floatingactionbutton.MotionStrategy
public final void removeAnimationListener(Animator.AnimatorListener animatorListener) {
this.listeners.remove(animatorListener);
}
@Override // com.google.android.material.floatingactionbutton.MotionStrategy
public void onAnimationStart(Animator animator) {
this.tracker.onNextAnimationStart(animator);
}
@Override // com.google.android.material.floatingactionbutton.MotionStrategy
public void onAnimationEnd() {
this.tracker.clear();
}
@Override // com.google.android.material.floatingactionbutton.MotionStrategy
public void onAnimationCancel() {
this.tracker.clear();
}
@Override // com.google.android.material.floatingactionbutton.MotionStrategy
public AnimatorSet createAnimator() {
return createAnimator(getCurrentMotionSpec());
}
/* JADX INFO: Access modifiers changed from: package-private */
public AnimatorSet createAnimator(MotionSpec motionSpec) {
ArrayList arrayList = new ArrayList();
if (motionSpec.hasPropertyValues("opacity")) {
arrayList.add(motionSpec.getAnimator("opacity", this.fab, View.ALPHA));
}
if (motionSpec.hasPropertyValues("scale")) {
arrayList.add(motionSpec.getAnimator("scale", this.fab, View.SCALE_Y));
arrayList.add(motionSpec.getAnimator("scale", this.fab, View.SCALE_X));
}
if (motionSpec.hasPropertyValues(ViewHierarchyNode.JsonKeys.WIDTH)) {
arrayList.add(motionSpec.getAnimator(ViewHierarchyNode.JsonKeys.WIDTH, this.fab, ExtendedFloatingActionButton.WIDTH));
}
if (motionSpec.hasPropertyValues(ViewHierarchyNode.JsonKeys.HEIGHT)) {
arrayList.add(motionSpec.getAnimator(ViewHierarchyNode.JsonKeys.HEIGHT, this.fab, ExtendedFloatingActionButton.HEIGHT));
}
if (motionSpec.hasPropertyValues("paddingStart")) {
arrayList.add(motionSpec.getAnimator("paddingStart", this.fab, ExtendedFloatingActionButton.PADDING_START));
}
if (motionSpec.hasPropertyValues("paddingEnd")) {
arrayList.add(motionSpec.getAnimator("paddingEnd", this.fab, ExtendedFloatingActionButton.PADDING_END));
}
if (motionSpec.hasPropertyValues("labelOpacity")) {
arrayList.add(motionSpec.getAnimator("labelOpacity", this.fab, new Property<ExtendedFloatingActionButton, Float>(Float.class, "LABEL_OPACITY_PROPERTY") { // from class: com.google.android.material.floatingactionbutton.BaseMotionStrategy.1
@Override // android.util.Property
public Float get(ExtendedFloatingActionButton extendedFloatingActionButton) {
return Float.valueOf(AnimationUtils.lerp(0.0f, 1.0f, (Color.alpha(extendedFloatingActionButton.getCurrentTextColor()) / 255.0f) / Color.alpha(extendedFloatingActionButton.originalTextCsl.getColorForState(extendedFloatingActionButton.getDrawableState(), BaseMotionStrategy.this.fab.originalTextCsl.getDefaultColor()))));
}
@Override // android.util.Property
public void set(ExtendedFloatingActionButton extendedFloatingActionButton, Float f) {
int colorForState = extendedFloatingActionButton.originalTextCsl.getColorForState(extendedFloatingActionButton.getDrawableState(), BaseMotionStrategy.this.fab.originalTextCsl.getDefaultColor());
ColorStateList valueOf = ColorStateList.valueOf(Color.argb((int) (AnimationUtils.lerp(0.0f, Color.alpha(colorForState) / 255.0f, f.floatValue()) * 255.0f), Color.red(colorForState), Color.green(colorForState), Color.blue(colorForState)));
if (f.floatValue() == 1.0f) {
extendedFloatingActionButton.silentlyUpdateTextColor(extendedFloatingActionButton.originalTextCsl);
} else {
extendedFloatingActionButton.silentlyUpdateTextColor(valueOf);
}
}
}));
}
AnimatorSet animatorSet = new AnimatorSet();
AnimatorSetCompat.playTogether(animatorSet, arrayList);
return animatorSet;
}
}