mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
166 lines
5.9 KiB
Java
166 lines
5.9 KiB
Java
package com.google.android.material.internal;
|
|
|
|
import android.R;
|
|
import android.content.Context;
|
|
import android.os.Parcel;
|
|
import android.os.Parcelable;
|
|
import android.util.AttributeSet;
|
|
import android.view.View;
|
|
import android.view.accessibility.AccessibilityEvent;
|
|
import android.widget.Checkable;
|
|
import androidx.appcompat.widget.AppCompatImageButton;
|
|
import androidx.core.view.AccessibilityDelegateCompat;
|
|
import androidx.core.view.ViewCompat;
|
|
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
|
|
import androidx.customview.view.AbsSavedState;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public class CheckableImageButton extends AppCompatImageButton implements Checkable {
|
|
private static final int[] DRAWABLE_STATE_CHECKED = {R.attr.state_checked};
|
|
private boolean checkable;
|
|
private boolean checked;
|
|
private boolean pressable;
|
|
|
|
public boolean isCheckable() {
|
|
return this.checkable;
|
|
}
|
|
|
|
@Override // android.widget.Checkable
|
|
public boolean isChecked() {
|
|
return this.checked;
|
|
}
|
|
|
|
public boolean isPressable() {
|
|
return this.pressable;
|
|
}
|
|
|
|
public void setPressable(boolean z) {
|
|
this.pressable = z;
|
|
}
|
|
|
|
public CheckableImageButton(Context context) {
|
|
this(context, null);
|
|
}
|
|
|
|
public CheckableImageButton(Context context, AttributeSet attributeSet) {
|
|
this(context, attributeSet, androidx.appcompat.R.attr.imageButtonStyle);
|
|
}
|
|
|
|
public CheckableImageButton(Context context, AttributeSet attributeSet, int i) {
|
|
super(context, attributeSet, i);
|
|
this.checkable = true;
|
|
this.pressable = true;
|
|
ViewCompat.setAccessibilityDelegate(this, new AccessibilityDelegateCompat() { // from class: com.google.android.material.internal.CheckableImageButton.1
|
|
@Override // androidx.core.view.AccessibilityDelegateCompat
|
|
public void onInitializeAccessibilityEvent(View view, AccessibilityEvent accessibilityEvent) {
|
|
super.onInitializeAccessibilityEvent(view, accessibilityEvent);
|
|
accessibilityEvent.setChecked(CheckableImageButton.this.isChecked());
|
|
}
|
|
|
|
@Override // androidx.core.view.AccessibilityDelegateCompat
|
|
public void onInitializeAccessibilityNodeInfo(View view, AccessibilityNodeInfoCompat accessibilityNodeInfoCompat) {
|
|
super.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfoCompat);
|
|
accessibilityNodeInfoCompat.setCheckable(CheckableImageButton.this.isCheckable());
|
|
accessibilityNodeInfoCompat.setChecked(CheckableImageButton.this.isChecked());
|
|
}
|
|
});
|
|
}
|
|
|
|
@Override // android.widget.Checkable
|
|
public void setChecked(boolean z) {
|
|
if (!this.checkable || this.checked == z) {
|
|
return;
|
|
}
|
|
this.checked = z;
|
|
refreshDrawableState();
|
|
sendAccessibilityEvent(2048);
|
|
}
|
|
|
|
@Override // android.widget.Checkable
|
|
public void toggle() {
|
|
setChecked(!this.checked);
|
|
}
|
|
|
|
@Override // android.view.View
|
|
public void setPressed(boolean z) {
|
|
if (this.pressable) {
|
|
super.setPressed(z);
|
|
}
|
|
}
|
|
|
|
@Override // android.widget.ImageView, android.view.View
|
|
public int[] onCreateDrawableState(int i) {
|
|
if (this.checked) {
|
|
int[] iArr = DRAWABLE_STATE_CHECKED;
|
|
return mergeDrawableStates(super.onCreateDrawableState(i + iArr.length), iArr);
|
|
}
|
|
return super.onCreateDrawableState(i);
|
|
}
|
|
|
|
@Override // android.view.View
|
|
protected Parcelable onSaveInstanceState() {
|
|
SavedState savedState = new SavedState(super.onSaveInstanceState());
|
|
savedState.checked = this.checked;
|
|
return savedState;
|
|
}
|
|
|
|
@Override // android.view.View
|
|
protected void onRestoreInstanceState(Parcelable parcelable) {
|
|
if (!(parcelable instanceof SavedState)) {
|
|
super.onRestoreInstanceState(parcelable);
|
|
return;
|
|
}
|
|
SavedState savedState = (SavedState) parcelable;
|
|
super.onRestoreInstanceState(savedState.getSuperState());
|
|
setChecked(savedState.checked);
|
|
}
|
|
|
|
public void setCheckable(boolean z) {
|
|
if (this.checkable != z) {
|
|
this.checkable = z;
|
|
sendAccessibilityEvent(0);
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
/* loaded from: classes2.dex */
|
|
public static class SavedState extends AbsSavedState {
|
|
public static final Parcelable.Creator<SavedState> CREATOR = new Parcelable.ClassLoaderCreator<SavedState>() { // from class: com.google.android.material.internal.CheckableImageButton.SavedState.1
|
|
/* JADX WARN: Can't rename method to resolve collision */
|
|
@Override // android.os.Parcelable.ClassLoaderCreator
|
|
public SavedState createFromParcel(Parcel parcel, ClassLoader classLoader) {
|
|
return new SavedState(parcel, classLoader);
|
|
}
|
|
|
|
@Override // android.os.Parcelable.Creator
|
|
public SavedState createFromParcel(Parcel parcel) {
|
|
return new SavedState(parcel, null);
|
|
}
|
|
|
|
@Override // android.os.Parcelable.Creator
|
|
public SavedState[] newArray(int i) {
|
|
return new SavedState[i];
|
|
}
|
|
};
|
|
boolean checked;
|
|
|
|
public SavedState(Parcelable parcelable) {
|
|
super(parcelable);
|
|
}
|
|
|
|
public SavedState(Parcel parcel, ClassLoader classLoader) {
|
|
super(parcel, classLoader);
|
|
readFromParcel(parcel);
|
|
}
|
|
|
|
@Override // androidx.customview.view.AbsSavedState, android.os.Parcelable
|
|
public void writeToParcel(Parcel parcel, int i) {
|
|
super.writeToParcel(parcel, i);
|
|
parcel.writeInt(this.checked ? 1 : 0);
|
|
}
|
|
|
|
private void readFromParcel(Parcel parcel) {
|
|
this.checked = parcel.readInt() == 1;
|
|
}
|
|
}
|
|
}
|