discord-jadx/app/src/main/java/androidx/appcompat/widget/AlertDialogLayout.java

205 lines
8.8 KiB
Java

package androidx.appcompat.widget;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.Nullable;
import androidx.annotation.RestrictTo;
import androidx.appcompat.R;
import androidx.appcompat.widget.LinearLayoutCompat;
import androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure;
import androidx.core.view.GravityCompat;
import androidx.core.view.ViewCompat;
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public class AlertDialogLayout extends LinearLayoutCompat {
public AlertDialogLayout(@Nullable Context context) {
super(context);
}
public AlertDialogLayout(@Nullable Context context, @Nullable AttributeSet attributeSet) {
super(context, attributeSet);
}
private void forceUniformWidth(int i, int i2) {
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(getMeasuredWidth(), BasicMeasure.EXACTLY);
for (int i3 = 0; i3 < i; i3++) {
View childAt = getChildAt(i3);
if (childAt.getVisibility() != 8) {
LinearLayoutCompat.LayoutParams layoutParams = (LinearLayoutCompat.LayoutParams) childAt.getLayoutParams();
if (((ViewGroup.MarginLayoutParams) layoutParams).width == -1) {
int i4 = ((ViewGroup.MarginLayoutParams) layoutParams).height;
((ViewGroup.MarginLayoutParams) layoutParams).height = childAt.getMeasuredHeight();
measureChildWithMargins(childAt, makeMeasureSpec, 0, i2, 0);
((ViewGroup.MarginLayoutParams) layoutParams).height = i4;
}
}
}
}
private static int resolveMinimumHeight(View view) {
int minimumHeight = ViewCompat.getMinimumHeight(view);
if (minimumHeight > 0) {
return minimumHeight;
}
if (view instanceof ViewGroup) {
ViewGroup viewGroup = (ViewGroup) view;
if (viewGroup.getChildCount() == 1) {
return resolveMinimumHeight(viewGroup.getChildAt(0));
}
}
return 0;
}
private void setChildFrame(View view, int i, int i2, int i3, int i4) {
view.layout(i, i2, i3 + i, i4 + i2);
}
private boolean tryOnMeasure(int i, int i2) {
int i3;
int i4;
int i5;
int i6;
int childCount = getChildCount();
View view = null;
View view2 = null;
View view3 = null;
for (int i7 = 0; i7 < childCount; i7++) {
View childAt = getChildAt(i7);
if (childAt.getVisibility() != 8) {
int id2 = childAt.getId();
if (id2 == R.id.topPanel) {
view = childAt;
} else if (id2 == R.id.buttonPanel) {
view2 = childAt;
} else if ((id2 != R.id.contentPanel && id2 != R.id.customPanel) || view3 != null) {
return false;
} else {
view3 = childAt;
}
}
}
int mode = View.MeasureSpec.getMode(i2);
int size = View.MeasureSpec.getSize(i2);
int mode2 = View.MeasureSpec.getMode(i);
int paddingBottom = getPaddingBottom() + getPaddingTop();
if (view != null) {
view.measure(i, 0);
paddingBottom += view.getMeasuredHeight();
i3 = View.combineMeasuredStates(0, view.getMeasuredState());
} else {
i3 = 0;
}
if (view2 != null) {
view2.measure(i, 0);
i5 = resolveMinimumHeight(view2);
i4 = view2.getMeasuredHeight() - i5;
paddingBottom += i5;
i3 = View.combineMeasuredStates(i3, view2.getMeasuredState());
} else {
i5 = 0;
i4 = 0;
}
if (view3 != null) {
view3.measure(i, mode == 0 ? 0 : View.MeasureSpec.makeMeasureSpec(Math.max(0, size - paddingBottom), mode));
i6 = view3.getMeasuredHeight();
paddingBottom += i6;
i3 = View.combineMeasuredStates(i3, view3.getMeasuredState());
} else {
i6 = 0;
}
int i8 = size - paddingBottom;
if (view2 != null) {
int i9 = paddingBottom - i5;
int min = Math.min(i8, i4);
if (min > 0) {
i8 -= min;
i5 += min;
}
view2.measure(i, View.MeasureSpec.makeMeasureSpec(i5, BasicMeasure.EXACTLY));
paddingBottom = i9 + view2.getMeasuredHeight();
i3 = View.combineMeasuredStates(i3, view2.getMeasuredState());
}
if (view3 != null && i8 > 0) {
view3.measure(i, View.MeasureSpec.makeMeasureSpec(i6 + i8, mode));
paddingBottom = (paddingBottom - i6) + view3.getMeasuredHeight();
i3 = View.combineMeasuredStates(i3, view3.getMeasuredState());
}
int i10 = 0;
for (int i11 = 0; i11 < childCount; i11++) {
View childAt2 = getChildAt(i11);
if (childAt2.getVisibility() != 8) {
i10 = Math.max(i10, childAt2.getMeasuredWidth());
}
}
setMeasuredDimension(View.resolveSizeAndState(getPaddingRight() + getPaddingLeft() + i10, i, i3), View.resolveSizeAndState(paddingBottom, i2, 0));
if (mode2 == 1073741824) {
return true;
}
forceUniformWidth(childCount, i2);
return true;
}
/* JADX WARNING: Removed duplicated region for block: B:30:0x00a8 */
@Override // androidx.appcompat.widget.LinearLayoutCompat, android.view.ViewGroup, android.view.View
public void onLayout(boolean z2, int i, int i2, int i3, int i4) {
int i5;
int i6;
int i7;
int paddingLeft = getPaddingLeft();
int i8 = i3 - i;
int paddingRight = i8 - getPaddingRight();
int paddingRight2 = (i8 - paddingLeft) - getPaddingRight();
int measuredHeight = getMeasuredHeight();
int childCount = getChildCount();
int gravity = getGravity();
int i9 = gravity & 112;
int i10 = gravity & GravityCompat.RELATIVE_HORIZONTAL_GRAVITY_MASK;
int paddingTop = i9 != 16 ? i9 != 80 ? getPaddingTop() : ((getPaddingTop() + i4) - i2) - measuredHeight : (((i4 - i2) - measuredHeight) / 2) + getPaddingTop();
Drawable dividerDrawable = getDividerDrawable();
int intrinsicHeight = dividerDrawable == null ? 0 : dividerDrawable.getIntrinsicHeight();
for (int i11 = 0; i11 < childCount; i11++) {
View childAt = getChildAt(i11);
if (!(childAt == null || childAt.getVisibility() == 8)) {
int measuredWidth = childAt.getMeasuredWidth();
int measuredHeight2 = childAt.getMeasuredHeight();
LinearLayoutCompat.LayoutParams layoutParams = (LinearLayoutCompat.LayoutParams) childAt.getLayoutParams();
int i12 = layoutParams.gravity;
if (i12 < 0) {
i12 = i10;
}
int absoluteGravity = GravityCompat.getAbsoluteGravity(i12, ViewCompat.getLayoutDirection(this)) & 7;
if (absoluteGravity == 1) {
i7 = ((paddingRight2 - measuredWidth) / 2) + paddingLeft + ((ViewGroup.MarginLayoutParams) layoutParams).leftMargin;
i6 = ((ViewGroup.MarginLayoutParams) layoutParams).rightMargin;
} else if (absoluteGravity != 5) {
i5 = ((ViewGroup.MarginLayoutParams) layoutParams).leftMargin + paddingLeft;
if (hasDividerBeforeChildAt(i11)) {
paddingTop += intrinsicHeight;
}
int i13 = paddingTop + ((ViewGroup.MarginLayoutParams) layoutParams).topMargin;
setChildFrame(childAt, i5, i13, measuredWidth, measuredHeight2);
paddingTop = measuredHeight2 + ((ViewGroup.MarginLayoutParams) layoutParams).bottomMargin + i13;
} else {
i7 = paddingRight - measuredWidth;
i6 = ((ViewGroup.MarginLayoutParams) layoutParams).rightMargin;
}
i5 = i7 - i6;
if (hasDividerBeforeChildAt(i11)) {
}
int i13 = paddingTop + ((ViewGroup.MarginLayoutParams) layoutParams).topMargin;
setChildFrame(childAt, i5, i13, measuredWidth, measuredHeight2);
paddingTop = measuredHeight2 + ((ViewGroup.MarginLayoutParams) layoutParams).bottomMargin + i13;
}
}
}
@Override // androidx.appcompat.widget.LinearLayoutCompat, android.view.View
public void onMeasure(int i, int i2) {
if (!tryOnMeasure(i, i2)) {
super.onMeasure(i, i2);
}
}
}