Program: 54122
Project: 54122
Buggy source:
@TargetApi(Build.VERSION_CODES.LOLLIPOP) public MaterialEditText(Context context,AttributeSet attrs,int style){
  super(context,attrs,style);
  setFocusable(true);
  setFocusableInTouchMode(true);
  setClickable(true);
  floatingLabelTextSize=getResources().getDimensionPixelSize(R.dimen.floating_label_text_size);
  bottomSpacing=getResources().getDimensionPixelSize(R.dimen.inner_components_spacing);
  bottomEllipsisSize=getResources().getDimensionPixelSize(R.dimen.bottom_ellipsis_height);
  int defaultBaseColor;
  TypedValue baseColorTypedValue=new TypedValue();
  context.getTheme().resolveAttribute(android.R.attr.windowBackground,baseColorTypedValue,true);
  defaultBaseColor=Colors.getBaseColor(baseColorTypedValue.data);
  TypedArray typedArray=context.obtainStyledAttributes(attrs,R.styleable.MaterialEditText);
  baseColor=typedArray.getColor(R.styleable.MaterialEditText_baseColor,defaultBaseColor);
  ColorStateList colorStateList=new ColorStateList(new int[][]{new int[]{android.R.attr.state_enabled},EMPTY_STATE_SET},new int[]{baseColor & 0x00ffffff | 0xdf000000,baseColor & 0x00ffffff | 0x44000000});
  setTextColor(colorStateList);
  int defaultPrimaryColor;
  TypedValue primaryColorTypedValue=new TypedValue();
  try {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
      throw new RuntimeException("String_Node_Str");
    }
    context.getTheme().resolveAttribute(android.R.attr.colorPrimary,primaryColorTypedValue,true);
    defaultPrimaryColor=primaryColorTypedValue.data;
  }
 catch (  Exception e) {
    try {
      int colorAccentId=getResources().getIdentifier("String_Node_Str","String_Node_Str",getContext().getPackageName());
      if (colorAccentId != 0) {
        context.getTheme().resolveAttribute(colorAccentId,primaryColorTypedValue,true);
        defaultPrimaryColor=primaryColorTypedValue.data;
      }
 else {
        throw new RuntimeException("String_Node_Str");
      }
    }
 catch (    Exception e1) {
      defaultPrimaryColor=baseColor;
    }
  }
  primaryColor=typedArray.getColor(R.styleable.MaterialEditText_primaryColor,defaultPrimaryColor);
  setFloatingLabelInternal(typedArray.getInt(R.styleable.MaterialEditText_floatingLabel,0));
  errorColor=typedArray.getColor(R.styleable.MaterialEditText_errorColor,Color.parseColor("String_Node_Str"));
  minCharacters=typedArray.getInt(R.styleable.MaterialEditText_minCharacters,0);
  maxCharacters=typedArray.getInt(R.styleable.MaterialEditText_maxCharacters,0);
  singleLineEllipsis=typedArray.getBoolean(R.styleable.MaterialEditText_singleLineEllipsis,false);
  helperText=typedArray.getString(R.styleable.MaterialEditText_helperText);
  helperTextColor=typedArray.getColor(R.styleable.MaterialEditText_helperTextColor,-1);
  minBottomTextLines=typedArray.getInt(R.styleable.MaterialEditText_minBottomTextLines,0);
  String fontPath=typedArray.getString(R.styleable.MaterialEditText_accentTypeface);
  if (fontPath != null) {
    accentTypeface=getCustomTypeface(fontPath);
    textPaint.setTypeface(accentTypeface);
  }
  floatingLabelText=typedArray.getString(R.styleable.MaterialEditText_floatingLabelText);
  if (floatingLabelText == null) {
    floatingLabelText=getHint();
  }
  floatingLabelSpacing=typedArray.getDimensionPixelSize(R.styleable.MaterialEditText_floatingLabelSpacing,bottomSpacing);
  hideUnderline=typedArray.getBoolean(R.styleable.MaterialEditText_hideUnderline,false);
  typedArray.recycle();
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
    setBackground(null);
  }
 else {
    setBackgroundDrawable(null);
  }
  if (singleLineEllipsis) {
    TransformationMethod transformationMethod=getTransformationMethod();
    setSingleLine();
    setTransformationMethod(transformationMethod);
  }
  textPaint.setTextSize(floatingLabelTextSize);
  fontMetrics=textPaint.getFontMetrics();
  initMinBottomLines();
  initPadding();
  initText();
  initFloatingLabel();
  initErrorTextListener();
}

