mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
153 lines
6.1 KiB
Java
153 lines
6.1 KiB
Java
package androidx.appcompat.widget;
|
|
|
|
import android.content.res.ColorStateList;
|
|
import android.graphics.Canvas;
|
|
import android.graphics.PorterDuff;
|
|
import android.graphics.drawable.Drawable;
|
|
import android.util.AttributeSet;
|
|
import android.widget.SeekBar;
|
|
import androidx.appcompat.R;
|
|
import androidx.core.graphics.drawable.DrawableCompat;
|
|
import androidx.core.view.ViewCompat;
|
|
|
|
/* loaded from: classes.dex */
|
|
class AppCompatSeekBarHelper extends AppCompatProgressBarHelper {
|
|
private boolean mHasTickMarkTint;
|
|
private boolean mHasTickMarkTintMode;
|
|
private Drawable mTickMark;
|
|
private ColorStateList mTickMarkTintList;
|
|
private PorterDuff.Mode mTickMarkTintMode;
|
|
private final SeekBar mView;
|
|
|
|
Drawable getTickMark() {
|
|
return this.mTickMark;
|
|
}
|
|
|
|
ColorStateList getTickMarkTintList() {
|
|
return this.mTickMarkTintList;
|
|
}
|
|
|
|
PorterDuff.Mode getTickMarkTintMode() {
|
|
return this.mTickMarkTintMode;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public AppCompatSeekBarHelper(SeekBar seekBar) {
|
|
super(seekBar);
|
|
this.mTickMarkTintList = null;
|
|
this.mTickMarkTintMode = null;
|
|
this.mHasTickMarkTint = false;
|
|
this.mHasTickMarkTintMode = false;
|
|
this.mView = seekBar;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
@Override // androidx.appcompat.widget.AppCompatProgressBarHelper
|
|
public void loadFromAttributes(AttributeSet attributeSet, int i) {
|
|
super.loadFromAttributes(attributeSet, i);
|
|
TintTypedArray obtainStyledAttributes = TintTypedArray.obtainStyledAttributes(this.mView.getContext(), attributeSet, R.styleable.AppCompatSeekBar, i, 0);
|
|
SeekBar seekBar = this.mView;
|
|
ViewCompat.saveAttributeDataForStyleable(seekBar, seekBar.getContext(), R.styleable.AppCompatSeekBar, attributeSet, obtainStyledAttributes.getWrappedTypeArray(), i, 0);
|
|
Drawable drawableIfKnown = obtainStyledAttributes.getDrawableIfKnown(R.styleable.AppCompatSeekBar_android_thumb);
|
|
if (drawableIfKnown != null) {
|
|
this.mView.setThumb(drawableIfKnown);
|
|
}
|
|
setTickMark(obtainStyledAttributes.getDrawable(R.styleable.AppCompatSeekBar_tickMark));
|
|
if (obtainStyledAttributes.hasValue(R.styleable.AppCompatSeekBar_tickMarkTintMode)) {
|
|
this.mTickMarkTintMode = DrawableUtils.parseTintMode(obtainStyledAttributes.getInt(R.styleable.AppCompatSeekBar_tickMarkTintMode, -1), this.mTickMarkTintMode);
|
|
this.mHasTickMarkTintMode = true;
|
|
}
|
|
if (obtainStyledAttributes.hasValue(R.styleable.AppCompatSeekBar_tickMarkTint)) {
|
|
this.mTickMarkTintList = obtainStyledAttributes.getColorStateList(R.styleable.AppCompatSeekBar_tickMarkTint);
|
|
this.mHasTickMarkTint = true;
|
|
}
|
|
obtainStyledAttributes.recycle();
|
|
applyTickMarkTint();
|
|
}
|
|
|
|
void setTickMark(Drawable drawable) {
|
|
Drawable drawable2 = this.mTickMark;
|
|
if (drawable2 != null) {
|
|
drawable2.setCallback(null);
|
|
}
|
|
this.mTickMark = drawable;
|
|
if (drawable != null) {
|
|
drawable.setCallback(this.mView);
|
|
DrawableCompat.setLayoutDirection(drawable, ViewCompat.getLayoutDirection(this.mView));
|
|
if (drawable.isStateful()) {
|
|
drawable.setState(this.mView.getDrawableState());
|
|
}
|
|
applyTickMarkTint();
|
|
}
|
|
this.mView.invalidate();
|
|
}
|
|
|
|
void setTickMarkTintList(ColorStateList colorStateList) {
|
|
this.mTickMarkTintList = colorStateList;
|
|
this.mHasTickMarkTint = true;
|
|
applyTickMarkTint();
|
|
}
|
|
|
|
void setTickMarkTintMode(PorterDuff.Mode mode) {
|
|
this.mTickMarkTintMode = mode;
|
|
this.mHasTickMarkTintMode = true;
|
|
applyTickMarkTint();
|
|
}
|
|
|
|
private void applyTickMarkTint() {
|
|
Drawable drawable = this.mTickMark;
|
|
if (drawable != null) {
|
|
if (this.mHasTickMarkTint || this.mHasTickMarkTintMode) {
|
|
Drawable wrap = DrawableCompat.wrap(drawable.mutate());
|
|
this.mTickMark = wrap;
|
|
if (this.mHasTickMarkTint) {
|
|
DrawableCompat.setTintList(wrap, this.mTickMarkTintList);
|
|
}
|
|
if (this.mHasTickMarkTintMode) {
|
|
DrawableCompat.setTintMode(this.mTickMark, this.mTickMarkTintMode);
|
|
}
|
|
if (this.mTickMark.isStateful()) {
|
|
this.mTickMark.setState(this.mView.getDrawableState());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public void jumpDrawablesToCurrentState() {
|
|
Drawable drawable = this.mTickMark;
|
|
if (drawable != null) {
|
|
drawable.jumpToCurrentState();
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public void drawableStateChanged() {
|
|
Drawable drawable = this.mTickMark;
|
|
if (drawable != null && drawable.isStateful() && drawable.setState(this.mView.getDrawableState())) {
|
|
this.mView.invalidateDrawable(drawable);
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public void drawTickMarks(Canvas canvas) {
|
|
if (this.mTickMark != null) {
|
|
int max = this.mView.getMax();
|
|
if (max > 1) {
|
|
int intrinsicWidth = this.mTickMark.getIntrinsicWidth();
|
|
int intrinsicHeight = this.mTickMark.getIntrinsicHeight();
|
|
int i = intrinsicWidth >= 0 ? intrinsicWidth / 2 : 1;
|
|
int i2 = intrinsicHeight >= 0 ? intrinsicHeight / 2 : 1;
|
|
this.mTickMark.setBounds(-i, -i2, i, i2);
|
|
float width = ((this.mView.getWidth() - this.mView.getPaddingLeft()) - this.mView.getPaddingRight()) / max;
|
|
int save = canvas.save();
|
|
canvas.translate(this.mView.getPaddingLeft(), this.mView.getHeight() / 2);
|
|
for (int i3 = 0; i3 <= max; i3++) {
|
|
this.mTickMark.draw(canvas);
|
|
canvas.translate(width, 0.0f);
|
|
}
|
|
canvas.restoreToCount(save);
|
|
}
|
|
}
|
|
}
|
|
}
|