mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
174 lines
8.5 KiB
Java
174 lines
8.5 KiB
Java
package com.google.android.material.floatingactionbutton;
|
|
|
|
import android.animation.Animator;
|
|
import android.animation.AnimatorSet;
|
|
import android.animation.ObjectAnimator;
|
|
import android.animation.StateListAnimator;
|
|
import android.content.Context;
|
|
import android.content.res.ColorStateList;
|
|
import android.graphics.PorterDuff;
|
|
import android.graphics.Rect;
|
|
import android.graphics.drawable.Drawable;
|
|
import android.graphics.drawable.LayerDrawable;
|
|
import android.graphics.drawable.RippleDrawable;
|
|
import android.util.Property;
|
|
import android.view.View;
|
|
import androidx.core.content.ContextCompat;
|
|
import androidx.core.util.Preconditions;
|
|
import com.google.android.material.R;
|
|
import com.google.android.material.ripple.RippleUtils;
|
|
import com.google.android.material.shadow.ShadowViewDelegate;
|
|
import com.google.android.material.shape.MaterialShapeDrawable;
|
|
import com.google.android.material.shape.ShapeAppearanceModel;
|
|
import java.util.ArrayList;
|
|
|
|
/* loaded from: classes2.dex */
|
|
class FloatingActionButtonImplLollipop extends FloatingActionButtonImpl {
|
|
private StateListAnimator stateListAnimator;
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl
|
|
public void jumpDrawableToCurrentState() {
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl
|
|
public void onDrawableStateChanged(int[] iArr) {
|
|
}
|
|
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl
|
|
boolean requirePreDrawListener() {
|
|
return false;
|
|
}
|
|
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl
|
|
void updateFromViewRotation() {
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public FloatingActionButtonImplLollipop(FloatingActionButton floatingActionButton, ShadowViewDelegate shadowViewDelegate) {
|
|
super(floatingActionButton, shadowViewDelegate);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl
|
|
public void initializeBackgroundDrawable(ColorStateList colorStateList, PorterDuff.Mode mode, ColorStateList colorStateList2, int i) {
|
|
Drawable drawable;
|
|
this.shapeDrawable = createShapeDrawable();
|
|
this.shapeDrawable.setTintList(colorStateList);
|
|
if (mode != null) {
|
|
this.shapeDrawable.setTintMode(mode);
|
|
}
|
|
this.shapeDrawable.initializeElevationOverlay(this.view.getContext());
|
|
if (i > 0) {
|
|
this.borderDrawable = createBorderDrawable(i, colorStateList);
|
|
drawable = new LayerDrawable(new Drawable[]{(Drawable) Preconditions.checkNotNull(this.borderDrawable), (Drawable) Preconditions.checkNotNull(this.shapeDrawable)});
|
|
} else {
|
|
this.borderDrawable = null;
|
|
drawable = this.shapeDrawable;
|
|
}
|
|
this.rippleDrawable = new RippleDrawable(RippleUtils.sanitizeRippleDrawableColor(colorStateList2), drawable, null);
|
|
this.contentBackground = this.rippleDrawable;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl
|
|
public void setRippleColor(ColorStateList colorStateList) {
|
|
if (this.rippleDrawable instanceof RippleDrawable) {
|
|
((RippleDrawable) this.rippleDrawable).setColor(RippleUtils.sanitizeRippleDrawableColor(colorStateList));
|
|
} else {
|
|
super.setRippleColor(colorStateList);
|
|
}
|
|
}
|
|
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl
|
|
void onElevationsChanged(float f, float f2, float f3) {
|
|
if (this.view.getStateListAnimator() == this.stateListAnimator) {
|
|
this.stateListAnimator = createDefaultStateListAnimator(f, f2, f3);
|
|
this.view.setStateListAnimator(this.stateListAnimator);
|
|
}
|
|
if (shouldAddPadding()) {
|
|
updatePadding();
|
|
}
|
|
}
|
|
|
|
private StateListAnimator createDefaultStateListAnimator(float f, float f2, float f3) {
|
|
StateListAnimator stateListAnimator = new StateListAnimator();
|
|
stateListAnimator.addState(PRESSED_ENABLED_STATE_SET, createElevationAnimator(f, f3));
|
|
stateListAnimator.addState(HOVERED_FOCUSED_ENABLED_STATE_SET, createElevationAnimator(f, f2));
|
|
stateListAnimator.addState(FOCUSED_ENABLED_STATE_SET, createElevationAnimator(f, f2));
|
|
stateListAnimator.addState(HOVERED_ENABLED_STATE_SET, createElevationAnimator(f, f2));
|
|
AnimatorSet animatorSet = new AnimatorSet();
|
|
ArrayList arrayList = new ArrayList();
|
|
arrayList.add(ObjectAnimator.ofFloat(this.view, "elevation", f).setDuration(0L));
|
|
arrayList.add(ObjectAnimator.ofFloat(this.view, (Property<FloatingActionButton, Float>) View.TRANSLATION_Z, 0.0f).setDuration(100L));
|
|
animatorSet.playSequentially((Animator[]) arrayList.toArray(new Animator[0]));
|
|
animatorSet.setInterpolator(ELEVATION_ANIM_INTERPOLATOR);
|
|
stateListAnimator.addState(ENABLED_STATE_SET, animatorSet);
|
|
stateListAnimator.addState(EMPTY_STATE_SET, createElevationAnimator(0.0f, 0.0f));
|
|
return stateListAnimator;
|
|
}
|
|
|
|
private Animator createElevationAnimator(float f, float f2) {
|
|
AnimatorSet animatorSet = new AnimatorSet();
|
|
animatorSet.play(ObjectAnimator.ofFloat(this.view, "elevation", f).setDuration(0L)).with(ObjectAnimator.ofFloat(this.view, (Property<FloatingActionButton, Float>) View.TRANSLATION_Z, f2).setDuration(100L));
|
|
animatorSet.setInterpolator(ELEVATION_ANIM_INTERPOLATOR);
|
|
return animatorSet;
|
|
}
|
|
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl
|
|
public float getElevation() {
|
|
return this.view.getElevation();
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl
|
|
public void onCompatShadowChanged() {
|
|
updatePadding();
|
|
}
|
|
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl
|
|
boolean shouldAddPadding() {
|
|
return this.shadowViewDelegate.isCompatPaddingEnabled() || !shouldExpandBoundsForA11y();
|
|
}
|
|
|
|
BorderDrawable createBorderDrawable(int i, ColorStateList colorStateList) {
|
|
Context context = this.view.getContext();
|
|
BorderDrawable borderDrawable = new BorderDrawable((ShapeAppearanceModel) Preconditions.checkNotNull(this.shapeAppearance));
|
|
borderDrawable.setGradientColors(ContextCompat.getColor(context, R.color.design_fab_stroke_top_outer_color), ContextCompat.getColor(context, R.color.design_fab_stroke_top_inner_color), ContextCompat.getColor(context, R.color.design_fab_stroke_end_inner_color), ContextCompat.getColor(context, R.color.design_fab_stroke_end_outer_color));
|
|
borderDrawable.setBorderWidth(i);
|
|
borderDrawable.setBorderTint(colorStateList);
|
|
return borderDrawable;
|
|
}
|
|
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl
|
|
MaterialShapeDrawable createShapeDrawable() {
|
|
return new AlwaysStatefulMaterialShapeDrawable((ShapeAppearanceModel) Preconditions.checkNotNull(this.shapeAppearance));
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
@Override // com.google.android.material.floatingactionbutton.FloatingActionButtonImpl
|
|
public void getPadding(Rect rect) {
|
|
if (this.shadowViewDelegate.isCompatPaddingEnabled()) {
|
|
super.getPadding(rect);
|
|
} else if (!shouldExpandBoundsForA11y()) {
|
|
int sizeDimension = (this.minTouchTargetSize - this.view.getSizeDimension()) / 2;
|
|
rect.set(sizeDimension, sizeDimension, sizeDimension, sizeDimension);
|
|
} else {
|
|
rect.set(0, 0, 0, 0);
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
/* loaded from: classes2.dex */
|
|
public static class AlwaysStatefulMaterialShapeDrawable extends MaterialShapeDrawable {
|
|
@Override // com.google.android.material.shape.MaterialShapeDrawable, android.graphics.drawable.Drawable
|
|
public boolean isStateful() {
|
|
return true;
|
|
}
|
|
|
|
AlwaysStatefulMaterialShapeDrawable(ShapeAppearanceModel shapeAppearanceModel) {
|
|
super(shapeAppearanceModel);
|
|
}
|
|
}
|
|
}
|