mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2024-12-30 11:02:31 -06:00
147 lines
5.3 KiB
Java
147 lines
5.3 KiB
Java
|
package androidx.constraintlayout.widget;
|
||
|
|
||
|
import android.content.Context;
|
||
|
import android.content.res.TypedArray;
|
||
|
import android.graphics.Canvas;
|
||
|
import android.graphics.Paint;
|
||
|
import android.graphics.Rect;
|
||
|
import android.graphics.Typeface;
|
||
|
import android.util.AttributeSet;
|
||
|
import android.view.View;
|
||
|
import androidx.constraintlayout.solver.widgets.ConstraintWidget;
|
||
|
import androidx.constraintlayout.widget.ConstraintLayout;
|
||
|
|
||
|
/* loaded from: classes.dex */
|
||
|
public class Placeholder extends View {
|
||
|
private View mContent;
|
||
|
private int mContentId;
|
||
|
private int mEmptyVisibility;
|
||
|
|
||
|
public View getContent() {
|
||
|
return this.mContent;
|
||
|
}
|
||
|
|
||
|
public int getEmptyVisibility() {
|
||
|
return this.mEmptyVisibility;
|
||
|
}
|
||
|
|
||
|
public void setEmptyVisibility(int i) {
|
||
|
this.mEmptyVisibility = i;
|
||
|
}
|
||
|
|
||
|
public Placeholder(Context context) {
|
||
|
super(context);
|
||
|
this.mContentId = -1;
|
||
|
this.mContent = null;
|
||
|
this.mEmptyVisibility = 4;
|
||
|
init(null);
|
||
|
}
|
||
|
|
||
|
public Placeholder(Context context, AttributeSet attributeSet) {
|
||
|
super(context, attributeSet);
|
||
|
this.mContentId = -1;
|
||
|
this.mContent = null;
|
||
|
this.mEmptyVisibility = 4;
|
||
|
init(attributeSet);
|
||
|
}
|
||
|
|
||
|
public Placeholder(Context context, AttributeSet attributeSet, int i) {
|
||
|
super(context, attributeSet, i);
|
||
|
this.mContentId = -1;
|
||
|
this.mContent = null;
|
||
|
this.mEmptyVisibility = 4;
|
||
|
init(attributeSet);
|
||
|
}
|
||
|
|
||
|
public Placeholder(Context context, AttributeSet attributeSet, int i, int i2) {
|
||
|
super(context, attributeSet, i);
|
||
|
this.mContentId = -1;
|
||
|
this.mContent = null;
|
||
|
this.mEmptyVisibility = 4;
|
||
|
init(attributeSet);
|
||
|
}
|
||
|
|
||
|
private void init(AttributeSet attributeSet) {
|
||
|
super.setVisibility(this.mEmptyVisibility);
|
||
|
this.mContentId = -1;
|
||
|
if (attributeSet != null) {
|
||
|
TypedArray obtainStyledAttributes = getContext().obtainStyledAttributes(attributeSet, R.styleable.ConstraintLayout_placeholder);
|
||
|
int indexCount = obtainStyledAttributes.getIndexCount();
|
||
|
for (int i = 0; i < indexCount; i++) {
|
||
|
int index = obtainStyledAttributes.getIndex(i);
|
||
|
if (index == R.styleable.ConstraintLayout_placeholder_content) {
|
||
|
this.mContentId = obtainStyledAttributes.getResourceId(index, this.mContentId);
|
||
|
} else if (index == R.styleable.ConstraintLayout_placeholder_placeholder_emptyVisibility) {
|
||
|
this.mEmptyVisibility = obtainStyledAttributes.getInt(index, this.mEmptyVisibility);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override // android.view.View
|
||
|
public void onDraw(Canvas canvas) {
|
||
|
if (isInEditMode()) {
|
||
|
canvas.drawRGB(223, 223, 223);
|
||
|
Paint paint = new Paint();
|
||
|
paint.setARGB(255, 210, 210, 210);
|
||
|
paint.setTextAlign(Paint.Align.CENTER);
|
||
|
paint.setTypeface(Typeface.create(Typeface.DEFAULT, 0));
|
||
|
Rect rect = new Rect();
|
||
|
canvas.getClipBounds(rect);
|
||
|
paint.setTextSize(rect.height());
|
||
|
int height = rect.height();
|
||
|
int width = rect.width();
|
||
|
paint.setTextAlign(Paint.Align.LEFT);
|
||
|
paint.getTextBounds("?", 0, 1, rect);
|
||
|
canvas.drawText("?", ((width / 2.0f) - (rect.width() / 2.0f)) - rect.left, ((height / 2.0f) + (rect.height() / 2.0f)) - rect.bottom, paint);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void updatePreLayout(ConstraintLayout constraintLayout) {
|
||
|
if (this.mContentId == -1 && !isInEditMode()) {
|
||
|
setVisibility(this.mEmptyVisibility);
|
||
|
}
|
||
|
View findViewById = constraintLayout.findViewById(this.mContentId);
|
||
|
this.mContent = findViewById;
|
||
|
if (findViewById != null) {
|
||
|
((ConstraintLayout.LayoutParams) findViewById.getLayoutParams()).isInPlaceholder = true;
|
||
|
this.mContent.setVisibility(0);
|
||
|
setVisibility(0);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void setContentId(int i) {
|
||
|
View findViewById;
|
||
|
if (this.mContentId == i) {
|
||
|
return;
|
||
|
}
|
||
|
View view = this.mContent;
|
||
|
if (view != null) {
|
||
|
view.setVisibility(0);
|
||
|
((ConstraintLayout.LayoutParams) this.mContent.getLayoutParams()).isInPlaceholder = false;
|
||
|
this.mContent = null;
|
||
|
}
|
||
|
this.mContentId = i;
|
||
|
if (i == -1 || (findViewById = ((View) getParent()).findViewById(i)) == null) {
|
||
|
return;
|
||
|
}
|
||
|
findViewById.setVisibility(8);
|
||
|
}
|
||
|
|
||
|
public void updatePostMeasure(ConstraintLayout constraintLayout) {
|
||
|
if (this.mContent == null) {
|
||
|
return;
|
||
|
}
|
||
|
ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) getLayoutParams();
|
||
|
ConstraintLayout.LayoutParams layoutParams2 = (ConstraintLayout.LayoutParams) this.mContent.getLayoutParams();
|
||
|
layoutParams2.widget.setVisibility(0);
|
||
|
if (layoutParams.widget.getHorizontalDimensionBehaviour() != ConstraintWidget.DimensionBehaviour.FIXED) {
|
||
|
layoutParams.widget.setWidth(layoutParams2.widget.getWidth());
|
||
|
}
|
||
|
if (layoutParams.widget.getVerticalDimensionBehaviour() != ConstraintWidget.DimensionBehaviour.FIXED) {
|
||
|
layoutParams.widget.setHeight(layoutParams2.widget.getHeight());
|
||
|
}
|
||
|
layoutParams2.widget.setVisibility(8);
|
||
|
}
|
||
|
}
|