O ImageSpan não funciona no Android 5

Eu tenho essa função que funciona bem no Android 4.4.1, mas é interrompida no 5.0+.

  public static SpannableStringBuilder prependImage(Drawable drawable, String text) {
    SpannableStringBuilder builder = new SpannableStringBuilder("  " + text);
    builder.setSpan(new ImageSpan(drawable), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    return builder;
  }

E eu uso assim:

class MyButton extends Button {

    // ... snip ...

    setText(
        prependImage(
            getDrawable(imageResource, color),                     
            getContext().getString(stringResource)),
        BufferType.SPANNABLE);

Aqui está ogetDrawable() método mencionado acima:

 private Drawable getDrawable(int resource, int color) {
    final Resources resources = getContext().getResources();
    Drawable drawable = resources.getDrawable(resource);
    if (drawable != null) {
      drawable.setColorFilter(color, PorterDuff.Mode.SRC_IN);
      drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
    }
    return drawable;
  }

Quando depuro, tudo parece ter êxito, mas nenhuma imagem é desenhada. Alguma idéia do que eu possa estar fazendo de errado?

questionAnswers(4)

yourAnswerToTheQuestion