jimu-decompiled/sources/com/chad/library/adapter/base/BaseMultiItemQuickAdapter.java
2025-05-13 19:24:51 +02:00

105 lines
3.6 KiB
Java

package com.chad.library.adapter.base;
import android.util.SparseIntArray;
import android.view.ViewGroup;
import com.chad.library.adapter.base.BaseViewHolder;
import com.chad.library.adapter.base.entity.IExpandable;
import com.chad.library.adapter.base.entity.MultiItemEntity;
import java.util.List;
/* loaded from: classes.dex */
public abstract class BaseMultiItemQuickAdapter<T extends MultiItemEntity, K extends BaseViewHolder> extends BaseQuickAdapter<T, K> {
private static final int DEFAULT_VIEW_TYPE = -255;
public static final int TYPE_NOT_FOUND = -404;
private SparseIntArray layouts;
public BaseMultiItemQuickAdapter(List<T> list) {
super(list);
}
private int getLayoutId(int i) {
return this.layouts.get(i, -404);
}
protected void addItemType(int i, int i2) {
if (this.layouts == null) {
this.layouts = new SparseIntArray();
}
this.layouts.put(i, i2);
}
@Override // com.chad.library.adapter.base.BaseQuickAdapter
protected int getDefItemViewType(int i) {
MultiItemEntity multiItemEntity = (MultiItemEntity) this.mData.get(i);
return multiItemEntity != null ? multiItemEntity.getItemType() : DEFAULT_VIEW_TYPE;
}
public int getParentPositionInAll(int i) {
List<T> data = getData();
MultiItemEntity multiItemEntity = (MultiItemEntity) getItem(i);
if (!isExpandable(multiItemEntity)) {
for (int i2 = i - 1; i2 >= 0; i2--) {
if (isExpandable((MultiItemEntity) data.get(i2))) {
return i2;
}
}
return -1;
}
IExpandable iExpandable = (IExpandable) multiItemEntity;
for (int i3 = i - 1; i3 >= 0; i3--) {
MultiItemEntity multiItemEntity2 = (MultiItemEntity) data.get(i3);
if (isExpandable(multiItemEntity2) && iExpandable.getLevel() > ((IExpandable) multiItemEntity2).getLevel()) {
return i3;
}
}
return -1;
}
@Override // com.chad.library.adapter.base.BaseQuickAdapter
protected K onCreateDefViewHolder(ViewGroup viewGroup, int i) {
return createBaseViewHolder(viewGroup, getLayoutId(i));
}
/* JADX WARN: Multi-variable type inference failed */
@Override // com.chad.library.adapter.base.BaseQuickAdapter
public void remove(int i) {
List<T> list = this.mData;
if (list == 0 || i < 0 || i >= list.size()) {
return;
}
MultiItemEntity multiItemEntity = (MultiItemEntity) this.mData.get(i);
if (multiItemEntity instanceof IExpandable) {
removeAllChild((IExpandable) multiItemEntity, i);
}
removeDataFromParent(multiItemEntity);
super.remove(i);
}
protected void removeAllChild(IExpandable iExpandable, int i) {
List subItems;
if (!iExpandable.isExpanded() || (subItems = iExpandable.getSubItems()) == null || subItems.size() == 0) {
return;
}
int size = subItems.size();
for (int i2 = 0; i2 < size; i2++) {
remove(i + 1);
}
}
protected void removeDataFromParent(T t) {
int parentPosition = getParentPosition(t);
if (parentPosition >= 0) {
((IExpandable) this.mData.get(parentPosition)).getSubItems().remove(t);
}
}
protected void setDefaultViewTypeLayout(int i) {
addItemType(DEFAULT_VIEW_TYPE, i);
}
@Override // com.chad.library.adapter.base.BaseQuickAdapter
public boolean isExpandable(MultiItemEntity multiItemEntity) {
return multiItemEntity != null && (multiItemEntity instanceof IExpandable);
}
}