package androidx.recyclerview.widget; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.util.Preconditions; import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.StableIdStorage; import androidx.recyclerview.widget.ViewTypeStorage; /* loaded from: classes.dex */ class NestedAdapterWrapper { public final RecyclerView.Adapter adapter; private RecyclerView.AdapterDataObserver mAdapterObserver = new RecyclerView.AdapterDataObserver() { // from class: androidx.recyclerview.widget.NestedAdapterWrapper.1 @Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver public void onChanged() { NestedAdapterWrapper nestedAdapterWrapper = NestedAdapterWrapper.this; nestedAdapterWrapper.mCachedItemCount = nestedAdapterWrapper.adapter.getItemCount(); NestedAdapterWrapper nestedAdapterWrapper2 = NestedAdapterWrapper.this; nestedAdapterWrapper2.mCallback.onChanged(nestedAdapterWrapper2); } @Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver public void onItemRangeChanged(int i, int i2) { NestedAdapterWrapper nestedAdapterWrapper = NestedAdapterWrapper.this; nestedAdapterWrapper.mCallback.onItemRangeChanged(nestedAdapterWrapper, i, i2, null); } @Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver public void onItemRangeChanged(int i, int i2, @Nullable Object obj) { NestedAdapterWrapper nestedAdapterWrapper = NestedAdapterWrapper.this; nestedAdapterWrapper.mCallback.onItemRangeChanged(nestedAdapterWrapper, i, i2, obj); } @Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver public void onItemRangeInserted(int i, int i2) { NestedAdapterWrapper nestedAdapterWrapper = NestedAdapterWrapper.this; nestedAdapterWrapper.mCachedItemCount += i2; nestedAdapterWrapper.mCallback.onItemRangeInserted(nestedAdapterWrapper, i, i2); NestedAdapterWrapper nestedAdapterWrapper2 = NestedAdapterWrapper.this; if (nestedAdapterWrapper2.mCachedItemCount <= 0 || nestedAdapterWrapper2.adapter.getStateRestorationPolicy() != RecyclerView.Adapter.StateRestorationPolicy.PREVENT_WHEN_EMPTY) { return; } NestedAdapterWrapper nestedAdapterWrapper3 = NestedAdapterWrapper.this; nestedAdapterWrapper3.mCallback.onStateRestorationPolicyChanged(nestedAdapterWrapper3); } @Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver public void onItemRangeRemoved(int i, int i2) { NestedAdapterWrapper nestedAdapterWrapper = NestedAdapterWrapper.this; nestedAdapterWrapper.mCachedItemCount -= i2; nestedAdapterWrapper.mCallback.onItemRangeRemoved(nestedAdapterWrapper, i, i2); NestedAdapterWrapper nestedAdapterWrapper2 = NestedAdapterWrapper.this; if (nestedAdapterWrapper2.mCachedItemCount >= 1 || nestedAdapterWrapper2.adapter.getStateRestorationPolicy() != RecyclerView.Adapter.StateRestorationPolicy.PREVENT_WHEN_EMPTY) { return; } NestedAdapterWrapper nestedAdapterWrapper3 = NestedAdapterWrapper.this; nestedAdapterWrapper3.mCallback.onStateRestorationPolicyChanged(nestedAdapterWrapper3); } @Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver public void onItemRangeMoved(int i, int i2, int i3) { Preconditions.checkArgument(i3 == 1, "moving more than 1 item is not supported in RecyclerView"); NestedAdapterWrapper nestedAdapterWrapper = NestedAdapterWrapper.this; nestedAdapterWrapper.mCallback.onItemRangeMoved(nestedAdapterWrapper, i, i2); } @Override // androidx.recyclerview.widget.RecyclerView.AdapterDataObserver public void onStateRestorationPolicyChanged() { NestedAdapterWrapper nestedAdapterWrapper = NestedAdapterWrapper.this; nestedAdapterWrapper.mCallback.onStateRestorationPolicyChanged(nestedAdapterWrapper); } }; int mCachedItemCount; final Callback mCallback; @NonNull private final StableIdStorage.StableIdLookup mStableIdLookup; @NonNull private final ViewTypeStorage.ViewTypeLookup mViewTypeLookup; public interface Callback { void onChanged(@NonNull NestedAdapterWrapper nestedAdapterWrapper); void onItemRangeChanged(@NonNull NestedAdapterWrapper nestedAdapterWrapper, int i, int i2); void onItemRangeChanged(@NonNull NestedAdapterWrapper nestedAdapterWrapper, int i, int i2, @Nullable Object obj); void onItemRangeInserted(@NonNull NestedAdapterWrapper nestedAdapterWrapper, int i, int i2); void onItemRangeMoved(@NonNull NestedAdapterWrapper nestedAdapterWrapper, int i, int i2); void onItemRangeRemoved(@NonNull NestedAdapterWrapper nestedAdapterWrapper, int i, int i2); void onStateRestorationPolicyChanged(NestedAdapterWrapper nestedAdapterWrapper); } public int getCachedItemCount() { return this.mCachedItemCount; } public NestedAdapterWrapper(RecyclerView.Adapter adapter, Callback callback, ViewTypeStorage viewTypeStorage, StableIdStorage.StableIdLookup stableIdLookup) { this.adapter = adapter; this.mCallback = callback; this.mViewTypeLookup = viewTypeStorage.createViewTypeWrapper(this); this.mStableIdLookup = stableIdLookup; this.mCachedItemCount = adapter.getItemCount(); adapter.registerAdapterDataObserver(this.mAdapterObserver); } public void dispose() { this.adapter.unregisterAdapterDataObserver(this.mAdapterObserver); this.mViewTypeLookup.dispose(); } public int getItemViewType(int i) { return this.mViewTypeLookup.localToGlobal(this.adapter.getItemViewType(i)); } public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { return this.adapter.onCreateViewHolder(viewGroup, this.mViewTypeLookup.globalToLocal(i)); } public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) { this.adapter.bindViewHolder(viewHolder, i); } public long getItemId(int i) { return this.mStableIdLookup.localToGlobal(this.adapter.getItemId(i)); } }