code: private void obtainStyledAttributes(@Nullable final AttributeSet attributeSet,
                                          @StyleRes final int defaultStyleResource) {
          TypedArray typedArray = getContext()
                  .obtainStyledAttributes(attributeSet, R.styleable.SquareImageView, 0,
                          defaultStyleResource);
  
          try {
              obtainScaledEdge(typedArray);
          } finally {
              typedArray.recycle();
          }
      }
docs: Obtains the view's attributes from a specific attribute set.
  
  @param attributeSet
  The attribute set, the view's attributes should be obtained from, as an instance of
  the type {@link AttributeSet} or null, if no attributes should be obtained
  @param defaultStyleResource
  A resource identifier of a style resource that supplies default values for the view,
  used only if the default style is 0 or can not be found in the theme. Can be 0 to not
  look for defaults