99 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package com.google.android.material.sidesheet;
 | |
| 
 | |
| import android.view.View;
 | |
| import android.view.ViewGroup;
 | |
| import androidx.coordinatorlayout.widget.CoordinatorLayout;
 | |
| 
 | |
| /* loaded from: classes.dex */
 | |
| final class RightSheetDelegate extends SheetDelegate {
 | |
|     final SideSheetBehavior<? extends View> sheetBehavior;
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     int getSheetEdge() {
 | |
|         return 0;
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     boolean isExpandingOutwards(float f) {
 | |
|         return f < 0.0f;
 | |
|     }
 | |
| 
 | |
|     RightSheetDelegate(SideSheetBehavior<? extends View> sideSheetBehavior) {
 | |
|         this.sheetBehavior = sideSheetBehavior;
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     int getHiddenOffset() {
 | |
|         return this.sheetBehavior.getParentWidth();
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     int getExpandedOffset() {
 | |
|         return Math.max(0, (getHiddenOffset() - this.sheetBehavior.getChildWidth()) - this.sheetBehavior.getInnerMargin());
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     boolean isReleasedCloseToInnerEdge(View view) {
 | |
|         return view.getLeft() > (getHiddenOffset() + getExpandedOffset()) / 2;
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     boolean isSwipeSignificant(float f, float f2) {
 | |
|         return SheetUtils.isSwipeMostlyHorizontal(f, f2) && Math.abs(f) > ((float) this.sheetBehavior.getSignificantVelocityThreshold());
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     boolean shouldHide(View view, float f) {
 | |
|         return Math.abs(((float) view.getRight()) + (f * this.sheetBehavior.getHideFriction())) > this.sheetBehavior.getHideThreshold();
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     <V extends View> int getOuterEdge(V v) {
 | |
|         return v.getLeft() - this.sheetBehavior.getInnerMargin();
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     float calculateSlideOffset(int i) {
 | |
|         float hiddenOffset = getHiddenOffset();
 | |
|         return (hiddenOffset - i) / (hiddenOffset - getExpandedOffset());
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     void updateCoplanarSiblingLayoutParams(ViewGroup.MarginLayoutParams marginLayoutParams, int i, int i2) {
 | |
|         int parentWidth = this.sheetBehavior.getParentWidth();
 | |
|         if (i <= parentWidth) {
 | |
|             marginLayoutParams.rightMargin = parentWidth - i;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     void updateCoplanarSiblingAdjacentMargin(ViewGroup.MarginLayoutParams marginLayoutParams, int i) {
 | |
|         marginLayoutParams.rightMargin = i;
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     int getCoplanarSiblingAdjacentMargin(ViewGroup.MarginLayoutParams marginLayoutParams) {
 | |
|         return marginLayoutParams.rightMargin;
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     public int getParentInnerEdge(CoordinatorLayout coordinatorLayout) {
 | |
|         return coordinatorLayout.getRight();
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     int calculateInnerMargin(ViewGroup.MarginLayoutParams marginLayoutParams) {
 | |
|         return marginLayoutParams.rightMargin;
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     int getMinViewPositionHorizontal() {
 | |
|         return getExpandedOffset();
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     int getMaxViewPositionHorizontal() {
 | |
|         return this.sheetBehavior.getParentWidth();
 | |
|     }
 | |
| }
 |