Rabbit-R1/android (non root)/java/sources/com/google/android/material/internal/CheckableGroup.java
2024-05-21 17:08:36 -04:00

169 lines
5.8 KiB
Java

package com.google.android.material.internal;
import android.view.View;
import android.view.ViewGroup;
import com.google.android.material.internal.MaterialCheckable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
/* loaded from: classes2.dex */
public class CheckableGroup<T extends MaterialCheckable<T>> {
private final Map<Integer, T> checkables = new HashMap();
private final Set<Integer> checkedIds = new HashSet();
private OnCheckedStateChangeListener onCheckedStateChangeListener;
private boolean selectionRequired;
private boolean singleSelection;
/* loaded from: classes2.dex */
public interface OnCheckedStateChangeListener {
void onCheckedStateChanged(Set<Integer> set);
}
public boolean isSelectionRequired() {
return this.selectionRequired;
}
public boolean isSingleSelection() {
return this.singleSelection;
}
public void setOnCheckedStateChangeListener(OnCheckedStateChangeListener onCheckedStateChangeListener) {
this.onCheckedStateChangeListener = onCheckedStateChangeListener;
}
public void setSelectionRequired(boolean z) {
this.selectionRequired = z;
}
public void setSingleSelection(boolean z) {
if (this.singleSelection != z) {
this.singleSelection = z;
clearCheck();
}
}
/* JADX WARN: Multi-variable type inference failed */
public void addCheckable(T t) {
this.checkables.put(Integer.valueOf(t.getId()), t);
if (t.isChecked()) {
checkInternal(t);
}
t.setInternalOnCheckedChangeListener(new MaterialCheckable.OnCheckedChangeListener<T>() { // from class: com.google.android.material.internal.CheckableGroup.1
@Override // com.google.android.material.internal.MaterialCheckable.OnCheckedChangeListener
public void onCheckedChanged(T t2, boolean z) {
if (z) {
if (!CheckableGroup.this.checkInternal(t2)) {
return;
}
} else {
CheckableGroup checkableGroup = CheckableGroup.this;
if (!checkableGroup.uncheckInternal(t2, checkableGroup.selectionRequired)) {
return;
}
}
CheckableGroup.this.onCheckedStateChanged();
}
});
}
public void removeCheckable(T t) {
t.setInternalOnCheckedChangeListener(null);
this.checkables.remove(Integer.valueOf(t.getId()));
this.checkedIds.remove(Integer.valueOf(t.getId()));
}
public void check(int i) {
T t = this.checkables.get(Integer.valueOf(i));
if (t != null && checkInternal(t)) {
onCheckedStateChanged();
}
}
public void uncheck(int i) {
T t = this.checkables.get(Integer.valueOf(i));
if (t != null && uncheckInternal(t, this.selectionRequired)) {
onCheckedStateChanged();
}
}
public void clearCheck() {
boolean z = !this.checkedIds.isEmpty();
Iterator<T> it = this.checkables.values().iterator();
while (it.hasNext()) {
uncheckInternal(it.next(), false);
}
if (z) {
onCheckedStateChanged();
}
}
public int getSingleCheckedId() {
if (!this.singleSelection || this.checkedIds.isEmpty()) {
return -1;
}
return this.checkedIds.iterator().next().intValue();
}
public Set<Integer> getCheckedIds() {
return new HashSet(this.checkedIds);
}
public List<Integer> getCheckedIdsSortedByChildOrder(ViewGroup viewGroup) {
Set<Integer> checkedIds = getCheckedIds();
ArrayList arrayList = new ArrayList();
for (int i = 0; i < viewGroup.getChildCount(); i++) {
View childAt = viewGroup.getChildAt(i);
if ((childAt instanceof MaterialCheckable) && checkedIds.contains(Integer.valueOf(childAt.getId()))) {
arrayList.add(Integer.valueOf(childAt.getId()));
}
}
return arrayList;
}
/* JADX INFO: Access modifiers changed from: private */
public boolean checkInternal(MaterialCheckable<T> materialCheckable) {
int id = materialCheckable.getId();
if (this.checkedIds.contains(Integer.valueOf(id))) {
return false;
}
T t = this.checkables.get(Integer.valueOf(getSingleCheckedId()));
if (t != null) {
uncheckInternal(t, false);
}
boolean add = this.checkedIds.add(Integer.valueOf(id));
if (!materialCheckable.isChecked()) {
materialCheckable.setChecked(true);
}
return add;
}
/* JADX INFO: Access modifiers changed from: private */
public boolean uncheckInternal(MaterialCheckable<T> materialCheckable, boolean z) {
int id = materialCheckable.getId();
if (!this.checkedIds.contains(Integer.valueOf(id))) {
return false;
}
if (z && this.checkedIds.size() == 1 && this.checkedIds.contains(Integer.valueOf(id))) {
materialCheckable.setChecked(true);
return false;
}
boolean remove = this.checkedIds.remove(Integer.valueOf(id));
if (materialCheckable.isChecked()) {
materialCheckable.setChecked(false);
}
return remove;
}
/* JADX INFO: Access modifiers changed from: private */
public void onCheckedStateChanged() {
OnCheckedStateChangeListener onCheckedStateChangeListener = this.onCheckedStateChangeListener;
if (onCheckedStateChangeListener != null) {
onCheckedStateChangeListener.onCheckedStateChanged(getCheckedIds());
}
}
}