в каком классе код вызываешь?
в методе object'а который вызывается из viewModel которая в свою очередь вызывается из фрагмента
из фрагмента передай активити,что сказать
а так разве будет правильным? может всё таки как то через callback вернуться во фрагмент и оттуда уже вызвать через activity?
правильно будет вообще не делать так, как ты сделал
я открыт к предложениям просто изначально я делал всё во фрагменте, теперь же хотел перенести некоторую бизнес логику во ViewModel а там попутно у меня и locationManagerAbs нарисовался вот и пошло поехало)
чтобы чет предложить я должен понимать что у тебя происходит. по факту я не знаком с этим классом/интерфейсом/методом который требует активити
https://gist.github.com/mnewlive/2b8e43f1f481f458cf72623601b0b731 требует активити именно здесь в методе startResolutionForResult но именно с помощью него я могу открыть диалог как понял второй метод не подходит вроде, так как не вызывает intent
бизнес логика должна быть в интеракторах, но это на то и бизнес логика, что там не должно быть андроида вообще. У тебя это не похоже на бизнес логику, просто какой-то запрос в либу и получение ответа. В любом случае, выполняй код, который требует активити, во фрагменте или самой активити. Только не делай провайд активити в интерактор, как в сообщении выше, это что-то
щас пошёл по пути передачи активити но пока тоже не оч нравится что получается а логика присутствует здесь когда в зависимости от статуса gps делаю какие то действия https://gist.github.com/mnewlive/2b8e43f1f481f458cf72623601b0b731
Например можно попробовать обернуть вашу переменную status в лайвдату, там где status.startResolutionForResult - присваивать значение этого статуса. В фрагменте подписаться на эту лайвдату и при ее изменении уже вызвать метод указанный выше у объекта status
но переменная status у меня не во viewModel же не уверен что так можно
Просто здесь написано, что объект находится в vm. Это и не важно, что самой переменной в vm нет. Код который выше кинули, это в vm?
Обсуждают сегодня