Skip to content

Commit de73ac0

Browse files
committed
feat: 새로고침 관련 개선
1 parent 079ff18 commit de73ac0

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed

app/src/main/java/com/no5ing/bbibbi/data/repository/post/GetAIPostsRepository.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ class GetAIPostsRepository @Inject constructor(
3838
}.flow
3939
}
4040

41+
fun invalidateSource() {
42+
if (::pagingSource.isInitialized)
43+
pagingSource.invalidate()
44+
}
45+
4146
override fun closeResources() {
4247
super.closeResources()
4348
if (::pagingSource.isInitialized)

app/src/main/java/com/no5ing/bbibbi/presentation/feature/view/main/family_studio/FamilyStudioPage.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import androidx.compose.foundation.layout.Spacer
1111
import androidx.compose.foundation.layout.fillMaxSize
1212
import androidx.compose.foundation.layout.fillMaxWidth
1313
import androidx.compose.foundation.layout.height
14+
import androidx.compose.foundation.layout.navigationBarsPadding
1415
import androidx.compose.foundation.layout.padding
1516
import androidx.compose.foundation.layout.size
1617
import androidx.compose.foundation.layout.width
@@ -64,7 +65,12 @@ fun FamilyStudioPage(
6465
) {
6566
val aiImageState = aiImageCountViewModel.uiState.collectAsState()
6667
LaunchedEffect(Unit) {
67-
postsViewModel.invoke(Arguments())
68+
if (postsViewModel.isInitialize()) {
69+
postsViewModel.invoke(Arguments())
70+
} else {
71+
postsViewModel.refresh()
72+
}
73+
6874
aiImageCountViewModel.invoke(Arguments())
6975
}
7076
val photoCount = if(aiImageState.value.isReady()) {
@@ -159,8 +165,10 @@ fun FamilyStudioPage(
159165
Box(
160166
modifier = Modifier
161167
.padding(horizontal = 12.dp, vertical = 15.dp)
168+
.navigationBarsPadding()
162169
.align(Alignment.BottomCenter)
163170
) {
171+
164172
CustomCTAButton(
165173
modifier = Modifier.fillMaxWidth(),
166174
contentPadding = PaddingValues(vertical = 18.dp),

app/src/main/java/com/no5ing/bbibbi/presentation/feature/view_model/post/GetAIPostsViewModel.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.no5ing.bbibbi.presentation.feature.view_model.post
22

3+
import androidx.lifecycle.LiveData
4+
import androidx.lifecycle.MutableLiveData
35
import androidx.lifecycle.viewModelScope
46
import androidx.paging.PagingData
57
import androidx.paging.cachedIn
@@ -42,6 +44,10 @@ class GetAIPostsViewModel @Inject constructor(
4244
}
4345
}
4446

47+
fun refresh() {
48+
getPostsRepository.invalidateSource()
49+
}
50+
4551
override fun release() {
4652
super.release()
4753
getPostsRepository.closeResources()

0 commit comments

Comments
 (0)