Example #1
0
  private void populateDiffs(PoiViewHolder holder, ViewGroup parent, PoiUpdateWrapper poiWrapper) {
    holder.getDetailsWrapper().removeAllViews();
    TagChangeViewHolder tagChangeViewHolder;

    if (poiWrapper.isPositionChanged()) {
      View positionChanged = inflater.inflate(R.layout.single_changes_line_layout, parent, false);
      tagChangeViewHolder = new TagChangeViewHolder(positionChanged);
      String positionChangedStr =
          HtmlFontHelper.getBold(context.getString(R.string.position))
              + HtmlFontHelper.addColor(context.getString(R.string.changed), HtmlFontHelper.ORANGE);
      tagChangeViewHolder
          .getNewTag()
          .setText(Html.fromHtml(positionChangedStr), TextView.BufferType.SPANNABLE);
      holder.getDetailsWrapper().addView(positionChanged);
    }

    for (PoiDiffWrapper poiDiffWrapper : poiWrapper.getPoiDiff()) {
      View singleLine = inflater.inflate(R.layout.single_changes_line_layout, parent, false);

      tagChangeViewHolder = new TagChangeViewHolder(singleLine);
      tagChangeViewHolder
          .getNewTag()
          .setText(
              Html.fromHtml(poiDiffWrapper.getColoredDetail(true)), TextView.BufferType.SPANNABLE);
      tagChangeViewHolder
          .getOldTag()
          .setText(
              Html.fromHtml(poiDiffWrapper.getColoredDetail(false)), TextView.BufferType.SPANNABLE);

      holder.getDetailsWrapper().addView(singleLine);
    }
  }