mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2024-12-27 01:22:33 -06:00
144 lines
4.5 KiB
Java
144 lines
4.5 KiB
Java
package androidx.recyclerview.widget;
|
|
|
|
import android.view.View;
|
|
import java.lang.annotation.Retention;
|
|
import java.lang.annotation.RetentionPolicy;
|
|
|
|
/* loaded from: classes2.dex */
|
|
class ViewBoundsCheck {
|
|
static final int CVE_PVE_POS = 12;
|
|
static final int CVE_PVS_POS = 8;
|
|
static final int CVS_PVE_POS = 4;
|
|
static final int CVS_PVS_POS = 0;
|
|
static final int EQ = 2;
|
|
static final int FLAG_CVE_EQ_PVE = 8192;
|
|
static final int FLAG_CVE_EQ_PVS = 512;
|
|
static final int FLAG_CVE_GT_PVE = 4096;
|
|
static final int FLAG_CVE_GT_PVS = 256;
|
|
static final int FLAG_CVE_LT_PVE = 16384;
|
|
static final int FLAG_CVE_LT_PVS = 1024;
|
|
static final int FLAG_CVS_EQ_PVE = 32;
|
|
static final int FLAG_CVS_EQ_PVS = 2;
|
|
static final int FLAG_CVS_GT_PVE = 16;
|
|
static final int FLAG_CVS_GT_PVS = 1;
|
|
static final int FLAG_CVS_LT_PVE = 64;
|
|
static final int FLAG_CVS_LT_PVS = 4;
|
|
static final int GT = 1;
|
|
static final int LT = 4;
|
|
static final int MASK = 7;
|
|
BoundFlags mBoundFlags = new BoundFlags();
|
|
final Callback mCallback;
|
|
|
|
/* loaded from: classes2.dex */
|
|
interface Callback {
|
|
View getChildAt(int i);
|
|
|
|
int getChildEnd(View view);
|
|
|
|
int getChildStart(View view);
|
|
|
|
int getParentEnd();
|
|
|
|
int getParentStart();
|
|
}
|
|
|
|
@Retention(RetentionPolicy.SOURCE)
|
|
/* loaded from: classes2.dex */
|
|
public @interface ViewBounds {
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public ViewBoundsCheck(Callback callback) {
|
|
this.mCallback = callback;
|
|
}
|
|
|
|
/* loaded from: classes2.dex */
|
|
static class BoundFlags {
|
|
int mBoundFlags = 0;
|
|
int mChildEnd;
|
|
int mChildStart;
|
|
int mRvEnd;
|
|
int mRvStart;
|
|
|
|
void addFlags(int i) {
|
|
this.mBoundFlags = i | this.mBoundFlags;
|
|
}
|
|
|
|
int compare(int i, int i2) {
|
|
if (i > i2) {
|
|
return 1;
|
|
}
|
|
return i == i2 ? 2 : 4;
|
|
}
|
|
|
|
void resetFlags() {
|
|
this.mBoundFlags = 0;
|
|
}
|
|
|
|
void setBounds(int i, int i2, int i3, int i4) {
|
|
this.mRvStart = i;
|
|
this.mRvEnd = i2;
|
|
this.mChildStart = i3;
|
|
this.mChildEnd = i4;
|
|
}
|
|
|
|
BoundFlags() {
|
|
}
|
|
|
|
boolean boundsMatch() {
|
|
int i = this.mBoundFlags;
|
|
if ((i & 7) != 0 && (i & compare(this.mChildStart, this.mRvStart)) == 0) {
|
|
return false;
|
|
}
|
|
int i2 = this.mBoundFlags;
|
|
if ((i2 & 112) != 0 && (i2 & (compare(this.mChildStart, this.mRvEnd) << 4)) == 0) {
|
|
return false;
|
|
}
|
|
int i3 = this.mBoundFlags;
|
|
if ((i3 & 1792) != 0 && (i3 & (compare(this.mChildEnd, this.mRvStart) << 8)) == 0) {
|
|
return false;
|
|
}
|
|
int i4 = this.mBoundFlags;
|
|
return (i4 & 28672) == 0 || ((compare(this.mChildEnd, this.mRvEnd) << 12) & i4) != 0;
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public View findOneViewWithinBoundFlags(int i, int i2, int i3, int i4) {
|
|
int parentStart = this.mCallback.getParentStart();
|
|
int parentEnd = this.mCallback.getParentEnd();
|
|
int i5 = i2 > i ? 1 : -1;
|
|
View view = null;
|
|
while (i != i2) {
|
|
View childAt = this.mCallback.getChildAt(i);
|
|
this.mBoundFlags.setBounds(parentStart, parentEnd, this.mCallback.getChildStart(childAt), this.mCallback.getChildEnd(childAt));
|
|
if (i3 != 0) {
|
|
this.mBoundFlags.resetFlags();
|
|
this.mBoundFlags.addFlags(i3);
|
|
if (this.mBoundFlags.boundsMatch()) {
|
|
return childAt;
|
|
}
|
|
}
|
|
if (i4 != 0) {
|
|
this.mBoundFlags.resetFlags();
|
|
this.mBoundFlags.addFlags(i4);
|
|
if (this.mBoundFlags.boundsMatch()) {
|
|
view = childAt;
|
|
}
|
|
}
|
|
i += i5;
|
|
}
|
|
return view;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public boolean isViewWithinBoundFlags(View view, int i) {
|
|
this.mBoundFlags.setBounds(this.mCallback.getParentStart(), this.mCallback.getParentEnd(), this.mCallback.getChildStart(view), this.mCallback.getChildEnd(view));
|
|
if (i == 0) {
|
|
return false;
|
|
}
|
|
this.mBoundFlags.resetFlags();
|
|
this.mBoundFlags.addFlags(i);
|
|
return this.mBoundFlags.boundsMatch();
|
|
}
|
|
}
|