Fixed version (ground truth):
@TargetApi(Build.VERSION_CODES.LOLLIPOP) public MaterialEditText(Context context,AttributeSet attrs,int style){
  super(context,attrs,style);
  setFocusable(true);
  setFocusableInTouchMode(true);
  setClickable(true);
  if (isInEditMode()) {
    floatingLabelTextSize=24;
    bottomSpacing=16;
    bottomEllipsisSize=8;
  }
 else {
    floatingLabelTextSize=getResources().getDimensionPixelSize(R.dimen.floating_label_text_size);
    bottomSpacing=getResources().getDimensionPixelSize(R.dimen.inner_components_spacing);
    bottomEllipsisSize=getResources().getDimensionPixelSize(R.dimen.bottom_ellipsis_height);
  }
  int defaultBaseColor;
  TypedValue baseColorTypedValue=new TypedValue();
  context.getTheme().resolveAttribute(android.R.attr.windowBackground,baseColorTypedValue,true);
  defaultBaseColor=Colors.getBaseColor(baseColorTypedValue.data);
  TypedArray typedArray=context.obtainStyledAttributes(attrs,R.styleable.MaterialEditText);
  baseColor=typedArray.getColor(R.styleable.MaterialEditText_baseColor,defaultBaseColor);
  ColorStateList colorStateList=new ColorStateList(new int[][]{new int[]{android.R.attr.state_enabled},EMPTY_STATE_SET},new int[]{baseColor & 0x00ffffff | 0xdf000000,baseColor & 0x00ffffff | 0x44000000});
  setTextColor(colorStateList);
  int defaultPrimaryColor;
  TypedValue primaryColorTypedValue=new TypedValue();
  try {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
      throw new RuntimeException("String_Node_Str");
    }
    context.getTheme().resolveAttribute(android.R.attr.colorPrimary,primaryColorTypedValue,true);
    defaultPrimaryColor=primaryColorTypedValue.data;
  }
 catch (  Exception e) {
    try {
      int colorAccentId=getResources().getIdentifier("String_Node_Str","String_Node_Str",getContext().getPackageName());
      if (colorAccentId != 0) {
        context.getTheme().resolveAttribute(colorAccentId,primaryColorTypedValue,true);
        defaultPrimaryColor=primaryColorTypedValue.data;
      }
 else {
        throw new RuntimeException("String_Node_Str");
      }
    }
 catch (    Exception e1) {
      defaultPrimaryColor=baseColor;
    }
  }
  primaryColor=typedArray.getColor(R.styleable.MaterialEditText_primaryColor,defaultPrimaryColor);
  setFloatingLabelInternal(typedArray.getInt(R.styleable.MaterialEditText_floatingLabel,0));
  errorColor=typedArray.getColor(R.styleable.MaterialEditText_errorColor,Color.parseColor("String_Node_Str"));
  minCharacters=typedArray.getInt(R.styleable.MaterialEditText_minCharacters,0);
  maxCharacters=typedArray.getInt(R.styleable.MaterialEditText_maxCharacters,0);
  singleLineEllipsis=typedArray.getBoolean(R.styleable.MaterialEditText_singleLineEllipsis,false);
  helperText=typedArray.getString(R.styleable.MaterialEditText_helperText);
  helperTextColor=typedArray.getColor(R.styleable.MaterialEditText_helperTextColor,-1);
  minBottomTextLines=typedArray.getInt(R.styleable.MaterialEditText_minBottomTextLines,0);
  String fontPath=typedArray.getString(R.styleable.MaterialEditText_accentTypeface);
  if (fontPath != null && !isInEditMode()) {
    accentTypeface=getCustomTypeface(fontPath);
    textPaint.setTypeface(accentTypeface);
  }
  floatingLabelText=typedArray.getString(R.styleable.MaterialEditText_floatingLabelText);
  if (floatingLabelText == null) {
    floatingLabelText=getHint();
  }
  floatingLabelSpacing=typedArray.getDimensionPixelSize(R.styleable.MaterialEditText_floatingLabelSpacing,bottomSpacing);
  hideUnderline=typedArray.getBoolean(R.styleable.MaterialEditText_hideUnderline,false);
  typedArray.recycle();
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
    setBackground(null);
  }
 else {
    setBackgroundDrawable(null);
  }
  if (singleLineEllipsis) {
    TransformationMethod transformationMethod=getTransformationMethod();
    setSingleLine();
    setTransformationMethod(transformationMethod);
  }
  textPaint.setTextSize(floatingLabelTextSize);
  fontMetrics=textPaint.getFontMetrics();
  initMinBottomLines();
  initPadding();
  initText();
  initFloatingLabel();
  initErrorTextListener();
}