CrackMe.apk
Download file
package androidx.slidingpanelayout.widget;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.view.accessibility.AccessibilityEvent;
import androidx.core.content.ContextCompat;
import androidx.core.view.AccessibilityDelegateCompat;
import androidx.core.view.ViewCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import androidx.customview.view.AbsSavedState;
import androidx.customview.widget.ViewDragHelper;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
public class SlidingPaneLayout extends ViewGroup {
private static final int DEFAULT_FADE_COLOR = -858993460;
private static final int DEFAULT_OVERHANG_SIZE = 32;
private static final int MIN_FLING_VELOCITY = 400;
private static final String TAG = "SlidingPaneLayout";
private boolean mCanSlide;
private int mCoveredFadeColor;
private boolean mDisplayListReflectionLoaded;
final ViewDragHelper mDragHelper;
private boolean mFirstLayout;
private Method mGetDisplayList;
private float mInitialMotionX;
private float mInitialMotionY;
boolean mIsUnableToDrag;
private final int mOverhangSize;
private PanelSlideListener mPanelSlideListener;
private int mParallaxBy;
private float mParallaxOffset;
final ArrayList<DisableLayerRunnable> mPostedRunnables;
boolean mPreservedOpenState;
private Field mRecreateDisplayList;
private Drawable mShadowDrawableLeft;
private Drawable mShadowDrawableRight;
float mSlideOffset;
int mSlideRange;
View mSlideableView;
private int mSliderFadeColor;
private final Rect mTmpRect;
public interface PanelSlideListener {
void onPanelClosed(View view);
void onPanelOpened(View view);
void onPanelSlide(View view, float f);
}
public static class SimplePanelSlideListener implements PanelSlideListener {
public void onPanelClosed(View view) {
}
public void onPanelOpened(View view) {
}
public void onPanelSlide(View view, float f) {
}
}
public SlidingPaneLayout(Context context) {
this(context, (AttributeSet) null);
}
public SlidingPaneLayout(Context context, AttributeSet attributeSet) {
this(context, attributeSet, 0);
}
public SlidingPaneLayout(Context context, AttributeSet attributeSet, int i) {
super(context, attributeSet, i);
this.mSliderFadeColor = DEFAULT_FADE_COLOR;
this.mFirstLayout = true;
this.mTmpRect = new Rect();
this.mPostedRunnables = new ArrayList<>();
float f = context.getResources().getDisplayMetrics().density;
this.mOverhangSize = (int) ((32.0f * f) + 0.5f);
setWillNotDraw(false);
ViewCompat.setAccessibilityDelegate(this, new AccessibilityDelegate());
ViewCompat.setImportantForAccessibility(this, 1);
ViewDragHelper create = ViewDragHelper.create(this, 0.5f, new DragHelperCallback());
this.mDragHelper = create;
create.setMinVelocity(f * 400.0f);
}
public void setParallaxDistance(int i) {
this.mParallaxBy = i;
requestLayout();
}
public int getParallaxDistance() {
return this.mParallaxBy;
}
public void setSliderFadeColor(int i) {
this.mSliderFadeColor = i;
}
public int getSliderFadeColor() {
return this.mSliderFadeColor;
}
public void setCoveredFadeColor(int i) {
this.mCoveredFadeColor = i;
}
public int getCoveredFadeColor() {
return this.mCoveredFadeColor;
}
public void setPanelSlideListener(PanelSlideListener panelSlideListener) {
this.mPanelSlideListener = panelSlideListener;
}
/* access modifiers changed from: package-private */
public void dispatchOnPanelSlide(View view) {
PanelSlideListener panelSlideListener = this.mPanelSlideListener;
if (panelSlideListener != null) {
panelSlideListener.onPanelSlide(view, this.mSlideOffset);
}
}
/* access modifiers changed from: package-private */
public void dispatchOnPanelOpened(View view) {
PanelSlideListener panelSlideListener = this.mPanelSlideListener;
if (panelSlideListener != null) {
panelSlideListener.onPanelOpened(view);
}
sendAccessibilityEvent(32);
}
/* access modifiers changed from: package-private */
public void dispatchOnPanelClosed(View view) {
PanelSlideListener panelSlideListener = this.mPanelSlideListener;
if (panelSlideListener != null) {
panelSlideListener.onPanelClosed(view);
}
sendAccessibilityEvent(32);
}
/* access modifiers changed from: package-private */
public void updateObscuredViewsVisibility(View view) {
int i;
int i2;
int i3;
int i4;
View childAt;
boolean z;
View view2 = view;
boolean isLayoutRtlSupport = isLayoutRtlSupport();
int width = isLayoutRtlSupport ? getWidth() - getPaddingRight() : getPaddingLeft();
int paddingLeft = isLayoutRtlSupport ? getPaddingLeft() : getWidth() - getPaddingRight();
int paddingTop = getPaddingTop();
int height = getHeight() - getPaddingBottom();
if (view2 == null || !viewIsOpaque(view)) {
i4 = 0;
i3 = 0;
i2 = 0;
i = 0;
} else {
i4 = view.getLeft();
i3 = view.getRight();
i2 = view.getTop();
i = view.getBottom();
}
int childCount = getChildCount();
int i5 = 0;
while (true) {
if (i5 < childCount && (childAt = getChildAt(i5)) != view2) {
if (childAt.getVisibility() == 8) {
z = isLayoutRtlSupport;
} else {
z = isLayoutRtlSupport;
childAt.setVisibility((Math.max(isLayoutRtlSupport ? paddingLeft : width, childAt.getLeft()) < i4 || Math.max(paddingTop, childAt.getTop()) < i2 || Math.min(isLayoutRtlSupport ? width : paddingLeft, childAt.getRight()) > i3 || Math.min(height, childAt.getBottom()) > i) ? 0 : 4);
}
i5++;
view2 = view;
isLayoutRtlSupport = z;
} else {
return;
}
}
}
/* access modifiers changed from: package-private */
public void setAllChildrenVisible() {
int childCount = getChildCount();
for (int i = 0; i < childCount; i++) {
View childAt = getChildAt(i);
if (childAt.getVisibility() == 4) {
childAt.setVisibility(0);
}
}
}
private static boolean viewIsOpaque(View view) {
Drawable background;
if (view.isOpaque()) {
return true;
}
if (Build.VERSION.SDK_INT < 18 && (background = view.getBackground()) != null && background.getOpacity() == -1) {
return true;
}
return false;
}
/* access modifiers changed from: protected */
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.mFirstLayout = true;
}
/* access modifiers changed from: protected */
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
this.mFirstLayout = true;
int size = this.mPostedRunnables.size();
for (int i = 0; i < size; i++) {
this.mPostedRunnables.get(i).run();
}
this.mPostedRunnables.clear();
}
/* access modifiers changed from: protected */
public void onMeasure(int i, int i2) {
int i3;
int i4;
int i5;
int i6;
int i7;
int i8;
int i9;
int i10;
int i11;
int i12;
int mode = View.MeasureSpec.getMode(i);
int size = View.MeasureSpec.getSize(i);
int mode2 = View.MeasureSpec.getMode(i2);
int size2 = View.MeasureSpec.getSize(i2);
if (mode != 1073741824) {
if (!isInEditMode()) {
throw new IllegalStateException("Width must have an exact value or MATCH_PARENT");
} else if (mode != Integer.MIN_VALUE && mode == 0) {
size = 300;
}
} else if (mode2 == 0) {
if (!isInEditMode()) {
throw new IllegalStateException("Height must not be UNSPECIFIED");
} else if (mode2 == 0) {
mode2 = Integer.MIN_VALUE;
size2 = 300;
}
}
boolean z = false;
if (mode2 == Integer.MIN_VALUE) {
i3 = (size2 - getPaddingTop()) - getPaddingBottom();
i4 = 0;
} else if (mode2 != 1073741824) {
i4 = 0;
i3 = 0;
} else {
i4 = (size2 - getPaddingTop()) - getPaddingBottom();
i3 = i4;
}
int paddingLeft = (size - getPaddingLeft()) - getPaddingRight();
int childCount = getChildCount();
if (childCount > 2) {
Log.e(TAG, "onMeasure: More than two child views are not supported.");
}
this.mSlideableView = null;
int i13 = paddingLeft;
int i14 = 0;
boolean z2 = false;
float f = 0.0f;
while (true) {
i5 = 8;
if (i14 >= childCount) {
break;
}
View childAt = getChildAt(i14);
LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams();
if (childAt.getVisibility() == 8) {
layoutParams.dimWhenOffset = z;
} else {
if (layoutParams.weight > 0.0f) {
f += layoutParams.weight;
if (layoutParams.width == 0) {
}
}
int i15 = layoutParams.leftMargin + layoutParams.rightMargin;
if (layoutParams.width == -2) {
i11 = View.MeasureSpec.makeMeasureSpec(paddingLeft - i15, Integer.MIN_VALUE);
} else if (layoutParams.width == -1) {
i11 = View.MeasureSpec.makeMeasureSpec(paddingLeft - i15, 1073741824);
} else {
i11 = View.MeasureSpec.makeMeasureSpec(layoutParams.width, 1073741824);
}
if (layoutParams.height == -2) {
i12 = View.MeasureSpec.makeMeasureSpec(i3, Integer.MIN_VALUE);
} else if (layoutParams.height == -1) {
i12 = View.MeasureSpec.makeMeasureSpec(i3, 1073741824);
} else {
i12 = View.MeasureSpec.makeMeasureSpec(layoutParams.height, 1073741824);
}
childAt.measure(i11, i12);
int measuredWidth = childAt.getMeasuredWidth();
int measuredHeight = childAt.getMeasuredHeight();
if (mode2 == Integer.MIN_VALUE && measuredHeight > i4) {
i4 = Math.min(measuredHeight, i3);
}
i13 -= measuredWidth;
boolean z3 = i13 < 0;
layoutParams.slideable = z3;
z2 |= z3;
if (layoutParams.slideable) {
this.mSlideableView = childAt;
}
}
i14++;
z = false;
}
if (z2 || f > 0.0f) {
int i16 = paddingLeft - this.mOverhangSize;
int i17 = 0;
while (i17 < childCount) {
View childAt2 = getChildAt(i17);
if (childAt2.getVisibility() != i5) {
LayoutParams layoutParams2 = (LayoutParams) childAt2.getLayoutParams();
if (childAt2.getVisibility() != i5) {
boolean z4 = layoutParams2.width == 0 && layoutParams2.weight > 0.0f;
if (z4) {
i7 = 0;
} else {
i7 = childAt2.getMeasuredWidth();
}
if (!z2 || childAt2 == this.mSlideableView) {
if (layoutParams2.weight > 0.0f) {
if (layoutParams2.width != 0) {
i8 = View.MeasureSpec.makeMeasureSpec(childAt2.getMeasuredHeight(), 1073741824);
} else if (layoutParams2.height == -2) {
i8 = View.MeasureSpec.makeMeasureSpec(i3, Integer.MIN_VALUE);
} else if (layoutParams2.height == -1) {
i8 = View.MeasureSpec.makeMeasureSpec(i3, 1073741824);
} else {
i8 = View.MeasureSpec.makeMeasureSpec(layoutParams2.height, 1073741824);
}
if (z2) {
int i18 = paddingLeft - (layoutParams2.leftMargin + layoutParams2.rightMargin);
i6 = i16;
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(i18, 1073741824);
if (i7 != i18) {
childAt2.measure(makeMeasureSpec, i8);
}
i17++;
i16 = i6;
i5 = 8;
} else {
i6 = i16;
childAt2.measure(View.MeasureSpec.makeMeasureSpec(i7 + ((int) ((layoutParams2.weight * ((float) Math.max(0, i13))) / f)), 1073741824), i8);
i17++;
i16 = i6;
i5 = 8;
}
}
} else if (layoutParams2.width < 0 && (i7 > i16 || layoutParams2.weight > 0.0f)) {
if (!z4) {
i9 = 1073741824;
i10 = View.MeasureSpec.makeMeasureSpec(childAt2.getMeasuredHeight(), 1073741824);
} else if (layoutParams2.height == -2) {
i10 = View.MeasureSpec.makeMeasureSpec(i3, Integer.MIN_VALUE);
i9 = 1073741824;
} else if (layoutParams2.height == -1) {
i9 = 1073741824;
i10 = View.MeasureSpec.makeMeasureSpec(i3, 1073741824);
} else {
i9 = 1073741824;
i10 = View.MeasureSpec.makeMeasureSpec(layoutParams2.height, 1073741824);
}
childAt2.measure(View.MeasureSpec.makeMeasureSpec(i16, i9), i10);
}
}
}
i6 = i16;
i17++;
i16 = i6;
i5 = 8;
}
}
setMeasuredDimension(size, i4 + getPaddingTop() + getPaddingBottom());
this.mCanSlide = z2;
if (this.mDragHelper.getViewDragState() != 0 && !z2) {
this.mDragHelper.abort();
}
}
/* access modifiers changed from: protected */
public void onLayout(boolean z, int i, int i2, int i3, int i4) {
int i5;
int i6;
int i7;
int i8;
boolean isLayoutRtlSupport = isLayoutRtlSupport();
if (isLayoutRtlSupport) {
this.mDragHelper.setEdgeTrackingEnabled(2);
} else {
this.mDragHelper.setEdgeTrackingEnabled(1);
}
int i9 = i3 - i;
int paddingRight = isLayoutRtlSupport ? getPaddingRight() : getPaddingLeft();
int paddingLeft = isLayoutRtlSupport ? getPaddingLeft() : getPaddingRight();
int paddingTop = getPaddingTop();
int childCount = getChildCount();
if (this.mFirstLayout) {
this.mSlideOffset = (!this.mCanSlide || !this.mPreservedOpenState) ? 0.0f : 1.0f;
}
int i10 = paddingRight;
for (int i11 = 0; i11 < childCount; i11++) {
View childAt = getChildAt(i11);
if (childAt.getVisibility() != 8) {
LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams();
int measuredWidth = childAt.getMeasuredWidth();
if (layoutParams.slideable) {
int i12 = i9 - paddingLeft;
int min = (Math.min(paddingRight, i12 - this.mOverhangSize) - i10) - (layoutParams.leftMargin + layoutParams.rightMargin);
this.mSlideRange = min;
int i13 = isLayoutRtlSupport ? layoutParams.rightMargin : layoutParams.leftMargin;
layoutParams.dimWhenOffset = ((i10 + i13) + min) + (measuredWidth / 2) > i12;
int i14 = (int) (((float) min) * this.mSlideOffset);
i10 += i13 + i14;
this.mSlideOffset = ((float) i14) / ((float) this.mSlideRange);
i5 = 0;
} else if (!this.mCanSlide || (i8 = this.mParallaxBy) == 0) {
i10 = paddingRight;
i5 = 0;
} else {
i5 = (int) ((1.0f - this.mSlideOffset) * ((float) i8));
i10 = paddingRight;
}
if (isLayoutRtlSupport) {
i6 = (i9 - i10) + i5;
i7 = i6 - measuredWidth;
} else {
i7 = i10 - i5;
i6 = i7 + measuredWidth;
}
childAt.layout(i7, paddingTop, i6, childAt.getMeasuredHeight() + paddingTop);
paddingRight += childAt.getWidth();
}
}
if (this.mFirstLayout) {
if (this.mCanSlide) {
if (this.mParallaxBy != 0) {
parallaxOtherViews(this.mSlideOffset);
}
if (((LayoutParams) this.mSlideableView.getLayoutParams()).dimWhenOffset) {
dimChildView(this.mSlideableView, this.mSlideOffset, this.mSliderFadeColor);
}
} else {
for (int i15 = 0; i15 < childCount; i15++) {
dimChildView(getChildAt(i15), 0.0f, this.mSliderFadeColor);
}
}
updateObscuredViewsVisibility(this.mSlideableView);
}
this.mFirstLayout = false;
}
/* access modifiers changed from: protected */
public void onSizeChanged(int i, int i2, int i3, int i4) {
super.onSizeChanged(i, i2, i3, i4);
if (i != i3) {
this.mFirstLayout = true;
}
}
public void requestChildFocus(View view, View view2) {
super.requestChildFocus(view, view2);
if (!isInTouchMode() && !this.mCanSlide) {
this.mPreservedOpenState = view == this.mSlideableView;
}
}
public boolean onInterceptTouchEvent(MotionEvent motionEvent) {
boolean z;
View childAt;
int actionMasked = motionEvent.getActionMasked();
if (!this.mCanSlide && actionMasked == 0 && getChildCount() > 1 && (childAt = getChildAt(1)) != null) {
this.mPreservedOpenState = !this.mDragHelper.isViewUnder(childAt, (int) motionEvent.getX(), (int) motionEvent.getY());
}
if (!this.mCanSlide || (this.mIsUnableToDrag && actionMasked != 0)) {
this.mDragHelper.cancel();
return super.onInterceptTouchEvent(motionEvent);
} else if (actionMasked == 3 || actionMasked == 1) {
this.mDragHelper.cancel();
return false;
} else {
if (actionMasked == 0) {
this.mIsUnableToDrag = false;
float x = motionEvent.getX();
float y = motionEvent.getY();
this.mInitialMotionX = x;
this.mInitialMotionY = y;
if (this.mDragHelper.isViewUnder(this.mSlideableView, (int) x, (int) y) && isDimmed(this.mSlideableView)) {
z = true;
if (this.mDragHelper.shouldInterceptTouchEvent(motionEvent) && !z) {
return false;
}
}
} else if (actionMasked == 2) {
float x2 = motionEvent.getX();
float y2 = motionEvent.getY();
float abs = Math.abs(x2 - this.mInitialMotionX);
float abs2 = Math.abs(y2 - this.mInitialMotionY);
if (abs > ((float) this.mDragHelper.getTouchSlop()) && abs2 > abs) {
this.mDragHelper.cancel();
this.mIsUnableToDrag = true;
return false;
}
}
z = false;
return this.mDragHelper.shouldInterceptTouchEvent(motionEvent) ? true : true;
}
}
public boolean onTouchEvent(MotionEvent motionEvent) {
if (!this.mCanSlide) {
return super.onTouchEvent(motionEvent);
}
this.mDragHelper.processTouchEvent(motionEvent);
int actionMasked = motionEvent.getActionMasked();
if (actionMasked == 0) {
float x = motionEvent.getX();
float y = motionEvent.getY();
this.mInitialMotionX = x;
this.mInitialMotionY = y;
} else if (actionMasked == 1 && isDimmed(this.mSlideableView)) {
float x2 = motionEvent.getX();
float y2 = motionEvent.getY();
float f = x2 - this.mInitialMotionX;
float f2 = y2 - this.mInitialMotionY;
int touchSlop = this.mDragHelper.getTouchSlop();
if ((f * f) + (f2 * f2) < ((float) (touchSlop * touchSlop)) && this.mDragHelper.isViewUnder(this.mSlideableView, (int) x2, (int) y2)) {
closePane(this.mSlideableView, 0);
}
}
return true;
}
private boolean closePane(View view, int i) {
if (!this.mFirstLayout && !smoothSlideTo(0.0f, i)) {
return false;
}
this.mPreservedOpenState = false;
return true;
}
private boolean openPane(View view, int i) {
if (!this.mFirstLayout && !smoothSlideTo(1.0f, i)) {
return false;
}
this.mPreservedOpenState = true;
return true;
}
@Deprecated
public void smoothSlideOpen() {
openPane();
}
public boolean openPane() {
return openPane(this.mSlideableView, 0);
}
@Deprecated
public void smoothSlideClosed() {
closePane();
}
public boolean closePane() {
return closePane(this.mSlideableView, 0);
}
public boolean isOpen() {
return !this.mCanSlide || this.mSlideOffset == 1.0f;
}
@Deprecated
public boolean canSlide() {
return this.mCanSlide;
}
public boolean isSlideable() {
return this.mCanSlide;
}
/* access modifiers changed from: package-private */
public void onPanelDragged(int i) {
if (this.mSlideableView == null) {
this.mSlideOffset = 0.0f;
return;
}
boolean isLayoutRtlSupport = isLayoutRtlSupport();
LayoutParams layoutParams = (LayoutParams) this.mSlideableView.getLayoutParams();
int width = this.mSlideableView.getWidth();
if (isLayoutRtlSupport) {
i = (getWidth() - i) - width;
}
float paddingRight = ((float) (i - ((isLayoutRtlSupport ? getPaddingRight() : getPaddingLeft()) + (isLayoutRtlSupport ? layoutParams.rightMargin : layoutParams.leftMargin)))) / ((float) this.mSlideRange);
this.mSlideOffset = paddingRight;
if (this.mParallaxBy != 0) {
parallaxOtherViews(paddingRight);
}
if (layoutParams.dimWhenOffset) {
dimChildView(this.mSlideableView, this.mSlideOffset, this.mSliderFadeColor);
}
dispatchOnPanelSlide(this.mSlideableView);
}
private void dimChildView(View view, float f, int i) {
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
if (f > 0.0f && i != 0) {
int i2 = (((int) (((float) ((-16777216 & i) >>> 24)) * f)) << 24) | (i & ViewCompat.MEASURED_SIZE_MASK);
if (layoutParams.dimPaint == null) {
layoutParams.dimPaint = new Paint();
}
layoutParams.dimPaint.setColorFilter(new PorterDuffColorFilter(i2, PorterDuff.Mode.SRC_OVER));
if (view.getLayerType() != 2) {
view.setLayerType(2, layoutParams.dimPaint);
}
invalidateChildRegion(view);
} else if (view.getLayerType() != 0) {
if (layoutParams.dimPaint != null) {
layoutParams.dimPaint.setColorFilter((ColorFilter) null);
}
DisableLayerRunnable disableLayerRunnable = new DisableLayerRunnable(view);
this.mPostedRunnables.add(disableLayerRunnable);
ViewCompat.postOnAnimation(this, disableLayerRunnable);
}
}
/* access modifiers changed from: protected */
public boolean drawChild(Canvas canvas, View view, long j) {
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
int save = canvas.save();
if (this.mCanSlide && !layoutParams.slideable && this.mSlideableView != null) {
canvas.getClipBounds(this.mTmpRect);
if (isLayoutRtlSupport()) {
Rect rect = this.mTmpRect;
rect.left = Math.max(rect.left, this.mSlideableView.getRight());
} else {
Rect rect2 = this.mTmpRect;
rect2.right = Math.min(rect2.right, this.mSlideableView.getLeft());
}
canvas.clipRect(this.mTmpRect);
}
boolean drawChild = super.drawChild(canvas, view, j);
canvas.restoreToCount(save);
return drawChild;
}
/* access modifiers changed from: package-private */
public void invalidateChildRegion(View view) {
Field field;
if (Build.VERSION.SDK_INT >= 17) {
ViewCompat.setLayerPaint(view, ((LayoutParams) view.getLayoutParams()).dimPaint);
return;
}
if (Build.VERSION.SDK_INT >= 16) {
if (!this.mDisplayListReflectionLoaded) {
try {
Class[] clsArr = null;
this.mGetDisplayList = View.class.getDeclaredMethod("getDisplayList", (Class[]) null);
} catch (NoSuchMethodException e) {
Log.e(TAG, "Couldn't fetch getDisplayList method; dimming won't work right.", e);
}
try {
Field declaredField = View.class.getDeclaredField("mRecreateDisplayList");
this.mRecreateDisplayList = declaredField;
declaredField.setAccessible(true);
} catch (NoSuchFieldException e2) {
Log.e(TAG, "Couldn't fetch mRecreateDisplayList field; dimming will be slow.", e2);
}
this.mDisplayListReflectionLoaded = true;
}
if (this.mGetDisplayList == null || (field = this.mRecreateDisplayList) == null) {
view.invalidate();
return;
}
try {
field.setBoolean(view, true);
Object[] objArr = null;
this.mGetDisplayList.invoke(view, (Object[]) null);
} catch (Exception e3) {
Log.e(TAG, "Error refreshing display list state", e3);
}
}
ViewCompat.postInvalidateOnAnimation(this, view.getLeft(), view.getTop(), view.getRight(), view.getBottom());
}
/* access modifiers changed from: package-private */
public boolean smoothSlideTo(float f, int i) {
int i2;
if (!this.mCanSlide) {
return false;
}
boolean isLayoutRtlSupport = isLayoutRtlSupport();
LayoutParams layoutParams = (LayoutParams) this.mSlideableView.getLayoutParams();
if (isLayoutRtlSupport) {
i2 = (int) (((float) getWidth()) - ((((float) (getPaddingRight() + layoutParams.rightMargin)) + (f * ((float) this.mSlideRange))) + ((float) this.mSlideableView.getWidth())));
} else {
i2 = (int) (((float) (getPaddingLeft() + layoutParams.leftMargin)) + (f * ((float) this.mSlideRange)));
}
ViewDragHelper viewDragHelper = this.mDragHelper;
View view = this.mSlideableView;
if (!viewDragHelper.smoothSlideViewTo(view, i2, view.getTop())) {
return false;
}
setAllChildrenVisible();
ViewCompat.postInvalidateOnAnimation(this);
return true;
}
public void computeScroll() {
if (!this.mDragHelper.continueSettling(true)) {
return;
}
if (!this.mCanSlide) {
this.mDragHelper.abort();
} else {
ViewCompat.postInvalidateOnAnimation(this);
}
}
@Deprecated
public void setShadowDrawable(Drawable drawable) {
setShadowDrawableLeft(drawable);
}
public void setShadowDrawableLeft(Drawable drawable) {
this.mShadowDrawableLeft = drawable;
}
public void setShadowDrawableRight(Drawable drawable) {
this.mShadowDrawableRight = drawable;
}
@Deprecated
public void setShadowResource(int i) {
setShadowDrawable(getResources().getDrawable(i));
}
public void setShadowResourceLeft(int i) {
setShadowDrawableLeft(ContextCompat.getDrawable(getContext(), i));
}
public void setShadowResourceRight(int i) {
setShadowDrawableRight(ContextCompat.getDrawable(getContext(), i));
}
public void draw(Canvas canvas) {
Drawable drawable;
int i;
int i2;
super.draw(canvas);
if (isLayoutRtlSupport()) {
drawable = this.mShadowDrawableRight;
} else {
drawable = this.mShadowDrawableLeft;
}
View childAt = getChildCount() > 1 ? getChildAt(1) : null;
if (childAt != null && drawable != null) {
int top = childAt.getTop();
int bottom = childAt.getBottom();
int intrinsicWidth = drawable.getIntrinsicWidth();
if (isLayoutRtlSupport()) {
i2 = childAt.getRight();
i = intrinsicWidth + i2;
} else {
int left = childAt.getLeft();
int i3 = left - intrinsicWidth;
i = left;
i2 = i3;
}
drawable.setBounds(i2, top, i, bottom);
drawable.draw(canvas);
}
}
/* JADX WARNING: Removed duplicated region for block: B:10:0x0023 */
/* Code decompiled incorrectly, please refer to instructions dump. */
private void parallaxOtherViews(float r10) {
/*
r9 = this;
boolean r0 = r9.isLayoutRtlSupport()
android.view.View r1 = r9.mSlideableView
android.view.ViewGroup$LayoutParams r1 = r1.getLayoutParams()
androidx.slidingpanelayout.widget.SlidingPaneLayout$LayoutParams r1 = (androidx.slidingpanelayout.widget.SlidingPaneLayout.LayoutParams) r1
boolean r2 = r1.dimWhenOffset
r3 = 0
if (r2 == 0) goto L_0x001c
if (r0 == 0) goto L_0x0016
int r1 = r1.rightMargin
goto L_0x0018
L_0x0016:
int r1 = r1.leftMargin
L_0x0018:
if (r1 > 0) goto L_0x001c
r1 = 1
goto L_0x001d
L_0x001c:
r1 = 0
L_0x001d:
int r2 = r9.getChildCount()
L_0x0021:
if (r3 >= r2) goto L_0x0059
android.view.View r4 = r9.getChildAt(r3)
android.view.View r5 = r9.mSlideableView
if (r4 != r5) goto L_0x002c
goto L_0x0056
L_0x002c:
float r5 = r9.mParallaxOffset
r6 = 1065353216(0x3f800000, float:1.0)
float r5 = r6 - r5
int r7 = r9.mParallaxBy
float r8 = (float) r7
float r5 = r5 * r8
int r5 = (int) r5
r9.mParallaxOffset = r10
float r8 = r6 - r10
float r7 = (float) r7
float r8 = r8 * r7
int r7 = (int) r8
int r5 = r5 - r7
if (r0 == 0) goto L_0x0044
int r5 = -r5
L_0x0044:
r4.offsetLeftAndRight(r5)
if (r1 == 0) goto L_0x0056
float r5 = r9.mParallaxOffset
if (r0 == 0) goto L_0x004f
float r5 = r5 - r6
goto L_0x0051
L_0x004f:
float r5 = r6 - r5
L_0x0051:
int r6 = r9.mCoveredFadeColor
r9.dimChildView(r4, r5, r6)
L_0x0056:
int r3 = r3 + 1
goto L_0x0021
L_0x0059:
return
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.slidingpanelayout.widget.SlidingPaneLayout.parallaxOtherViews(float):void");
}
/* access modifiers changed from: protected */
public boolean canScroll(View view, boolean z, int i, int i2, int i3) {
int i4;
View view2 = view;
if (view2 instanceof ViewGroup) {
ViewGroup viewGroup = (ViewGroup) view2;
int scrollX = view.getScrollX();
int scrollY = view.getScrollY();
for (int childCount = viewGroup.getChildCount() - 1; childCount >= 0; childCount--) {
View childAt = viewGroup.getChildAt(childCount);
int i5 = i2 + scrollX;
if (i5 >= childAt.getLeft() && i5 < childAt.getRight() && (i4 = i3 + scrollY) >= childAt.getTop() && i4 < childAt.getBottom()) {
if (canScroll(childAt, true, i, i5 - childAt.getLeft(), i4 - childAt.getTop())) {
return true;
}
}
}
}
if (z) {
if (view.canScrollHorizontally(isLayoutRtlSupport() ? i : -i)) {
return true;
}
}
return false;
}
/* access modifiers changed from: package-private */
public boolean isDimmed(View view) {
if (view == null) {
return false;
}
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
if (!this.mCanSlide || !layoutParams.dimWhenOffset || this.mSlideOffset <= 0.0f) {
return false;
}
return true;
}
/* access modifiers changed from: protected */
public ViewGroup.LayoutParams generateDefaultLayoutParams() {
return new LayoutParams();
}
/* access modifiers changed from: protected */
public ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams layoutParams) {
return layoutParams instanceof ViewGroup.MarginLayoutParams ? new LayoutParams((ViewGroup.MarginLayoutParams) layoutParams) : new LayoutParams(layoutParams);
}
/* access modifiers changed from: protected */
public boolean checkLayoutParams(ViewGroup.LayoutParams layoutParams) {
return (layoutParams instanceof LayoutParams) && super.checkLayoutParams(layoutParams);
}
public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attributeSet) {
return new LayoutParams(getContext(), attributeSet);
}
/* access modifiers changed from: protected */
public Parcelable onSaveInstanceState() {
SavedState savedState = new SavedState(super.onSaveInstanceState());
savedState.isOpen = isSlideable() ? isOpen() : this.mPreservedOpenState;
return savedState;
}
/* access modifiers changed from: protected */
public void onRestoreInstanceState(Parcelable parcelable) {
if (!(parcelable instanceof SavedState)) {
super.onRestoreInstanceState(parcelable);
return;
}
SavedState savedState = (SavedState) parcelable;
super.onRestoreInstanceState(savedState.getSuperState());
if (savedState.isOpen) {
openPane();
} else {
closePane();
}
this.mPreservedOpenState = savedState.isOpen;
}
private class DragHelperCallback extends ViewDragHelper.Callback {
DragHelperCallback() {
}
public boolean tryCaptureView(View view, int i) {
if (SlidingPaneLayout.this.mIsUnableToDrag) {
return false;
}
return ((LayoutParams) view.getLayoutParams()).slideable;
}
public void onViewDragStateChanged(int i) {
if (SlidingPaneLayout.this.mDragHelper.getViewDragState() != 0) {
return;
}
if (SlidingPaneLayout.this.mSlideOffset == 0.0f) {
SlidingPaneLayout slidingPaneLayout = SlidingPaneLayout.this;
slidingPaneLayout.updateObscuredViewsVisibility(slidingPaneLayout.mSlideableView);
SlidingPaneLayout slidingPaneLayout2 = SlidingPaneLayout.this;
slidingPaneLayout2.dispatchOnPanelClosed(slidingPaneLayout2.mSlideableView);
SlidingPaneLayout.this.mPreservedOpenState = false;
return;
}
SlidingPaneLayout slidingPaneLayout3 = SlidingPaneLayout.this;
slidingPaneLayout3.dispatchOnPanelOpened(slidingPaneLayout3.mSlideableView);
SlidingPaneLayout.this.mPreservedOpenState = true;
}
public void onViewCaptured(View view, int i) {
SlidingPaneLayout.this.setAllChildrenVisible();
}
public void onViewPositionChanged(View view, int i, int i2, int i3, int i4) {
SlidingPaneLayout.this.onPanelDragged(i);
SlidingPaneLayout.this.invalidate();
}
public void onViewReleased(View view, float f, float f2) {
int i;
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
if (SlidingPaneLayout.this.isLayoutRtlSupport()) {
int paddingRight = SlidingPaneLayout.this.getPaddingRight() + layoutParams.rightMargin;
if (f < 0.0f || (f == 0.0f && SlidingPaneLayout.this.mSlideOffset > 0.5f)) {
paddingRight += SlidingPaneLayout.this.mSlideRange;
}
i = (SlidingPaneLayout.this.getWidth() - paddingRight) - SlidingPaneLayout.this.mSlideableView.getWidth();
} else {
i = layoutParams.leftMargin + SlidingPaneLayout.this.getPaddingLeft();
int i2 = (f > 0.0f ? 1 : (f == 0.0f ? 0 : -1));
if (i2 > 0 || (i2 == 0 && SlidingPaneLayout.this.mSlideOffset > 0.5f)) {
i += SlidingPaneLayout.this.mSlideRange;
}
}
SlidingPaneLayout.this.mDragHelper.settleCapturedViewAt(i, view.getTop());
SlidingPaneLayout.this.invalidate();
}
public int getViewHorizontalDragRange(View view) {
return SlidingPaneLayout.this.mSlideRange;
}
public int clampViewPositionHorizontal(View view, int i, int i2) {
LayoutParams layoutParams = (LayoutParams) SlidingPaneLayout.this.mSlideableView.getLayoutParams();
if (SlidingPaneLayout.this.isLayoutRtlSupport()) {
int width = SlidingPaneLayout.this.getWidth() - ((SlidingPaneLayout.this.getPaddingRight() + layoutParams.rightMargin) + SlidingPaneLayout.this.mSlideableView.getWidth());
return Math.max(Math.min(i, width), width - SlidingPaneLayout.this.mSlideRange);
}
int paddingLeft = SlidingPaneLayout.this.getPaddingLeft() + layoutParams.leftMargin;
return Math.min(Math.max(i, paddingLeft), SlidingPaneLayout.this.mSlideRange + paddingLeft);
}
public int clampViewPositionVertical(View view, int i, int i2) {
return view.getTop();
}
public void onEdgeDragStarted(int i, int i2) {
SlidingPaneLayout.this.mDragHelper.captureChildView(SlidingPaneLayout.this.mSlideableView, i2);
}
}
public static class LayoutParams extends ViewGroup.MarginLayoutParams {
private static final int[] ATTRS = {16843137};
Paint dimPaint;
boolean dimWhenOffset;
boolean slideable;
public float weight = 0.0f;
public LayoutParams() {
super(-1, -1);
}
public LayoutParams(int i, int i2) {
super(i, i2);
}
public LayoutParams(ViewGroup.LayoutParams layoutParams) {
super(layoutParams);
}
public LayoutParams(ViewGroup.MarginLayoutParams marginLayoutParams) {
super(marginLayoutParams);
}
public LayoutParams(LayoutParams layoutParams) {
super(layoutParams);
this.weight = layoutParams.weight;
}
public LayoutParams(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, ATTRS);
this.weight = obtainStyledAttributes.getFloat(0, 0.0f);
obtainStyledAttributes.recycle();
}
}
static class SavedState extends AbsSavedState {
public static final Parcelable.Creator<SavedState> CREATOR = new Parcelable.ClassLoaderCreator<SavedState>() {
public SavedState createFromParcel(Parcel parcel, ClassLoader classLoader) {
return new SavedState(parcel, (ClassLoader) null);
}
public SavedState createFromParcel(Parcel parcel) {
return new SavedState(parcel, (ClassLoader) null);
}
public SavedState[] newArray(int i) {
return new SavedState[i];
}
};
boolean isOpen;
SavedState(Parcelable parcelable) {
super(parcelable);
}
SavedState(Parcel parcel, ClassLoader classLoader) {
super(parcel, classLoader);
this.isOpen = parcel.readInt() != 0;
}
public void writeToParcel(Parcel parcel, int i) {
super.writeToParcel(parcel, i);
parcel.writeInt(this.isOpen ? 1 : 0);
}
}
class AccessibilityDelegate extends AccessibilityDelegateCompat {
private final Rect mTmpRect = new Rect();
AccessibilityDelegate() {
}
public void onInitializeAccessibilityNodeInfo(View view, AccessibilityNodeInfoCompat accessibilityNodeInfoCompat) {
AccessibilityNodeInfoCompat obtain = AccessibilityNodeInfoCompat.obtain(accessibilityNodeInfoCompat);
super.onInitializeAccessibilityNodeInfo(view, obtain);
copyNodeInfoNoChildren(accessibilityNodeInfoCompat, obtain);
obtain.recycle();
accessibilityNodeInfoCompat.setClassName(SlidingPaneLayout.class.getName());
accessibilityNodeInfoCompat.setSource(view);
ViewParent parentForAccessibility = ViewCompat.getParentForAccessibility(view);
if (parentForAccessibility instanceof View) {
accessibilityNodeInfoCompat.setParent((View) parentForAccessibility);
}
int childCount = SlidingPaneLayout.this.getChildCount();
for (int i = 0; i < childCount; i++) {
View childAt = SlidingPaneLayout.this.getChildAt(i);
if (!filter(childAt) && childAt.getVisibility() == 0) {
ViewCompat.setImportantForAccessibility(childAt, 1);
accessibilityNodeInfoCompat.addChild(childAt);
}
}
}
public void onInitializeAccessibilityEvent(View view, AccessibilityEvent accessibilityEvent) {
super.onInitializeAccessibilityEvent(view, accessibilityEvent);
accessibilityEvent.setClassName(SlidingPaneLayout.class.getName());
}
public boolean onRequestSendAccessibilityEvent(ViewGroup viewGroup, View view, AccessibilityEvent accessibilityEvent) {
if (!filter(view)) {
return super.onRequestSendAccessibilityEvent(viewGroup, view, accessibilityEvent);
}
return false;
}
public boolean filter(View view) {
return SlidingPaneLayout.this.isDimmed(view);
}
private void copyNodeInfoNoChildren(AccessibilityNodeInfoCompat accessibilityNodeInfoCompat, AccessibilityNodeInfoCompat accessibilityNodeInfoCompat2) {
Rect rect = this.mTmpRect;
accessibilityNodeInfoCompat2.getBoundsInParent(rect);
accessibilityNodeInfoCompat.setBoundsInParent(rect);
accessibilityNodeInfoCompat2.getBoundsInScreen(rect);
accessibilityNodeInfoCompat.setBoundsInScreen(rect);
accessibilityNodeInfoCompat.setVisibleToUser(accessibilityNodeInfoCompat2.isVisibleToUser());
accessibilityNodeInfoCompat.setPackageName(accessibilityNodeInfoCompat2.getPackageName());
accessibilityNodeInfoCompat.setClassName(accessibilityNodeInfoCompat2.getClassName());
accessibilityNodeInfoCompat.setContentDescription(accessibilityNodeInfoCompat2.getContentDescription());
accessibilityNodeInfoCompat.setEnabled(accessibilityNodeInfoCompat2.isEnabled());
accessibilityNodeInfoCompat.setClickable(accessibilityNodeInfoCompat2.isClickable());
accessibilityNodeInfoCompat.setFocusable(accessibilityNodeInfoCompat2.isFocusable());
accessibilityNodeInfoCompat.setFocused(accessibilityNodeInfoCompat2.isFocused());
accessibilityNodeInfoCompat.setAccessibilityFocused(accessibilityNodeInfoCompat2.isAccessibilityFocused());
accessibilityNodeInfoCompat.setSelected(accessibilityNodeInfoCompat2.isSelected());
accessibilityNodeInfoCompat.setLongClickable(accessibilityNodeInfoCompat2.isLongClickable());
accessibilityNodeInfoCompat.addAction(accessibilityNodeInfoCompat2.getActions());
accessibilityNodeInfoCompat.setMovementGranularities(accessibilityNodeInfoCompat2.getMovementGranularities());
}
}
private class DisableLayerRunnable implements Runnable {
final View mChildView;
DisableLayerRunnable(View view) {
this.mChildView = view;
}
public void run() {
if (this.mChildView.getParent() == SlidingPaneLayout.this) {
this.mChildView.setLayerType(0, (Paint) null);
SlidingPaneLayout.this.invalidateChildRegion(this.mChildView);
}
SlidingPaneLayout.this.mPostedRunnables.remove(this);
}
}
/* access modifiers changed from: package-private */
public boolean isLayoutRtlSupport() {
return ViewCompat.getLayoutDirection(this) == 1;
}
}
Download file