Lukasz Kalnik
11/29/2021, 3:32 PMLukasz Kalnik
11/29/2021, 3:41 PMStefan Oltmann
11/29/2021, 3:52 PMStefan Oltmann
11/29/2021, 4:10 PMLukasz Kalnik
11/29/2021, 4:14 PMStefan Oltmann
11/29/2021, 4:16 PMLukasz Kalnik
11/29/2021, 4:16 PMStefan Oltmann
11/29/2021, 4:17 PMStefan Oltmann
11/29/2021, 4:18 PMKonstantin Tskhovrebov
11/29/2021, 7:28 PMZhiqiang Bian
11/29/2021, 11:28 PMLukasz Kalnik
11/30/2021, 9:36 AMStefan Oltmann
11/30/2021, 9:37 AMStefan Oltmann
11/30/2021, 9:40 AMStefan Oltmann
11/30/2021, 9:40 AMLukasz Kalnik
11/30/2021, 9:41 AMStefan Oltmann
11/30/2021, 9:41 AMStefan Oltmann
11/30/2021, 9:42 AMStefan Oltmann
11/30/2021, 9:44 AMZhiqiang Bian
11/30/2021, 9:48 AMStefan Oltmann
11/30/2021, 9:49 AMStefan Oltmann
11/30/2021, 9:50 AMStefan Oltmann
11/30/2021, 9:51 AMStefan Oltmann
11/30/2021, 9:52 AMStefan Oltmann
11/30/2021, 9:52 AMZhiqiang Bian
11/30/2021, 9:53 AMStefan Oltmann
11/30/2021, 9:58 AMStefan Oltmann
11/30/2021, 10:00 AMStefan Oltmann
11/30/2021, 10:07 AMLukasz Kalnik
11/30/2021, 10:51 AMStefan Oltmann
11/30/2021, 11:57 AMStefan Oltmann
11/30/2021, 11:58 AMkenkyee
11/30/2021, 12:00 PMLukasz Kalnik
11/30/2021, 4:17 PMFeedStore
just takes a hardcoded CoroutineScope(Dispatchers.Main)
which is not bound to any lifecycle.
It also means it's impossible to unit test it (although this can easily be fixed by just injecting the CoroutineScope into FeedStore).Stefan Oltmann
11/30/2021, 4:19 PMLukasz Kalnik
11/30/2021, 4:19 PMLukasz Kalnik
11/30/2021, 4:19 PMLukasz Kalnik
11/30/2021, 4:20 PMLukasz Kalnik
11/30/2021, 4:20 PMStefan Oltmann
11/30/2021, 4:21 PMLukasz Kalnik
11/30/2021, 4:21 PMStefan Oltmann
11/30/2021, 4:24 PMLukasz Kalnik
11/30/2021, 4:24 PMprivate val scope = viewModelScope + coroutineContext
where viewModelScope
automatically binds your scope to the viewmodel. So when activity is finally destroyed all coroutines get canceled.Lukasz Kalnik
11/30/2021, 4:24 PMcoroutineContext
you can then inject e.g. Dispatchers.Main
Stefan Oltmann
11/30/2021, 4:27 PMKonstantin Tskhovrebov
11/30/2021, 4:37 PMKonstantin Tskhovrebov
11/30/2021, 4:38 PM