ADD week 5
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user