diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/BaseTaskViewHolder.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/BaseTaskViewHolder.java index f65857e7d..8aa780d41 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/BaseTaskViewHolder.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/BaseTaskViewHolder.java @@ -58,8 +58,25 @@ public class BaseTaskViewHolder extends RecyclerView.ViewHolder implements View. public void bindHolder(Task newTask, int position) { this.task = newTask; if (this.canContainMarkdown()) { - this.titleTextView.setText(this.task.parsedText); - this.notesTextView.setText(this.task.parsedNotes); + if (this.task.parsedText != null) { + this.titleTextView.setText(this.task.parsedText); + this.notesTextView.setText(this.task.parsedNotes); + } else { + this.titleTextView.setText(this.task.getText()); + this.notesTextView.setText(this.task.getNotes()); + Observable.just(this.task) + .map(task1 -> { + task.parsedText = MarkdownParser.parseMarkdown(task.getText()); + task.parsedNotes = MarkdownParser.parseMarkdown(task.getNotes()); + return task; + }) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(task2 -> { + this.titleTextView.setText(this.task.parsedText); + this.notesTextView.setText(this.task.parsedNotes); + }); + } } else { this.titleTextView.setText(this.task.getText()); this.notesTextView.setText(this.task.getNotes()); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.java index f26eb4c47..d9463d0ad 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.java @@ -62,6 +62,7 @@ public abstract class ChecklistedViewHolder extends BaseTaskViewHolder implement @Override public void bindHolder(Task newTask, int position) { super.bindHolder(newTask, position); + this.checkbox.setChecked(this.task.completed); if (this.shouldDisplayAsActive()) { this.checkboxHolder.setBackgroundResource(this.task.getLightTaskColor()); } else {