ADD week 5
This commit is contained in:
		| @@ -0,0 +1,242 @@ | ||||
| package androidx.recyclerview.widget; | ||||
|  | ||||
| import android.graphics.Rect; | ||||
| import android.view.View; | ||||
| import androidx.recyclerview.widget.RecyclerView; | ||||
|  | ||||
| /* loaded from: classes.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(); | ||||
|             } | ||||
|         }; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user