jimu-decompiled/sources/com/google/android/material/internal/CheckableImageButton.java
2025-05-13 19:24:51 +02:00

71 lines
2.6 KiB
Java

package com.google.android.material.internal;
import android.R;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
import android.widget.Checkable;
import android.widget.ImageButton;
import androidx.appcompat.R$attr;
import androidx.appcompat.widget.AppCompatImageButton;
import androidx.core.view.AccessibilityDelegateCompat;
import androidx.core.view.ViewCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
/* loaded from: classes.dex */
public class CheckableImageButton extends AppCompatImageButton implements Checkable {
private static final int[] d = {R.attr.state_checked};
private boolean c;
public CheckableImageButton(Context context) {
this(context, null);
}
@Override // android.widget.Checkable
public boolean isChecked() {
return this.c;
}
@Override // android.widget.ImageView, android.view.View
public int[] onCreateDrawableState(int i) {
return this.c ? ImageButton.mergeDrawableStates(super.onCreateDrawableState(i + d.length), d) : super.onCreateDrawableState(i);
}
@Override // android.widget.Checkable
public void setChecked(boolean z) {
if (this.c != z) {
this.c = z;
refreshDrawableState();
sendAccessibilityEvent(2048);
}
}
@Override // android.widget.Checkable
public void toggle() {
setChecked(!this.c);
}
public CheckableImageButton(Context context, AttributeSet attributeSet) {
this(context, attributeSet, R$attr.imageButtonStyle);
}
public CheckableImageButton(Context context, AttributeSet attributeSet, int i) {
super(context, attributeSet, i);
ViewCompat.a(this, new AccessibilityDelegateCompat() { // from class: com.google.android.material.internal.CheckableImageButton.1
@Override // androidx.core.view.AccessibilityDelegateCompat
public void a(View view, AccessibilityNodeInfoCompat accessibilityNodeInfoCompat) {
super.a(view, accessibilityNodeInfoCompat);
accessibilityNodeInfoCompat.a(true);
accessibilityNodeInfoCompat.b(CheckableImageButton.this.isChecked());
}
@Override // androidx.core.view.AccessibilityDelegateCompat
public void b(View view, AccessibilityEvent accessibilityEvent) {
super.b(view, accessibilityEvent);
accessibilityEvent.setChecked(CheckableImageButton.this.isChecked());
}
});
}
}