Source:
private void bindViewHolderToResponseRow(DiscussionResponseViewHolder holder, final int position) { final DiscussionComment comment = discussionResponses.get(position - 1); holder.responseCommentBodyTextView.setText(DiscussionTextUtils.parseHtml(comment.getRenderedBody())); holder.addCommentLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (comment.getChildren().isEmpty()) { if (!discussionThread.isClosed()) router.showCourseDiscussionAddComment(context, comment); } else { router.showCourseDiscussionComments(context, comment, discussionThread.isClosed()); } } }); holder.authorLayoutViewHolder.discussionAuthorTextView.setText(DiscussionTextUtils.getAuthorAttributionText(comment, context.getResources())); bindNumberCommentsView(holder.numberResponsesViewHolder, comment); final int positionInResponses = position - 1; bindSocialView(holder.socialLayoutViewHolder, positionInResponses, comment); holder.discussionReportViewHolder.reportLayout.setOnClickListener(new View.OnClickListener() { public void onClick(final View v) { FlagCommentTask task = new FlagCommentTask(context, comment, !comment.isAbuseFlagged()) { @Override public void onSuccess(DiscussionComment comment) { if (comment != null) { discussionResponses.remove(positionInResponses); discussionResponses.add(positionInResponses, comment); notifyDataSetChanged(); } } @Override public void onException(Exception ex) { logger.error(ex); } }; task.execute(); } }); holder.discussionReportViewHolder.setReported(comment.isAbuseFlagged()); holder.socialLayoutViewHolder.threadFollowContainer.setVisibility(View.INVISIBLE); }

Target:
private void bindViewHolderToResponseRow(DiscussionResponseViewHolder holder, final int position) { final DiscussionComment comment = discussionResponses.get(position - 1); holder.responseCommentBodyTextView.setText(DiscussionTextUtils.parseHtml(comment.getRenderedBody())); if (discussionThread.isClosed() && comment.getChildren().isEmpty()) { holder.addCommentLayout.setEnabled(false); } else { holder.addCommentLayout.setEnabled(true); holder.addCommentLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (comment.getChildren().isEmpty()) { listener.onClickAddComment(comment); } else { listener.onClickViewComments(comment); } } }); } DiscussionTextUtils.setAuthorAttributionText(holder.authorLayoutViewHolder.discussionAuthorTextView, comment, new Runnable() { @Override public void run() { listener.onClickAuthor(comment.getAuthor()); } }); bindNumberCommentsView(holder.numberResponsesViewHolder, comment); final int positionInResponses = position - 1; bindSocialView(holder.socialLayoutViewHolder, positionInResponses, comment); holder.discussionReportViewHolder.reportLayout.setOnClickListener(new View.OnClickListener() { public void onClick(final View v) { FlagCommentTask task = new FlagCommentTask(context, comment, !comment.isAbuseFlagged()) { @Override public void onSuccess(DiscussionComment comment) { if (comment != null) { discussionResponses.remove(positionInResponses); discussionResponses.add(positionInResponses, comment); notifyDataSetChanged(); } } @Override public void onException(Exception ex) { logger.error(ex); } }; task.execute(); } }); holder.discussionReportViewHolder.setReported(comment.isAbuseFlagged()); holder.socialLayoutViewHolder.threadFollowContainer.setVisibility(View.INVISIBLE); }