98 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			98 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 LeftSheetDelegate extends SheetDelegate {
 | |
|     final SideSheetBehavior<? extends View> sheetBehavior;
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     int getSheetEdge() {
 | |
|         return 1;
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     boolean isExpandingOutwards(float f) {
 | |
|         return f > 0.0f;
 | |
|     }
 | |
| 
 | |
|     LeftSheetDelegate(SideSheetBehavior<? extends View> sideSheetBehavior) {
 | |
|         this.sheetBehavior = sideSheetBehavior;
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     int getHiddenOffset() {
 | |
|         return (-this.sheetBehavior.getChildWidth()) - this.sheetBehavior.getInnerMargin();
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     int getExpandedOffset() {
 | |
|         return Math.max(0, this.sheetBehavior.getParentInnerEdge() + this.sheetBehavior.getInnerMargin());
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     boolean isReleasedCloseToInnerEdge(View view) {
 | |
|         return view.getRight() < (getExpandedOffset() - getHiddenOffset()) / 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.getLeft()) + (f * this.sheetBehavior.getHideFriction())) > this.sheetBehavior.getHideThreshold();
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     <V extends View> int getOuterEdge(V v) {
 | |
|         return v.getRight() + this.sheetBehavior.getInnerMargin();
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     float calculateSlideOffset(int i) {
 | |
|         float hiddenOffset = getHiddenOffset();
 | |
|         return (i - hiddenOffset) / (getExpandedOffset() - hiddenOffset);
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     void updateCoplanarSiblingLayoutParams(ViewGroup.MarginLayoutParams marginLayoutParams, int i, int i2) {
 | |
|         if (i <= this.sheetBehavior.getParentWidth()) {
 | |
|             marginLayoutParams.leftMargin = i2;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     void updateCoplanarSiblingAdjacentMargin(ViewGroup.MarginLayoutParams marginLayoutParams, int i) {
 | |
|         marginLayoutParams.leftMargin = i;
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     int getCoplanarSiblingAdjacentMargin(ViewGroup.MarginLayoutParams marginLayoutParams) {
 | |
|         return marginLayoutParams.leftMargin;
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     public int getParentInnerEdge(CoordinatorLayout coordinatorLayout) {
 | |
|         return coordinatorLayout.getLeft();
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     int calculateInnerMargin(ViewGroup.MarginLayoutParams marginLayoutParams) {
 | |
|         return marginLayoutParams.leftMargin;
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     int getMinViewPositionHorizontal() {
 | |
|         return -this.sheetBehavior.getChildWidth();
 | |
|     }
 | |
| 
 | |
|     @Override // com.google.android.material.sidesheet.SheetDelegate
 | |
|     int getMaxViewPositionHorizontal() {
 | |
|         return this.sheetBehavior.getInnerMargin();
 | |
|     }
 | |
| }
 |