Program: 79917
Project: 79917
Buggy source:
@Override protected void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  LayoutInflater inflater=(LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  if (inflater != null) {
    View contentView=inflater.inflate(R.layout.activity_about,mDrawerLayout,false);
    mDrawerLayout.addView(contentView,0);
  }
  setTitle(R.string.about);
  final TextView about=findViewById(R.id.about_text);
  AndroidTemplates loader=new AndroidTemplates(getBaseContext());
  Theme theme=new Theme(loader);
  final Chunk html=theme.makeChunk("String_Node_Str");
  final ViewTreeObserver observer=about.getViewTreeObserver();
  observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){
    @Override public void onGlobalLayout(){
      Html.ImageGetter imageGetter=new Html.ImageGetter(){
        public Drawable getDrawable(        String source){
          Drawable d=getResources().getDrawable(R.mipmap.wunderground);
          int viewWidth=about.getWidth();
          int width=Math.round(viewWidth * 4 / 5);
          Float ratio=(float)d.getIntrinsicHeight() / d.getIntrinsicWidth();
          int height=Math.round(width * ratio);
          d.setBounds(0,0,width,height);
          return d;
        }
      }
;
      if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
        about.setText(Html.fromHtml(html.toString(),Html.FROM_HTML_MODE_LEGACY,imageGetter,null));
      }
 else {
        about.setText(Html.fromHtml(html.toString(),imageGetter,null));
      }
      about.setMovementMethod(LinkMovementMethod.getInstance());
    }
  }
);
}

Fixed version (ground truth):
@Override protected void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  LayoutInflater inflater=(LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  if (inflater != null) {
    View contentView=inflater.inflate(R.layout.activity_about,mDrawerLayout,false);
    mDrawerLayout.addView(contentView,0);
  }
  setTitle(R.string.about);
  final TextView about=findViewById(R.id.about_text);
  AndroidTemplates loader=new AndroidTemplates(getBaseContext());
  Theme theme=new Theme(loader);
  final Chunk html=theme.makeChunk("String_Node_Str");
  final ViewTreeObserver observer=about.getViewTreeObserver();
  observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){
    @Override public void onGlobalLayout(){
      Html.ImageGetter imageGetter=new Html.ImageGetter(){
        public Drawable getDrawable(        String source){
          Drawable d=getResources().getDrawable(R.mipmap.wunderground);
          int viewWidth=about.getWidth();
          int width=Math.round(viewWidth * 4 / 5);
          if (width > 770)           width=770;
          Float ratio=(float)d.getIntrinsicHeight() / d.getIntrinsicWidth();
          int height=Math.round(width * ratio);
          d.setBounds(0,0,width,height);
          return d;
        }
      }
;
      if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
        about.setText(Html.fromHtml(html.toString(),Html.FROM_HTML_MODE_LEGACY,imageGetter,null));
      }
 else {
        about.setText(Html.fromHtml(html.toString(),imageGetter,null));
      }
      about.setMovementMethod(LinkMovementMethod.getInstance());
    }
  }
);
}