diff --git a/app/src/main/java/com/hotdeal/alarm/presentation/deallist/DealListScreen.kt b/app/src/main/java/com/hotdeal/alarm/presentation/deallist/DealListScreen.kt index bdaeeb1..a5da4f3 100644 --- a/app/src/main/java/com/hotdeal/alarm/presentation/deallist/DealListScreen.kt +++ b/app/src/main/java/com/hotdeal/alarm/presentation/deallist/DealListScreen.kt @@ -62,7 +62,7 @@ fun DealListScreen( // Pull to Refresh val pullToRefreshState = rememberPullToRefreshState(positionalThreshold = 40.dp) - var isRefreshing by remember { mutableStateOf(false) } + val isRefreshingByVm by viewModel.isRefreshing.collectAsStateWithLifecycle() val listState = rememberLazyListState() val scope = rememberCoroutineScope() @@ -70,9 +70,8 @@ fun DealListScreen( derivedStateOf { listState.firstVisibleItemIndex > 3 } } - LaunchedEffect(uiState) { - if (uiState !is MainUiState.Loading) { - isRefreshing = false + LaunchedEffect(isRefreshingByVm) { + if (!isRefreshingByVm) { pullToRefreshState.endRefresh() } } @@ -421,7 +420,6 @@ fun DealListScreen( LaunchedEffect(pullToRefreshState.isRefreshing) { if (pullToRefreshState.isRefreshing) { - isRefreshing = true viewModel.refresh() } }