Причин много, это не я такой упертый 😉 Про это можно много писать и рассказывать. Хоть целый митап. Пока нет возможности правильно работать с диалогами. И мой совет: не пытайтесь их прикрутить к командам роутера. Вот вам на размышление: как вызвать показ трех экранов одной командой, среди которых запросто могут быть диалоги? И не должно быть коллизий с любыми другими командами. Снаружи мы не должны знать про реализации экранов.
Дайте полное решение, подходящие в общем случае. Тогда легко оно окажется в библиотеке. В своих проектах можете делать как считаете правильным, но пока нет ответа на общие вопросы, то и в библиотеку нет смысла тянуть.
у меня кейс - в сервисе работа делается, пока эта работа идет нужно экран диалогом специальным закрывать. Вроде как неплохо выглядит в сервисе blabla() .doOnSubscribe(dialogRouter.showDialog(screen) .doFinally(dialogRounter.hideDialog(screen)
у меня кейс - в сервисе работа делается, пока эта работа идет нужно экран диалогом специальным закрывать. Вроде как неплохо выглядит в сервисе blabla() .doOnSubscribe(dialogRouter.showDialog(screen) .doFinally(dialogRounter.hideDialog(screen)
у меня кейс - в сервисе работа делается, пока эта работа идет нужно экран диалогом специальным закрывать. Вроде как неплохо выглядит в сервисе blabla() .doOnSubscribe(dialogRouter.showDialog(screen) .doFinally(dialogRounter.hideDialog(screen)
но вот с навигатором повозиться только...
так можно из VM или Presenter подписаться на общий таск и view через интерфейс или LiveData стучать