@@ -13,14 +13,12 @@ import com.flipcash.services.controllers.ActivityFeedController
1313import com.flipcash.services.models.ActivityFeedType
1414import com.flipcash.services.models.NotificationState
1515import com.flipcash.services.models.QueryOptions
16- import com.flipcash.services.user.AuthState
1716import com.flipcash.services.user.UserManager
1817import com.getcode.utils.TraceType
1918import com.getcode.utils.trace
2019import kotlinx.coroutines.ExperimentalCoroutinesApi
2120import kotlinx.coroutines.flow.Flow
2221import kotlinx.coroutines.flow.filter
23- import kotlinx.coroutines.flow.filterIsInstance
2422import kotlinx.coroutines.flow.flatMapLatest
2523import kotlinx.coroutines.flow.map
2624import kotlinx.coroutines.flow.mapNotNull
@@ -37,14 +35,16 @@ class ActivityFeedCoordinator @Inject constructor(
3735 private val pagingConfig = PagingConfig (pageSize = 20 )
3836
3937 @OptIn(ExperimentalPagingApi ::class )
40- private val _messages : Flow <PagingData <ActivityFeedMessage >> by lazy {
41- Pager (
42- config = pagingConfig,
43- remoteMediator = FeedRemoteMediator (activityFeedController, dataSource)
44- ) {
45- dataSource.observe()
46- }.flow.map { page -> page.map { entity -> mapper.map(entity) } }
47- }
38+ private val _messages : Flow <PagingData <ActivityFeedMessage >> = userManager.state
39+ .filter { it.authState.canAccessAuthenticatedApis }
40+ .flatMapLatest {
41+ Pager (
42+ config = pagingConfig,
43+ remoteMediator = FeedRemoteMediator (activityFeedController, dataSource)
44+ ) {
45+ dataSource.observe()
46+ }.flow.map { page -> page.map { entity -> mapper.map(entity) } }
47+ }
4848
4949 @OptIn(ExperimentalCoroutinesApi ::class )
5050 val messages: Flow <PagingData <ActivityFeedMessage >> = userManager.state
0 commit comments