Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package dev.dimension.flare.data.datasource.microblog

import androidx.paging.PagingConfig

internal actual val pagingConfig: PagingConfig =
PagingConfig(
pageSize = 20,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package dev.dimension.flare.data.datasource.microblog

import androidx.paging.PagingConfig

internal actual val pagingConfig: PagingConfig =
PagingConfig(
pageSize = 20,
initialLoadSize = 20,
enablePlaceholders = false,
)
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import kotlin.coroutines.CoroutineContext

internal expect val pagingConfig: PagingConfig

@OptIn(ExperimentalPagingApi::class)
internal fun timelinePager(
pageSize: Int,
Expand All @@ -41,7 +43,7 @@ internal fun timelinePager(
): Flow<PagingData<UiTimeline>> {
val pagerFlow =
Pager(
config = PagingConfig(pageSize = pageSize),
config = pagingConfig,
Copy link

Copilot AI Jul 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pageSize parameter is now ignored since pagingConfig has a fixed pageSize. Consider removing the pageSize parameter from this function or documenting that it's no longer used.

Copilot uses AI. Check for mistakes.
remoteMediator = mediator,
pagingSourceFactory = {
database.pagingTimelineDao().getPagingSource(
Expand Down Expand Up @@ -189,7 +191,7 @@ internal fun <T : Any> memoryPager(
mediator: BaseRemoteMediator<Int, T>,
): Flow<PagingData<T>> =
Pager(
config = PagingConfig(pageSize = pageSize),
config = pagingConfig,
Copy link

Copilot AI Jul 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pageSize parameter is now ignored since pagingConfig has a fixed pageSize. Consider removing the pageSize parameter from this function or documenting that it's no longer used.

Copilot uses AI. Check for mistakes.
remoteMediator = mediator,
pagingSourceFactory = {
MemoryPagingSource(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package dev.dimension.flare.data.datasource.xqt
import androidx.paging.ExperimentalPagingApi
import androidx.paging.LoadType
import androidx.paging.Pager
import androidx.paging.PagingConfig
import androidx.paging.PagingData
import androidx.paging.PagingState
import androidx.paging.cachedIn
Expand Down Expand Up @@ -40,6 +39,7 @@ import dev.dimension.flare.data.datasource.microblog.ProfileTab
import dev.dimension.flare.data.datasource.microblog.StatusEvent
import dev.dimension.flare.data.datasource.microblog.createSendingDirectMessage
import dev.dimension.flare.data.datasource.microblog.memoryPager
import dev.dimension.flare.data.datasource.microblog.pagingConfig
import dev.dimension.flare.data.datasource.microblog.relationKeyWithUserKey
import dev.dimension.flare.data.datasource.microblog.timelinePager
import dev.dimension.flare.data.network.xqt.XQTService
Expand Down Expand Up @@ -192,7 +192,7 @@ internal class XQTDataSource(
): Flow<PagingData<UiTimeline>> {
if (type == NotificationFilter.All) {
return Pager(
config = PagingConfig(pageSize = pageSize),
config = pagingConfig,
Copy link

Copilot AI Jul 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pageSize parameter is now ignored since pagingConfig has a fixed pageSize. Consider removing the pageSize parameter from functions that use this Pager or documenting that pageSize is no longer configurable.

Copilot uses AI. Check for mistakes.
) {
NotificationPagingSource(
locale = "en",
Expand Down Expand Up @@ -574,7 +574,7 @@ internal class XQTDataSource(
pageSize: Int,
): Flow<PagingData<UiUserV2>> =
Pager(
config = PagingConfig(pageSize = pageSize),
config = pagingConfig,
) {
SearchUserPagingSource(
service = service,
Expand All @@ -585,7 +585,7 @@ internal class XQTDataSource(

override fun discoverUsers(pageSize: Int): Flow<PagingData<UiUserV2>> =
Pager(
config = PagingConfig(pageSize = pageSize),
config = pagingConfig,
) {
TrendsUserPagingSource(
service,
Expand All @@ -600,7 +600,7 @@ internal class XQTDataSource(

override fun discoverHashtags(pageSize: Int): Flow<PagingData<UiHashtag>> =
Pager(
config = PagingConfig(pageSize = pageSize),
config = pagingConfig,
) {
TrendHashtagPagingSource(
service,
Expand Down Expand Up @@ -1067,7 +1067,7 @@ internal class XQTDataSource(
pageSize: Int,
): Flow<PagingData<UiUserV2>> =
Pager(
config = PagingConfig(pageSize = pageSize),
config = pagingConfig,
) {
FollowingPagingSource(
service = service,
Expand All @@ -1082,7 +1082,7 @@ internal class XQTDataSource(
pageSize: Int,
): Flow<PagingData<UiUserV2>> =
Pager(
config = PagingConfig(pageSize = pageSize),
config = pagingConfig,
) {
FansPagingSource(
service = service,
Expand Down Expand Up @@ -1486,7 +1486,7 @@ internal class XQTDataSource(

override fun directMessageList(scope: CoroutineScope): Flow<PagingData<UiDMRoom>> =
Pager(
config = PagingConfig(pageSize = 20),
config = pagingConfig,
remoteMediator =
DMListRemoteMediator(
service = service,
Expand All @@ -1510,7 +1510,7 @@ internal class XQTDataSource(
scope: CoroutineScope,
): Flow<PagingData<UiDMItem>> =
Pager(
config = PagingConfig(pageSize = 20),
config = pagingConfig,
remoteMediator =
DMConversationRemoteMediator(
service = service,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import androidx.paging.ExperimentalPagingApi
import androidx.paging.LoadState
import androidx.paging.LoadStates
import androidx.paging.Pager
import androidx.paging.PagingConfig
import androidx.paging.PagingData
import androidx.paging.cachedIn
import androidx.paging.compose.collectAsLazyPagingItems
Expand All @@ -24,6 +23,7 @@ import dev.dimension.flare.common.onSuccess
import dev.dimension.flare.common.toPagingState
import dev.dimension.flare.data.database.cache.CacheDatabase
import dev.dimension.flare.data.datasource.microblog.contains
import dev.dimension.flare.data.datasource.microblog.pagingConfig
import dev.dimension.flare.data.repository.AccountRepository
import dev.dimension.flare.data.repository.LocalFilterRepository
import dev.dimension.flare.model.AccountType
Expand Down Expand Up @@ -107,7 +107,7 @@ public abstract class TimelinePresenter :
): Flow<PagingData<UiTimeline>> {
val pagerFlow =
Pager(
config = PagingConfig(pageSize = pageSize),
config = pagingConfig,
Copy link

Copilot AI Jul 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pageSize parameter is now ignored since pagingConfig has a fixed pageSize. Consider removing the pageSize parameter from this function or documenting that it's no longer used.

Copilot uses AI. Check for mistakes.
remoteMediator = mediator,
pagingSourceFactory = {
database.pagingTimelineDao().getPagingSource(
Expand Down Expand Up @@ -143,7 +143,7 @@ public abstract class TimelinePresenter :
pageSize: Int = 20,
Copy link

Copilot AI Jul 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pageSize parameter is now ignored since pagingConfig has a fixed pageSize. Consider removing the pageSize parameter from this function or documenting that it's no longer used.

Suggested change
pageSize: Int = 20,

Copilot uses AI. Check for mistakes.
): Flow<PagingData<UiTimeline>> =
Pager(
config = PagingConfig(pageSize = pageSize),
config = pagingConfig,
pagingSourceFactory = {
pagingSource
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.runtime.snapshotFlow
import androidx.paging.Pager
import androidx.paging.PagingConfig
import androidx.paging.cachedIn
import androidx.paging.compose.collectAsLazyPagingItems
import androidx.paging.filter
import dev.dimension.flare.common.PagingState
import dev.dimension.flare.common.toPagingState
import dev.dimension.flare.data.datasource.microblog.RecommendInstancePagingSource
import dev.dimension.flare.data.datasource.microblog.pagingConfig
import dev.dimension.flare.data.network.nodeinfo.NodeInfoService
import dev.dimension.flare.model.PlatformType
import dev.dimension.flare.ui.model.UiInstance
Expand Down Expand Up @@ -44,7 +44,7 @@ public class NodeInfoPresenter : PresenterBase<NodeInfoState>() {
remember {
combine(
Pager(
config = PagingConfig(pageSize = 20),
config = pagingConfig,
) {
RecommendInstancePagingSource()
}.flow.cachedIn(scope),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.paging.Pager
import androidx.paging.PagingConfig
import androidx.paging.compose.collectAsLazyPagingItems
import androidx.paging.filter
import androidx.paging.map
import dev.dimension.flare.common.PagingState
import dev.dimension.flare.common.toPagingState
import dev.dimension.flare.data.database.cache.CacheDatabase
import dev.dimension.flare.data.datasource.microblog.StatusEvent
import dev.dimension.flare.data.datasource.microblog.pagingConfig
import dev.dimension.flare.data.repository.AccountRepository
import dev.dimension.flare.model.AccountType
import dev.dimension.flare.ui.model.UiState
Expand Down Expand Up @@ -54,7 +54,7 @@ public class LocalCacheSearchPresenter :
UiState.Error(Throwable("Query is empty"))
} else {
Pager(
config = PagingConfig(pageSize = 20),
config = pagingConfig,
) {
database.pagingTimelineDao().searchHistoryPagingSource(query = "%$query%")
}.flow.let {
Expand All @@ -66,7 +66,7 @@ public class LocalCacheSearchPresenter :
remember(allAccounts) {
allAccounts.map { accounts ->
Pager(
config = PagingConfig(pageSize = 20),
config = pagingConfig,
) {
database
.pagingTimelineDao()
Expand Down Expand Up @@ -114,7 +114,7 @@ public class LocalCacheSearchPresenter :
val userHistory =
remember {
Pager(
config = PagingConfig(pageSize = 20),
config = pagingConfig,
) {
database.userDao().getUserHistory()
}.flow.map {
Expand All @@ -135,7 +135,7 @@ public class LocalCacheSearchPresenter :
} else {
allAccounts.map { accounts ->
Pager(
config = PagingConfig(pageSize = 20),
config = pagingConfig,
) {
database.userDao().searchUser(query)
}.flow.map {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package dev.dimension.flare.data.datasource.microblog

import androidx.paging.PagingConfig

internal actual val pagingConfig: PagingConfig =
PagingConfig(
pageSize = 20,
)