Я настраиваю тестовый сценарий. У меня есть два Activity.
- SplashActivity
- HomeActivity
И репозиторий с именем Repository
, который вводится в обе модели просмотра этих действий. Это тоже синглтон. Допустим, класс Repository
выглядит так:
class Repository {
suspend fun getData(): List<Data> {
delay(20000)
return // the list
}
}
А теперь формулировка проблемы. Допустим, я хочу вызвать этот метод getData () из модели просмотра SplashActivity
и перейти к HomeActivity
. И в модели просмотра HomeActivity
я хочу прослушать метод, который я вызвал в SplashActivity, и дождаться его завершения.
Итак, вместо того, чтобы getData () снова запустить его метод задержки, я хочу продолжить предыдущий вызов от SplashActivity
и дождитесь завершения sh и получите данные.
Как я могу go вперед и сделать это? У меня в голове есть ответ. Но мне это кажется немного взломом. Хотел бы узнать о лучших решениях. Также дай мне знать, неправильно ли я думаю о сопрограммах.