71 lines
2.6 KiB
Java
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());
|
|
}
|
|
});
|
|
}
|
|
}
|