создаем class Resource (val data, val status) status это enum c success, error, network. Потом когда получаем делаем when(it.status){ Status.error -> ошибка братан }
Как итог - бест практисом для этого случая является проброс внутри вьюмодели какой-нибудь лайвдаты а-ля shouldDisplayDialog, после чего подписываться на нее внутри фрагмента, и отображать диалог, основываясь на ее значении
Ты внутри вьюмодели кидаешь в переменную, которую обзервишь внутри фрагмента новый стейт, и уже внутри фрагмента, основываясь на этой переменной, должен дергать эту функцию