Лучше я ничего не придумал, к сожалению. Навыков архитектурных не так много.
продумал. план такой: надо сделать кастомную вью MarkdownTextView, у которой будет свой презентер.
Это хорошо описано в мокси вики. делается просто. мы часто используем.
у этой вью будет метод setMarkdown(text: String, projectId: Long? = null)
она будет передавать все это дело своему презентеру, а тот будет грузить лейблы, отдвать на парсинг марквону и тд
важно: это то что можно засетить новый текст, до того как распарсился старый (в ресайклере). поэтому надо учесть отписку и запуск нового процесса и тд
это хорошее архитектурное задание 😊 готовы взять?
если да, то надо отдельным МР создать это в проекте (пока без лейблов, а как отдельную задачу)
в MarkdownPresenter будет инжектиться ProjectInteractor и MarkdownConverter
главное все правильно и аккуартно приготовить))