content: 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.core.widgets.ConstraintWidget;
  import androidx.constraintlayout.widget.ConstraintLayout;
  
  public class Placeholder extends View {
      private View mContent = null;
      private int mContentId = -1;
      private int mEmptyVisibility = 4;
  
      public Placeholder(Context context) {
          super(context);
          init((AttributeSet) null);
      }
  
      public Placeholder(Context context, AttributeSet attrs) {
          super(context, attrs);
          init(attrs);
      }
  
      public Placeholder(Context context, AttributeSet attrs, int defStyleAttr) {
          super(context, attrs, defStyleAttr);
          init(attrs);
      }
  
      public Placeholder(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
          super(context, attrs, defStyleAttr);
          init(attrs);
      }
  
      private void init(AttributeSet attrs) {
          super.setVisibility(this.mEmptyVisibility);
          this.mContentId = -1;
          if (attrs != null) {
              TypedArray obtainStyledAttributes = getContext().obtainStyledAttributes(attrs, 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);
                  }
              }
              obtainStyledAttributes.recycle();
          }
      }
  
      public View getContent() {
          return this.mContent;
      }
  
      public int getEmptyVisibility() {
          return this.mEmptyVisibility;
      }
  
      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((float) rect.height());
              int height = rect.height();
              int width = rect.width();
              paint.setTextAlign(Paint.Align.LEFT);
              paint.getTextBounds("?", 0, "?".length(), rect);
              canvas.drawText("?", ((((float) width) / 2.0f) - (((float) rect.width()) / 2.0f)) - ((float) rect.left), ((((float) height) / 2.0f) + (((float) rect.height()) / 2.0f)) - ((float) rect.bottom), paint);
          }
      }
  
      public void setContentId(int id) {
          View findViewById;
          if (this.mContentId != id) {
              View view = this.mContent;
              if (view != null) {
                  view.setVisibility(0);
                  ((ConstraintLayout.LayoutParams) this.mContent.getLayoutParams()).isInPlaceholder = false;
                  this.mContent = null;
              }
              this.mContentId = id;
              if (id != -1 && (findViewById = ((View) getParent()).findViewById(id)) != null) {
                  findViewById.setVisibility(8);
              }
          }
      }
  
      public void setEmptyVisibility(int visibility) {
          this.mEmptyVisibility = visibility;
      }
  
      public void updatePostMeasure(ConstraintLayout container) {
          if (this.mContent != null) {
              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);
          }
      }
  
      public void updatePreLayout(ConstraintLayout container) {
          if (this.mContentId == -1 && !isInEditMode()) {
              setVisibility(this.mEmptyVisibility);
          }
          View findViewById = container.findViewById(this.mContentId);
          this.mContent = findViewById;
          if (findViewById != null) {
              ((ConstraintLayout.LayoutParams) findViewById.getLayoutParams()).isInPlaceholder = true;
              this.mContent.setVisibility(0);
              setVisibility(0);
          }
      }
  }
  