Вступить в клуб →
сложнаявопросMVVM, MVI и многомодульность

После выхода и входа под другим аккаунтом видна корзина прошлого пользователя

@Singleton
class CartRepository @Inject constructor(private val api: ShopApi) {
    private var cached: Cart? = null

    suspend fun cart(): Cart = cached ?: api.cart().also { cached = it }
}

Выход из аккаунта очищает токен и открывает экран входа, процесс не перезапускается. Второй пользователь входит и видит товары первого. Какое решение надёжнее всего?

  • Связать данные с сессией и очищать при выходе
  • Убрать @Singleton, чтобы кэш создавался заново
  • Перезапускать процесс после выхода
  • Хранить корзину в SharedPreferences

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела