Skip to content

Commit 44f106d

Browse files
authored
feat: added ability update the primary course on the learn tab (#389)
1 parent 0de8db1 commit 44f106d

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

dashboard/src/main/java/org/openedx/courses/presentation/DashboardGalleryView.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import androidx.compose.material.pullrefresh.pullRefresh
4242
import androidx.compose.material.pullrefresh.rememberPullRefreshState
4343
import androidx.compose.material.rememberScaffoldState
4444
import androidx.compose.runtime.Composable
45+
import androidx.compose.runtime.LaunchedEffect
4546
import androidx.compose.runtime.collectAsState
4647
import androidx.compose.runtime.getValue
4748
import androidx.compose.runtime.mutableStateOf
@@ -53,6 +54,7 @@ import androidx.compose.ui.graphics.painter.Painter
5354
import androidx.compose.ui.graphics.vector.rememberVectorPainter
5455
import androidx.compose.ui.layout.ContentScale
5556
import androidx.compose.ui.platform.LocalContext
57+
import androidx.compose.ui.platform.LocalLifecycleOwner
5658
import androidx.compose.ui.platform.testTag
5759
import androidx.compose.ui.res.painterResource
5860
import androidx.compose.ui.res.pluralStringResource
@@ -63,6 +65,7 @@ import androidx.compose.ui.tooling.preview.Devices
6365
import androidx.compose.ui.tooling.preview.Preview
6466
import androidx.compose.ui.unit.dp
6567
import androidx.fragment.app.FragmentManager
68+
import androidx.lifecycle.Lifecycle
6669
import coil.compose.AsyncImage
6770
import coil.request.ImageRequest
6871
import org.koin.androidx.compose.koinViewModel
@@ -108,6 +111,13 @@ fun DashboardGalleryView(
108111
val uiMessage by viewModel.uiMessage.collectAsState(null)
109112
val uiState by viewModel.uiState.collectAsState(DashboardGalleryUIState.Loading)
110113

114+
val lifecycleState by LocalLifecycleOwner.current.lifecycle.currentStateFlow.collectAsState()
115+
LaunchedEffect(lifecycleState) {
116+
if (lifecycleState == Lifecycle.State.RESUMED) {
117+
viewModel.updateCourses(isUpdating = false)
118+
}
119+
}
120+
111121
DashboardGalleryView(
112122
uiMessage = uiMessage,
113123
uiState = uiState,

dashboard/src/main/java/org/openedx/courses/presentation/DashboardGalleryViewModel.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,11 +108,11 @@ class DashboardGalleryViewModel(
108108
}
109109
}
110110

111-
fun updateCourses() {
111+
fun updateCourses(isUpdating: Boolean = true) {
112112
if (isLoading) {
113113
return
114114
}
115-
_updating.value = true
115+
_updating.value = isUpdating
116116
getCourses()
117117
}
118118

0 commit comments

Comments
 (0)