mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2024-12-27 01:22:33 -06:00
242 lines
9.9 KiB
Java
242 lines
9.9 KiB
Java
package androidx.recyclerview.widget;
|
|
|
|
import android.graphics.Rect;
|
|
import android.view.View;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public abstract class OrientationHelper {
|
|
public static final int HORIZONTAL = 0;
|
|
private static final int INVALID_SIZE = Integer.MIN_VALUE;
|
|
public static final int VERTICAL = 1;
|
|
private int mLastTotalSpace;
|
|
protected final RecyclerView.LayoutManager mLayoutManager;
|
|
final Rect mTmpRect;
|
|
|
|
public abstract int getDecoratedEnd(View view);
|
|
|
|
public abstract int getDecoratedMeasurement(View view);
|
|
|
|
public abstract int getDecoratedMeasurementInOther(View view);
|
|
|
|
public abstract int getDecoratedStart(View view);
|
|
|
|
public abstract int getEnd();
|
|
|
|
public abstract int getEndAfterPadding();
|
|
|
|
public abstract int getEndPadding();
|
|
|
|
public RecyclerView.LayoutManager getLayoutManager() {
|
|
return this.mLayoutManager;
|
|
}
|
|
|
|
public abstract int getMode();
|
|
|
|
public abstract int getModeInOther();
|
|
|
|
public abstract int getStartAfterPadding();
|
|
|
|
public abstract int getTotalSpace();
|
|
|
|
public abstract int getTransformedEndWithDecoration(View view);
|
|
|
|
public abstract int getTransformedStartWithDecoration(View view);
|
|
|
|
public abstract void offsetChild(View view, int i);
|
|
|
|
public abstract void offsetChildren(int i);
|
|
|
|
private OrientationHelper(RecyclerView.LayoutManager layoutManager) {
|
|
this.mLastTotalSpace = Integer.MIN_VALUE;
|
|
this.mTmpRect = new Rect();
|
|
this.mLayoutManager = layoutManager;
|
|
}
|
|
|
|
public void onLayoutComplete() {
|
|
this.mLastTotalSpace = getTotalSpace();
|
|
}
|
|
|
|
public int getTotalSpaceChange() {
|
|
if (Integer.MIN_VALUE == this.mLastTotalSpace) {
|
|
return 0;
|
|
}
|
|
return getTotalSpace() - this.mLastTotalSpace;
|
|
}
|
|
|
|
public static OrientationHelper createOrientationHelper(RecyclerView.LayoutManager layoutManager, int i) {
|
|
if (i == 0) {
|
|
return createHorizontalHelper(layoutManager);
|
|
}
|
|
if (i == 1) {
|
|
return createVerticalHelper(layoutManager);
|
|
}
|
|
throw new IllegalArgumentException("invalid orientation");
|
|
}
|
|
|
|
public static OrientationHelper createHorizontalHelper(RecyclerView.LayoutManager layoutManager) {
|
|
return new OrientationHelper(layoutManager) { // from class: androidx.recyclerview.widget.OrientationHelper.1
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getEndAfterPadding() {
|
|
return this.mLayoutManager.getWidth() - this.mLayoutManager.getPaddingRight();
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getEnd() {
|
|
return this.mLayoutManager.getWidth();
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public void offsetChildren(int i) {
|
|
this.mLayoutManager.offsetChildrenHorizontal(i);
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getStartAfterPadding() {
|
|
return this.mLayoutManager.getPaddingLeft();
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getDecoratedMeasurement(View view) {
|
|
RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams) view.getLayoutParams();
|
|
return this.mLayoutManager.getDecoratedMeasuredWidth(view) + layoutParams.leftMargin + layoutParams.rightMargin;
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getDecoratedMeasurementInOther(View view) {
|
|
RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams) view.getLayoutParams();
|
|
return this.mLayoutManager.getDecoratedMeasuredHeight(view) + layoutParams.topMargin + layoutParams.bottomMargin;
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getDecoratedEnd(View view) {
|
|
return this.mLayoutManager.getDecoratedRight(view) + ((RecyclerView.LayoutParams) view.getLayoutParams()).rightMargin;
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getDecoratedStart(View view) {
|
|
return this.mLayoutManager.getDecoratedLeft(view) - ((RecyclerView.LayoutParams) view.getLayoutParams()).leftMargin;
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getTransformedEndWithDecoration(View view) {
|
|
this.mLayoutManager.getTransformedBoundingBox(view, true, this.mTmpRect);
|
|
return this.mTmpRect.right;
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getTransformedStartWithDecoration(View view) {
|
|
this.mLayoutManager.getTransformedBoundingBox(view, true, this.mTmpRect);
|
|
return this.mTmpRect.left;
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getTotalSpace() {
|
|
return (this.mLayoutManager.getWidth() - this.mLayoutManager.getPaddingLeft()) - this.mLayoutManager.getPaddingRight();
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public void offsetChild(View view, int i) {
|
|
view.offsetLeftAndRight(i);
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getEndPadding() {
|
|
return this.mLayoutManager.getPaddingRight();
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getMode() {
|
|
return this.mLayoutManager.getWidthMode();
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getModeInOther() {
|
|
return this.mLayoutManager.getHeightMode();
|
|
}
|
|
};
|
|
}
|
|
|
|
public static OrientationHelper createVerticalHelper(RecyclerView.LayoutManager layoutManager) {
|
|
return new OrientationHelper(layoutManager) { // from class: androidx.recyclerview.widget.OrientationHelper.2
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getEndAfterPadding() {
|
|
return this.mLayoutManager.getHeight() - this.mLayoutManager.getPaddingBottom();
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getEnd() {
|
|
return this.mLayoutManager.getHeight();
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public void offsetChildren(int i) {
|
|
this.mLayoutManager.offsetChildrenVertical(i);
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getStartAfterPadding() {
|
|
return this.mLayoutManager.getPaddingTop();
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getDecoratedMeasurement(View view) {
|
|
RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams) view.getLayoutParams();
|
|
return this.mLayoutManager.getDecoratedMeasuredHeight(view) + layoutParams.topMargin + layoutParams.bottomMargin;
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getDecoratedMeasurementInOther(View view) {
|
|
RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams) view.getLayoutParams();
|
|
return this.mLayoutManager.getDecoratedMeasuredWidth(view) + layoutParams.leftMargin + layoutParams.rightMargin;
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getDecoratedEnd(View view) {
|
|
return this.mLayoutManager.getDecoratedBottom(view) + ((RecyclerView.LayoutParams) view.getLayoutParams()).bottomMargin;
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getDecoratedStart(View view) {
|
|
return this.mLayoutManager.getDecoratedTop(view) - ((RecyclerView.LayoutParams) view.getLayoutParams()).topMargin;
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getTransformedEndWithDecoration(View view) {
|
|
this.mLayoutManager.getTransformedBoundingBox(view, true, this.mTmpRect);
|
|
return this.mTmpRect.bottom;
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getTransformedStartWithDecoration(View view) {
|
|
this.mLayoutManager.getTransformedBoundingBox(view, true, this.mTmpRect);
|
|
return this.mTmpRect.top;
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getTotalSpace() {
|
|
return (this.mLayoutManager.getHeight() - this.mLayoutManager.getPaddingTop()) - this.mLayoutManager.getPaddingBottom();
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public void offsetChild(View view, int i) {
|
|
view.offsetTopAndBottom(i);
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getEndPadding() {
|
|
return this.mLayoutManager.getPaddingBottom();
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getMode() {
|
|
return this.mLayoutManager.getHeightMode();
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.OrientationHelper
|
|
public int getModeInOther() {
|
|
return this.mLayoutManager.getWidthMode();
|
|
}
|
|
};
|
|
}
|
|
}
|