Program: 28581
Project: 28581
Buggy source:
@Override protected void prepareHandlers(final Context context){
  super.prepareHandlers(context);
  addHandler(Attributes.TextView.HTML,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setText(Html.fromHtml(attributeValue));
    }
  }
);
  addHandler(Attributes.TextView.Text,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setText(attributeValue);
    }
  }
);
  addHandler(Attributes.TextView.DrawablePadding,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setCompoundDrawablePadding(ParseHelper.parseDimension(attributeValue,context));
    }
  }
);
  addHandler(Attributes.TextView.TextSize,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setTextSize(ParseHelper.parseDimension(attributeValue,context));
    }
  }
);
  addHandler(Attributes.TextView.Gravity,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setGravity(ParseHelper.parseGravity(attributeValue));
    }
  }
);
  addHandler(Attributes.TextView.TextColor,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setTextColor(ParseHelper.parseColor(attributeValue));
    }
  }
);
  addHandler(Attributes.TextView.DrawableLeft,new ResourceReferenceProcessor<T>(context){
    @Override public void setDrawable(    T view,    Drawable drawable){
      Drawable[] compoundDrawables=view.getCompoundDrawables();
      view.setCompoundDrawablesWithIntrinsicBounds(drawable,compoundDrawables[1],compoundDrawables[2],compoundDrawables[3]);
    }
  }
);
  addHandler(Attributes.TextView.DrawableTop,new ResourceReferenceProcessor<T>(context){
    @Override public void setDrawable(    T view,    Drawable drawable){
      Drawable[] compoundDrawables=view.getCompoundDrawables();
      view.setCompoundDrawablesWithIntrinsicBounds(compoundDrawables[0],drawable,compoundDrawables[2],compoundDrawables[3]);
    }
  }
);
  addHandler(Attributes.TextView.DrawableRight,new ResourceReferenceProcessor<T>(context){
    @Override public void setDrawable(    T view,    Drawable drawable){
      Drawable[] compoundDrawables=view.getCompoundDrawables();
      view.setCompoundDrawablesWithIntrinsicBounds(drawable,compoundDrawables[1],drawable,compoundDrawables[3]);
    }
  }
);
  addHandler(Attributes.TextView.DrawableBottom,new ResourceReferenceProcessor<T>(context){
    @Override public void setDrawable(    T view,    Drawable drawable){
      Drawable[] compoundDrawables=view.getCompoundDrawables();
      view.setCompoundDrawablesWithIntrinsicBounds(drawable,compoundDrawables[1],compoundDrawables[2],drawable);
    }
  }
);
  addHandler(Attributes.TextView.MaxLines,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setMaxLines(Integer.valueOf(attributeValue));
    }
  }
);
  addHandler(Attributes.TextView.Ellipsize,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      Enum ellipsize=ParseHelper.parseEllipsize(attributeValue);
      view.setEllipsize((android.text.TextUtils.TruncateAt)ellipsize);
    }
  }
);
  addHandler(Attributes.TextView.PaintFlags,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      if (attributeValue.equals("String_Node_Str"))       view.setPaintFlags(view.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
    }
  }
);
  addHandler(Attributes.TextView.Prefix,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setText(attributeValue + view.getText());
    }
  }
);
  addHandler(Attributes.TextView.Suffix,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setText(view.getText() + attributeValue);
    }
  }
);
  addHandler(Attributes.TextView.TextStyle,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      int typeface=ParseHelper.parseTypeFace(attributeValue);
      view.setTypeface(Typeface.defaultFromStyle(typeface));
    }
  }
);
  addHandler(Attributes.TextView.SingleLine,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setSingleLine(ParseHelper.parseBoolean(attributeValue));
    }
  }
);
  addHandler(Attributes.TextView.TextAllCaps,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        view.setAllCaps(ParseHelper.parseBoolean(attributeValue));
      }
    }
  }
);
}

