Initial import of ADIF API reverse-engineering toolkit
This commit is contained in:
374
apk_decompiled/sources/androidx/recyclerview/widget/I0.java
Normal file
374
apk_decompiled/sources/androidx/recyclerview/widget/I0.java
Normal file
@@ -0,0 +1,374 @@
|
||||
package androidx.recyclerview.widget;
|
||||
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.WeakHashMap;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public abstract class I0 {
|
||||
static final int FLAG_ADAPTER_FULLUPDATE = 1024;
|
||||
static final int FLAG_ADAPTER_POSITION_UNKNOWN = 512;
|
||||
static final int FLAG_APPEARED_IN_PRE_LAYOUT = 4096;
|
||||
static final int FLAG_BOUNCED_FROM_HIDDEN_LIST = 8192;
|
||||
static final int FLAG_BOUND = 1;
|
||||
static final int FLAG_IGNORE = 128;
|
||||
static final int FLAG_INVALID = 4;
|
||||
static final int FLAG_MOVED = 2048;
|
||||
static final int FLAG_NOT_RECYCLABLE = 16;
|
||||
static final int FLAG_REMOVED = 8;
|
||||
static final int FLAG_RETURNED_FROM_SCRAP = 32;
|
||||
static final int FLAG_TMP_DETACHED = 256;
|
||||
static final int FLAG_UPDATE = 2;
|
||||
private static final List<Object> FULLUPDATE_PAYLOADS = Collections.EMPTY_LIST;
|
||||
static final int PENDING_ACCESSIBILITY_STATE_NOT_SET = -1;
|
||||
public final View itemView;
|
||||
AbstractC0220h0 mBindingAdapter;
|
||||
int mFlags;
|
||||
WeakReference<RecyclerView> mNestedRecyclerView;
|
||||
RecyclerView mOwnerRecyclerView;
|
||||
int mPosition = -1;
|
||||
int mOldPosition = -1;
|
||||
long mItemId = -1;
|
||||
int mItemViewType = -1;
|
||||
int mPreLayoutPosition = -1;
|
||||
I0 mShadowedHolder = null;
|
||||
I0 mShadowingHolder = null;
|
||||
List<Object> mPayloads = null;
|
||||
List<Object> mUnmodifiedPayloads = null;
|
||||
private int mIsRecyclableCount = 0;
|
||||
y0 mScrapContainer = null;
|
||||
boolean mInChangeScrap = false;
|
||||
private int mWasImportantForAccessibilityBeforeHidden = 0;
|
||||
int mPendingAccessibilityState = -1;
|
||||
|
||||
public I0(View view) {
|
||||
if (view == null) {
|
||||
throw new IllegalArgumentException("itemView may not be null");
|
||||
}
|
||||
this.itemView = view;
|
||||
}
|
||||
|
||||
public void addChangePayload(Object obj) {
|
||||
if (obj == null) {
|
||||
addFlags(1024);
|
||||
return;
|
||||
}
|
||||
if ((1024 & this.mFlags) == 0) {
|
||||
if (this.mPayloads == null) {
|
||||
ArrayList arrayList = new ArrayList();
|
||||
this.mPayloads = arrayList;
|
||||
this.mUnmodifiedPayloads = Collections.unmodifiableList(arrayList);
|
||||
}
|
||||
this.mPayloads.add(obj);
|
||||
}
|
||||
}
|
||||
|
||||
public void addFlags(int i) {
|
||||
this.mFlags = i | this.mFlags;
|
||||
}
|
||||
|
||||
public void clearOldPosition() {
|
||||
this.mOldPosition = -1;
|
||||
this.mPreLayoutPosition = -1;
|
||||
}
|
||||
|
||||
public void clearPayload() {
|
||||
List<Object> list = this.mPayloads;
|
||||
if (list != null) {
|
||||
list.clear();
|
||||
}
|
||||
this.mFlags &= -1025;
|
||||
}
|
||||
|
||||
public void clearReturnedFromScrapFlag() {
|
||||
this.mFlags &= -33;
|
||||
}
|
||||
|
||||
public void clearTmpDetachFlag() {
|
||||
this.mFlags &= -257;
|
||||
}
|
||||
|
||||
public boolean doesTransientStatePreventRecycling() {
|
||||
if ((this.mFlags & 16) != 0) {
|
||||
return false;
|
||||
}
|
||||
View view = this.itemView;
|
||||
WeakHashMap weakHashMap = O.X.f1226a;
|
||||
return view.hasTransientState();
|
||||
}
|
||||
|
||||
public void flagRemovedAndOffsetPosition(int i, int i4, boolean z3) {
|
||||
addFlags(8);
|
||||
offsetPosition(i4, z3);
|
||||
this.mPosition = i;
|
||||
}
|
||||
|
||||
public final int getAbsoluteAdapterPosition() {
|
||||
RecyclerView recyclerView = this.mOwnerRecyclerView;
|
||||
if (recyclerView == null) {
|
||||
return -1;
|
||||
}
|
||||
return recyclerView.K(this);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public final int getAdapterPosition() {
|
||||
return getBindingAdapterPosition();
|
||||
}
|
||||
|
||||
public final AbstractC0220h0 getBindingAdapter() {
|
||||
return this.mBindingAdapter;
|
||||
}
|
||||
|
||||
public final int getBindingAdapterPosition() {
|
||||
RecyclerView recyclerView;
|
||||
AbstractC0220h0 adapter;
|
||||
int K3;
|
||||
if (this.mBindingAdapter == null || (recyclerView = this.mOwnerRecyclerView) == null || (adapter = recyclerView.getAdapter()) == null || (K3 = this.mOwnerRecyclerView.K(this)) == -1) {
|
||||
return -1;
|
||||
}
|
||||
return adapter.findRelativeAdapterPositionIn(this.mBindingAdapter, this, K3);
|
||||
}
|
||||
|
||||
public final long getItemId() {
|
||||
return this.mItemId;
|
||||
}
|
||||
|
||||
public final int getItemViewType() {
|
||||
return this.mItemViewType;
|
||||
}
|
||||
|
||||
public final int getLayoutPosition() {
|
||||
int i = this.mPreLayoutPosition;
|
||||
return i == -1 ? this.mPosition : i;
|
||||
}
|
||||
|
||||
public final int getOldPosition() {
|
||||
return this.mOldPosition;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public final int getPosition() {
|
||||
int i = this.mPreLayoutPosition;
|
||||
return i == -1 ? this.mPosition : i;
|
||||
}
|
||||
|
||||
public List<Object> getUnmodifiedPayloads() {
|
||||
if ((this.mFlags & 1024) != 0) {
|
||||
return FULLUPDATE_PAYLOADS;
|
||||
}
|
||||
List<Object> list = this.mPayloads;
|
||||
return (list == null || list.size() == 0) ? FULLUPDATE_PAYLOADS : this.mUnmodifiedPayloads;
|
||||
}
|
||||
|
||||
public boolean hasAnyOfTheFlags(int i) {
|
||||
return (this.mFlags & i) != 0;
|
||||
}
|
||||
|
||||
public boolean isAdapterPositionUnknown() {
|
||||
return (this.mFlags & 512) != 0 || isInvalid();
|
||||
}
|
||||
|
||||
public boolean isAttachedToTransitionOverlay() {
|
||||
return (this.itemView.getParent() == null || this.itemView.getParent() == this.mOwnerRecyclerView) ? false : true;
|
||||
}
|
||||
|
||||
public boolean isBound() {
|
||||
return (this.mFlags & 1) != 0;
|
||||
}
|
||||
|
||||
public boolean isInvalid() {
|
||||
return (this.mFlags & 4) != 0;
|
||||
}
|
||||
|
||||
public final boolean isRecyclable() {
|
||||
if ((this.mFlags & 16) != 0) {
|
||||
return false;
|
||||
}
|
||||
View view = this.itemView;
|
||||
WeakHashMap weakHashMap = O.X.f1226a;
|
||||
return !view.hasTransientState();
|
||||
}
|
||||
|
||||
public boolean isRemoved() {
|
||||
return (this.mFlags & 8) != 0;
|
||||
}
|
||||
|
||||
public boolean isScrap() {
|
||||
return this.mScrapContainer != null;
|
||||
}
|
||||
|
||||
public boolean isTmpDetached() {
|
||||
return (this.mFlags & FLAG_TMP_DETACHED) != 0;
|
||||
}
|
||||
|
||||
public boolean isUpdated() {
|
||||
return (this.mFlags & 2) != 0;
|
||||
}
|
||||
|
||||
public boolean needsUpdate() {
|
||||
return (this.mFlags & 2) != 0;
|
||||
}
|
||||
|
||||
public void offsetPosition(int i, boolean z3) {
|
||||
if (this.mOldPosition == -1) {
|
||||
this.mOldPosition = this.mPosition;
|
||||
}
|
||||
if (this.mPreLayoutPosition == -1) {
|
||||
this.mPreLayoutPosition = this.mPosition;
|
||||
}
|
||||
if (z3) {
|
||||
this.mPreLayoutPosition += i;
|
||||
}
|
||||
this.mPosition += i;
|
||||
if (this.itemView.getLayoutParams() != null) {
|
||||
((C0239r0) this.itemView.getLayoutParams()).f3899c = true;
|
||||
}
|
||||
}
|
||||
|
||||
public void onEnteredHiddenState(RecyclerView recyclerView) {
|
||||
int i = this.mPendingAccessibilityState;
|
||||
if (i != -1) {
|
||||
this.mWasImportantForAccessibilityBeforeHidden = i;
|
||||
} else {
|
||||
View view = this.itemView;
|
||||
WeakHashMap weakHashMap = O.X.f1226a;
|
||||
this.mWasImportantForAccessibilityBeforeHidden = view.getImportantForAccessibility();
|
||||
}
|
||||
if (recyclerView.R()) {
|
||||
this.mPendingAccessibilityState = 4;
|
||||
recyclerView.f3710u0.add(this);
|
||||
} else {
|
||||
View view2 = this.itemView;
|
||||
WeakHashMap weakHashMap2 = O.X.f1226a;
|
||||
view2.setImportantForAccessibility(4);
|
||||
}
|
||||
}
|
||||
|
||||
public void onLeftHiddenState(RecyclerView recyclerView) {
|
||||
int i = this.mWasImportantForAccessibilityBeforeHidden;
|
||||
if (recyclerView.R()) {
|
||||
this.mPendingAccessibilityState = i;
|
||||
recyclerView.f3710u0.add(this);
|
||||
} else {
|
||||
View view = this.itemView;
|
||||
WeakHashMap weakHashMap = O.X.f1226a;
|
||||
view.setImportantForAccessibility(i);
|
||||
}
|
||||
this.mWasImportantForAccessibilityBeforeHidden = 0;
|
||||
}
|
||||
|
||||
public void resetInternal() {
|
||||
if (RecyclerView.A0 && isTmpDetached()) {
|
||||
throw new IllegalStateException("Attempting to reset temp-detached ViewHolder: " + this + ". ViewHolders should be fully detached before resetting.");
|
||||
}
|
||||
this.mFlags = 0;
|
||||
this.mPosition = -1;
|
||||
this.mOldPosition = -1;
|
||||
this.mItemId = -1L;
|
||||
this.mPreLayoutPosition = -1;
|
||||
this.mIsRecyclableCount = 0;
|
||||
this.mShadowedHolder = null;
|
||||
this.mShadowingHolder = null;
|
||||
clearPayload();
|
||||
this.mWasImportantForAccessibilityBeforeHidden = 0;
|
||||
this.mPendingAccessibilityState = -1;
|
||||
RecyclerView.m(this);
|
||||
}
|
||||
|
||||
public void saveOldPosition() {
|
||||
if (this.mOldPosition == -1) {
|
||||
this.mOldPosition = this.mPosition;
|
||||
}
|
||||
}
|
||||
|
||||
public void setFlags(int i, int i4) {
|
||||
this.mFlags = (i & i4) | (this.mFlags & (~i4));
|
||||
}
|
||||
|
||||
public final void setIsRecyclable(boolean z3) {
|
||||
int i = this.mIsRecyclableCount;
|
||||
int i4 = z3 ? i - 1 : i + 1;
|
||||
this.mIsRecyclableCount = i4;
|
||||
if (i4 < 0) {
|
||||
this.mIsRecyclableCount = 0;
|
||||
if (RecyclerView.A0) {
|
||||
throw new RuntimeException("isRecyclable decremented below 0: unmatched pair of setIsRecyable() calls for " + this);
|
||||
}
|
||||
Log.e("View", "isRecyclable decremented below 0: unmatched pair of setIsRecyable() calls for " + this);
|
||||
} else if (!z3 && i4 == 1) {
|
||||
this.mFlags |= 16;
|
||||
} else if (z3 && i4 == 0) {
|
||||
this.mFlags &= -17;
|
||||
}
|
||||
if (RecyclerView.f3642B0) {
|
||||
Log.d("RecyclerView", "setIsRecyclable val:" + z3 + ":" + this);
|
||||
}
|
||||
}
|
||||
|
||||
public void setScrapContainer(y0 y0Var, boolean z3) {
|
||||
this.mScrapContainer = y0Var;
|
||||
this.mInChangeScrap = z3;
|
||||
}
|
||||
|
||||
public boolean shouldBeKeptAsChild() {
|
||||
return (this.mFlags & 16) != 0;
|
||||
}
|
||||
|
||||
public boolean shouldIgnore() {
|
||||
return (this.mFlags & 128) != 0;
|
||||
}
|
||||
|
||||
public void stopIgnoring() {
|
||||
this.mFlags &= -129;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder((getClass().isAnonymousClass() ? "ViewHolder" : getClass().getSimpleName()) + "{" + Integer.toHexString(hashCode()) + " position=" + this.mPosition + " id=" + this.mItemId + ", oldPos=" + this.mOldPosition + ", pLpos:" + this.mPreLayoutPosition);
|
||||
if (isScrap()) {
|
||||
sb.append(" scrap ");
|
||||
sb.append(this.mInChangeScrap ? "[changeScrap]" : "[attachedScrap]");
|
||||
}
|
||||
if (isInvalid()) {
|
||||
sb.append(" invalid");
|
||||
}
|
||||
if (!isBound()) {
|
||||
sb.append(" unbound");
|
||||
}
|
||||
if (needsUpdate()) {
|
||||
sb.append(" update");
|
||||
}
|
||||
if (isRemoved()) {
|
||||
sb.append(" removed");
|
||||
}
|
||||
if (shouldIgnore()) {
|
||||
sb.append(" ignored");
|
||||
}
|
||||
if (isTmpDetached()) {
|
||||
sb.append(" tmpDetached");
|
||||
}
|
||||
if (!isRecyclable()) {
|
||||
sb.append(" not recyclable(" + this.mIsRecyclableCount + ")");
|
||||
}
|
||||
if (isAdapterPositionUnknown()) {
|
||||
sb.append(" undefined adapter position");
|
||||
}
|
||||
if (this.itemView.getParent() == null) {
|
||||
sb.append(" no parent");
|
||||
}
|
||||
sb.append("}");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public void unScrap() {
|
||||
this.mScrapContainer.l(this);
|
||||
}
|
||||
|
||||
public boolean wasReturnedFromScrap() {
|
||||
return (this.mFlags & 32) != 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user