@@ -73,6 +73,7 @@ import dagger.hilt.android.AndroidEntryPoint
7373import rx.schedulers.Schedulers
7474import java.time.LocalDateTime
7575import java.time.format.DateTimeFormatter
76+ import kotlin.collections.listOf
7677import kotlin.text.get
7778
7879@AndroidEntryPoint
@@ -108,7 +109,7 @@ class DiningFragment : Fragment() {
108109 val pullToRefreshState = rememberPullToRefreshState()
109110 val isDataRefreshing by viewModel.isRefreshing.collectAsState()
110111 val allDiningHalls by viewModel.allDiningHalls.collectAsState()
111- val favouriteDiningHalls by viewModel.favouriteDiningHalls.collectAsState(listOf ())
112+ val favouriteDiningHalls = viewModel.favouriteDiningHalls.collectAsState(initial = listOf< DiningHall > ())
112113
113114 var isOnline by remember { mutableStateOf<Boolean ?>(null ) }
114115 var isSortMenuExpanded by remember { mutableStateOf(false ) }
@@ -279,7 +280,7 @@ class DiningFragment : Fragment() {
279280
280281 item {
281282 FavouriteDiningHalls (
282- diningHalls = favouriteDiningHalls,
283+ diningHalls = favouriteDiningHalls.value as List < DiningHall > ,
283284 toggleFavourite = { viewModel.toggleFavourite(it) },
284285 openDiningHallMenu = { hall -> navigateToMenuFragment(hall) },
285286 modifier =
@@ -307,7 +308,7 @@ class DiningFragment : Fragment() {
307308 items(allDiningHalls) { diningHall ->
308309 DiningHallCard (
309310 diningHall = diningHall,
310- isFavourite = favouriteDiningHalls.contains(diningHall) ,
311+ isFavourite = ( favouriteDiningHalls.value as List < DiningHall >).any { it.id == diningHall.id } ,
311312 toggleFavourite = { viewModel.toggleFavourite(diningHall) },
312313 openDiningHallMenu = { hall -> navigateToMenuFragment(hall) },
313314 )
0 commit comments