Fixed version (ground truth):
@Override protected void prepareHandlers(final Context context){
  super.prepareHandlers(context);
  addHandler(Attributes.TextView.HTML,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setText(Html.fromHtml(attributeValue));
    }
  }
);
  addHandler(Attributes.TextView.Text,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setText(attributeValue);
    }
  }
);
  addHandler(Attributes.TextView.DrawablePadding,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setCompoundDrawablePadding(ParseHelper.parseDimension(attributeValue,context));
    }
  }
);
  addHandler(Attributes.TextView.TextSize,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setTextSize(ParseHelper.parseDimension(attributeValue,context));
    }
  }
);
  addHandler(Attributes.TextView.Gravity,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setGravity(ParseHelper.parseGravity(attributeValue));
    }
  }
);
  addHandler(Attributes.TextView.TextColor,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setTextColor(ParseHelper.parseColor(attributeValue));
    }
  }
);
  addHandler(Attributes.TextView.DrawableLeft,new ResourceReferenceProcessor<T>(context){
    @Override public void setDrawable(    T view,    Drawable drawable){
      Drawable[] compoundDrawables=view.getCompoundDrawables();
      view.setCompoundDrawablesWithIntrinsicBounds(drawable,compoundDrawables[1],compoundDrawables[2],compoundDrawables[3]);
    }
  }
);
  addHandler(Attributes.TextView.DrawableTop,new ResourceReferenceProcessor<T>(context){
    @Override public void setDrawable(    T view,    Drawable drawable){
      Drawable[] compoundDrawables=view.getCompoundDrawables();
      view.setCompoundDrawablesWithIntrinsicBounds(compoundDrawables[0],drawable,compoundDrawables[2],compoundDrawables[3]);
    }
  }
);
  addHandler(Attributes.TextView.DrawableRight,new ResourceReferenceProcessor<T>(context){
    @Override public void setDrawable(    T view,    Drawable drawable){
      Drawable[] compoundDrawables=view.getCompoundDrawables();
      view.setCompoundDrawablesWithIntrinsicBounds(drawable,compoundDrawables[1],drawable,compoundDrawables[3]);
    }
  }
);
  addHandler(Attributes.TextView.DrawableBottom,new ResourceReferenceProcessor<T>(context){
    @Override public void setDrawable(    T view,    Drawable drawable){
      Drawable[] compoundDrawables=view.getCompoundDrawables();
      view.setCompoundDrawablesWithIntrinsicBounds(drawable,compoundDrawables[1],compoundDrawables[2],drawable);
    }
  }
);
  addHandler(Attributes.TextView.MaxLines,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setMaxLines(ParseHelper.parseInt(attributeValue));
    }
  }
);
  addHandler(Attributes.TextView.Ellipsize,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      Enum ellipsize=ParseHelper.parseEllipsize(attributeValue);
      view.setEllipsize((android.text.TextUtils.TruncateAt)ellipsize);
    }
  }
);
  addHandler(Attributes.TextView.PaintFlags,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      if (attributeValue.equals("String_Node_Str"))       view.setPaintFlags(view.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
    }
  }
);
  addHandler(Attributes.TextView.Prefix,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setText(attributeValue + view.getText());
    }
  }
);
  addHandler(Attributes.TextView.Suffix,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setText(view.getText() + attributeValue);
    }
  }
);
  addHandler(Attributes.TextView.TextStyle,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      int typeface=ParseHelper.parseTypeFace(attributeValue);
      view.setTypeface(Typeface.defaultFromStyle(typeface));
    }
  }
);
  addHandler(Attributes.TextView.SingleLine,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      view.setSingleLine(ParseHelper.parseBoolean(attributeValue));
    }
  }
);
  addHandler(Attributes.TextView.TextAllCaps,new StringAttributeProcessor<T>(){
    @Override public void handle(    ParserContext parserContext,    String attributeKey,    String attributeValue,    T view){
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        view.setAllCaps(ParseHelper.parseBoolean(attributeValue));
      }
    }
  }
);
}