code: private void updateStateFromTypedArray(TypedArray a) throws XmlPullParserException {
          final RippleState state = mState;
  
          // Account for any configuration changes.
          state.mChangingConfigurations |= TypedArrayCompat.getChangingConfigurations(a);
  
          // Extract the theme attributes, if any.
          state.mTouchThemeAttrs = TypedArrayCompat.extractThemeAttrs(a);
  
          final ColorStateList color = a.getColorStateList(R.styleable.RippleDrawable_android_color);
          if (color != null) {
              mState.mColor = color;
          }
  
          mState.mMaxRadius = a.getDimensionPixelSize(
                  R.styleable.RippleDrawable_android_radius, mState.mMaxRadius);
  
          verifyRequiredAttributes(a);
      }
docs: Initializes the constant state from the values in the typed array.