mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2024-12-26 17:12:31 -06:00
310 lines
13 KiB
Java
310 lines
13 KiB
Java
package com.google.android.material.materialswitch;
|
|
|
|
import android.content.Context;
|
|
import android.content.res.ColorStateList;
|
|
import android.graphics.PorterDuff;
|
|
import android.graphics.drawable.Drawable;
|
|
import android.graphics.drawable.LayerDrawable;
|
|
import android.util.AttributeSet;
|
|
import androidx.appcompat.content.res.AppCompatResources;
|
|
import androidx.appcompat.widget.SwitchCompat;
|
|
import androidx.core.graphics.ColorUtils;
|
|
import androidx.core.graphics.drawable.DrawableCompat;
|
|
import com.google.android.material.R;
|
|
import com.google.android.material.drawable.DrawableUtils;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public class MaterialSwitch extends SwitchCompat {
|
|
private static final int DEF_STYLE_RES = R.style.Widget_Material3_CompoundButton_MaterialSwitch;
|
|
private static final int[] STATE_SET_WITH_ICON = {R.attr.state_with_icon};
|
|
private int[] currentStateChecked;
|
|
private int[] currentStateUnchecked;
|
|
private Drawable thumbDrawable;
|
|
private Drawable thumbIconDrawable;
|
|
private int thumbIconSize;
|
|
private ColorStateList thumbIconTintList;
|
|
private PorterDuff.Mode thumbIconTintMode;
|
|
private ColorStateList thumbTintList;
|
|
private Drawable trackDecorationDrawable;
|
|
private ColorStateList trackDecorationTintList;
|
|
private PorterDuff.Mode trackDecorationTintMode;
|
|
private Drawable trackDrawable;
|
|
private ColorStateList trackTintList;
|
|
|
|
@Override // androidx.appcompat.widget.SwitchCompat
|
|
public Drawable getThumbDrawable() {
|
|
return this.thumbDrawable;
|
|
}
|
|
|
|
public Drawable getThumbIconDrawable() {
|
|
return this.thumbIconDrawable;
|
|
}
|
|
|
|
public int getThumbIconSize() {
|
|
return this.thumbIconSize;
|
|
}
|
|
|
|
public ColorStateList getThumbIconTintList() {
|
|
return this.thumbIconTintList;
|
|
}
|
|
|
|
public PorterDuff.Mode getThumbIconTintMode() {
|
|
return this.thumbIconTintMode;
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.SwitchCompat
|
|
public ColorStateList getThumbTintList() {
|
|
return this.thumbTintList;
|
|
}
|
|
|
|
public Drawable getTrackDecorationDrawable() {
|
|
return this.trackDecorationDrawable;
|
|
}
|
|
|
|
public ColorStateList getTrackDecorationTintList() {
|
|
return this.trackDecorationTintList;
|
|
}
|
|
|
|
public PorterDuff.Mode getTrackDecorationTintMode() {
|
|
return this.trackDecorationTintMode;
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.SwitchCompat
|
|
public Drawable getTrackDrawable() {
|
|
return this.trackDrawable;
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.SwitchCompat
|
|
public ColorStateList getTrackTintList() {
|
|
return this.trackTintList;
|
|
}
|
|
|
|
public MaterialSwitch(Context context) {
|
|
this(context, null);
|
|
}
|
|
|
|
public MaterialSwitch(Context context, AttributeSet attributeSet) {
|
|
this(context, attributeSet, R.attr.materialSwitchStyle);
|
|
}
|
|
|
|
/* JADX WARN: Illegal instructions before constructor call */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
public MaterialSwitch(android.content.Context r8, android.util.AttributeSet r9, int r10) {
|
|
/*
|
|
r7 = this;
|
|
int r4 = com.google.android.material.materialswitch.MaterialSwitch.DEF_STYLE_RES
|
|
android.content.Context r8 = com.google.android.material.theme.overlay.MaterialThemeOverlay.wrap(r8, r9, r10, r4)
|
|
r7.<init>(r8, r9, r10)
|
|
r8 = -1
|
|
r7.thumbIconSize = r8
|
|
android.content.Context r0 = r7.getContext()
|
|
android.graphics.drawable.Drawable r1 = super.getThumbDrawable()
|
|
r7.thumbDrawable = r1
|
|
android.content.res.ColorStateList r1 = super.getThumbTintList()
|
|
r7.thumbTintList = r1
|
|
r1 = 0
|
|
super.setThumbTintList(r1)
|
|
android.graphics.drawable.Drawable r2 = super.getTrackDrawable()
|
|
r7.trackDrawable = r2
|
|
android.content.res.ColorStateList r2 = super.getTrackTintList()
|
|
r7.trackTintList = r2
|
|
super.setTrackTintList(r1)
|
|
int[] r2 = com.google.android.material.R.styleable.MaterialSwitch
|
|
r6 = 0
|
|
int[] r5 = new int[r6]
|
|
r1 = r9
|
|
r3 = r10
|
|
androidx.appcompat.widget.TintTypedArray r9 = com.google.android.material.internal.ThemeEnforcement.obtainTintedStyledAttributes(r0, r1, r2, r3, r4, r5)
|
|
int r10 = com.google.android.material.R.styleable.MaterialSwitch_thumbIcon
|
|
android.graphics.drawable.Drawable r10 = r9.getDrawable(r10)
|
|
r7.thumbIconDrawable = r10
|
|
int r10 = com.google.android.material.R.styleable.MaterialSwitch_thumbIconSize
|
|
int r10 = r9.getDimensionPixelSize(r10, r8)
|
|
r7.thumbIconSize = r10
|
|
int r10 = com.google.android.material.R.styleable.MaterialSwitch_thumbIconTint
|
|
android.content.res.ColorStateList r10 = r9.getColorStateList(r10)
|
|
r7.thumbIconTintList = r10
|
|
int r10 = com.google.android.material.R.styleable.MaterialSwitch_thumbIconTintMode
|
|
int r10 = r9.getInt(r10, r8)
|
|
android.graphics.PorterDuff$Mode r0 = android.graphics.PorterDuff.Mode.SRC_IN
|
|
android.graphics.PorterDuff$Mode r10 = com.google.android.material.internal.ViewUtils.parseTintMode(r10, r0)
|
|
r7.thumbIconTintMode = r10
|
|
int r10 = com.google.android.material.R.styleable.MaterialSwitch_trackDecoration
|
|
android.graphics.drawable.Drawable r10 = r9.getDrawable(r10)
|
|
r7.trackDecorationDrawable = r10
|
|
int r10 = com.google.android.material.R.styleable.MaterialSwitch_trackDecorationTint
|
|
android.content.res.ColorStateList r10 = r9.getColorStateList(r10)
|
|
r7.trackDecorationTintList = r10
|
|
int r10 = com.google.android.material.R.styleable.MaterialSwitch_trackDecorationTintMode
|
|
int r8 = r9.getInt(r10, r8)
|
|
android.graphics.PorterDuff$Mode r10 = android.graphics.PorterDuff.Mode.SRC_IN
|
|
android.graphics.PorterDuff$Mode r8 = com.google.android.material.internal.ViewUtils.parseTintMode(r8, r10)
|
|
r7.trackDecorationTintMode = r8
|
|
r9.recycle()
|
|
r7.setEnforceSwitchWidth(r6)
|
|
r7.refreshThumbDrawable()
|
|
r7.refreshTrackDrawable()
|
|
return
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.material.materialswitch.MaterialSwitch.<init>(android.content.Context, android.util.AttributeSet, int):void");
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void invalidate() {
|
|
updateDrawableTints();
|
|
super.invalidate();
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: protected */
|
|
@Override // androidx.appcompat.widget.SwitchCompat, android.widget.CompoundButton, android.widget.TextView, android.view.View
|
|
public int[] onCreateDrawableState(int i) {
|
|
int[] onCreateDrawableState = super.onCreateDrawableState(i + 1);
|
|
if (this.thumbIconDrawable != null) {
|
|
mergeDrawableStates(onCreateDrawableState, STATE_SET_WITH_ICON);
|
|
}
|
|
this.currentStateUnchecked = DrawableUtils.getUncheckedState(onCreateDrawableState);
|
|
this.currentStateChecked = DrawableUtils.getCheckedState(onCreateDrawableState);
|
|
return onCreateDrawableState;
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.SwitchCompat
|
|
public void setThumbDrawable(Drawable drawable) {
|
|
this.thumbDrawable = drawable;
|
|
refreshThumbDrawable();
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.SwitchCompat
|
|
public void setThumbTintList(ColorStateList colorStateList) {
|
|
this.thumbTintList = colorStateList;
|
|
refreshThumbDrawable();
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.SwitchCompat
|
|
public void setThumbTintMode(PorterDuff.Mode mode) {
|
|
super.setThumbTintMode(mode);
|
|
refreshThumbDrawable();
|
|
}
|
|
|
|
public void setThumbIconResource(int i) {
|
|
setThumbIconDrawable(AppCompatResources.getDrawable(getContext(), i));
|
|
}
|
|
|
|
public void setThumbIconDrawable(Drawable drawable) {
|
|
this.thumbIconDrawable = drawable;
|
|
refreshThumbDrawable();
|
|
}
|
|
|
|
public void setThumbIconSize(int i) {
|
|
if (this.thumbIconSize != i) {
|
|
this.thumbIconSize = i;
|
|
refreshThumbDrawable();
|
|
}
|
|
}
|
|
|
|
public void setThumbIconTintList(ColorStateList colorStateList) {
|
|
this.thumbIconTintList = colorStateList;
|
|
refreshThumbDrawable();
|
|
}
|
|
|
|
public void setThumbIconTintMode(PorterDuff.Mode mode) {
|
|
this.thumbIconTintMode = mode;
|
|
refreshThumbDrawable();
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.SwitchCompat
|
|
public void setTrackDrawable(Drawable drawable) {
|
|
this.trackDrawable = drawable;
|
|
refreshTrackDrawable();
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.SwitchCompat
|
|
public void setTrackTintList(ColorStateList colorStateList) {
|
|
this.trackTintList = colorStateList;
|
|
refreshTrackDrawable();
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.SwitchCompat
|
|
public void setTrackTintMode(PorterDuff.Mode mode) {
|
|
super.setTrackTintMode(mode);
|
|
refreshTrackDrawable();
|
|
}
|
|
|
|
public void setTrackDecorationResource(int i) {
|
|
setTrackDecorationDrawable(AppCompatResources.getDrawable(getContext(), i));
|
|
}
|
|
|
|
public void setTrackDecorationDrawable(Drawable drawable) {
|
|
this.trackDecorationDrawable = drawable;
|
|
refreshTrackDrawable();
|
|
}
|
|
|
|
public void setTrackDecorationTintList(ColorStateList colorStateList) {
|
|
this.trackDecorationTintList = colorStateList;
|
|
refreshTrackDrawable();
|
|
}
|
|
|
|
public void setTrackDecorationTintMode(PorterDuff.Mode mode) {
|
|
this.trackDecorationTintMode = mode;
|
|
refreshTrackDrawable();
|
|
}
|
|
|
|
private void refreshThumbDrawable() {
|
|
this.thumbDrawable = DrawableUtils.createTintableDrawableIfNeeded(this.thumbDrawable, this.thumbTintList, getThumbTintMode());
|
|
this.thumbIconDrawable = DrawableUtils.createTintableDrawableIfNeeded(this.thumbIconDrawable, this.thumbIconTintList, this.thumbIconTintMode);
|
|
updateDrawableTints();
|
|
Drawable drawable = this.thumbDrawable;
|
|
Drawable drawable2 = this.thumbIconDrawable;
|
|
int i = this.thumbIconSize;
|
|
super.setThumbDrawable(DrawableUtils.compositeTwoLayeredDrawable(drawable, drawable2, i, i));
|
|
refreshDrawableState();
|
|
}
|
|
|
|
private void refreshTrackDrawable() {
|
|
this.trackDrawable = DrawableUtils.createTintableDrawableIfNeeded(this.trackDrawable, this.trackTintList, getTrackTintMode());
|
|
this.trackDecorationDrawable = DrawableUtils.createTintableDrawableIfNeeded(this.trackDecorationDrawable, this.trackDecorationTintList, this.trackDecorationTintMode);
|
|
updateDrawableTints();
|
|
Drawable drawable = this.trackDrawable;
|
|
if (drawable != null && this.trackDecorationDrawable != null) {
|
|
drawable = new LayerDrawable(new Drawable[]{this.trackDrawable, this.trackDecorationDrawable});
|
|
} else if (drawable == null) {
|
|
drawable = this.trackDecorationDrawable;
|
|
}
|
|
if (drawable != null) {
|
|
setSwitchMinWidth(drawable.getIntrinsicWidth());
|
|
}
|
|
super.setTrackDrawable(drawable);
|
|
}
|
|
|
|
private void updateDrawableTints() {
|
|
if (this.thumbTintList == null && this.thumbIconTintList == null && this.trackTintList == null && this.trackDecorationTintList == null) {
|
|
return;
|
|
}
|
|
float thumbPosition = getThumbPosition();
|
|
ColorStateList colorStateList = this.thumbTintList;
|
|
if (colorStateList != null) {
|
|
setInterpolatedDrawableTintIfPossible(this.thumbDrawable, colorStateList, this.currentStateUnchecked, this.currentStateChecked, thumbPosition);
|
|
}
|
|
ColorStateList colorStateList2 = this.thumbIconTintList;
|
|
if (colorStateList2 != null) {
|
|
setInterpolatedDrawableTintIfPossible(this.thumbIconDrawable, colorStateList2, this.currentStateUnchecked, this.currentStateChecked, thumbPosition);
|
|
}
|
|
ColorStateList colorStateList3 = this.trackTintList;
|
|
if (colorStateList3 != null) {
|
|
setInterpolatedDrawableTintIfPossible(this.trackDrawable, colorStateList3, this.currentStateUnchecked, this.currentStateChecked, thumbPosition);
|
|
}
|
|
ColorStateList colorStateList4 = this.trackDecorationTintList;
|
|
if (colorStateList4 != null) {
|
|
setInterpolatedDrawableTintIfPossible(this.trackDecorationDrawable, colorStateList4, this.currentStateUnchecked, this.currentStateChecked, thumbPosition);
|
|
}
|
|
}
|
|
|
|
private static void setInterpolatedDrawableTintIfPossible(Drawable drawable, ColorStateList colorStateList, int[] iArr, int[] iArr2, float f) {
|
|
if (drawable == null || colorStateList == null) {
|
|
return;
|
|
}
|
|
DrawableCompat.setTint(drawable, ColorUtils.blendARGB(colorStateList.getColorForState(iArr, 0), colorStateList.getColorForState(iArr2, 0), f));
|
|
}
|
|
}
|