From 0bf15a1647f8a7d157661e150f43b08529d58e4b Mon Sep 17 00:00:00 2001 From: tdpeuter Date: Mon, 15 May 2023 23:29:01 +0200 Subject: [PATCH] Fixes SelectedProfileState --- .../java/be/ugent/sel/studeez/data/SelectedState.kt | 8 ++++++++ .../friends_overview/FriendsOverviewViewModel.kt | 8 ++++---- .../friends/friends_search/SearchFriendsViewModel.kt | 6 +++--- .../profile/public_profile/PublicProfileViewModel.kt | 6 +++--- .../profile/public_profile/SelectedProfileState.kt | 12 ------------ 5 files changed, 18 insertions(+), 22 deletions(-) delete mode 100644 app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/SelectedProfileState.kt diff --git a/app/src/main/java/be/ugent/sel/studeez/data/SelectedState.kt b/app/src/main/java/be/ugent/sel/studeez/data/SelectedState.kt index c52939f..ebe8589 100644 --- a/app/src/main/java/be/ugent/sel/studeez/data/SelectedState.kt +++ b/app/src/main/java/be/ugent/sel/studeez/data/SelectedState.kt @@ -5,6 +5,7 @@ import be.ugent.sel.studeez.data.local.models.task.Subject import be.ugent.sel.studeez.data.local.models.task.Task import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalTimer import be.ugent.sel.studeez.data.local.models.timer_info.TimerInfo +import be.ugent.sel.studeez.domain.UserDAO import javax.inject.Inject import javax.inject.Singleton @@ -42,4 +43,11 @@ class SelectedSubject @Inject constructor() : SelectedState() { @Singleton class SelectedTimerInfo @Inject constructor() : SelectedState() { override lateinit var value: TimerInfo +} + +@Singleton +class SelectedUserId @Inject constructor( + userDAO: UserDAO +): SelectedState() { + override var value: String = userDAO.getCurrentUserId() } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_overview/FriendsOverviewViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_overview/FriendsOverviewViewModel.kt index ce0c5af..556e435 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_overview/FriendsOverviewViewModel.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_overview/FriendsOverviewViewModel.kt @@ -1,6 +1,7 @@ package be.ugent.sel.studeez.screens.friends.friends_overview import androidx.compose.runtime.mutableStateOf +import be.ugent.sel.studeez.data.SelectedUserId import be.ugent.sel.studeez.data.local.models.Friendship import be.ugent.sel.studeez.data.local.models.User import be.ugent.sel.studeez.domain.FriendshipDAO @@ -8,7 +9,6 @@ import be.ugent.sel.studeez.domain.LogService import be.ugent.sel.studeez.domain.UserDAO import be.ugent.sel.studeez.navigation.StudeezDestinations import be.ugent.sel.studeez.screens.StudeezViewModel -import be.ugent.sel.studeez.screens.profile.public_profile.SelectedProfileState import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine @@ -19,12 +19,12 @@ import javax.inject.Inject class FriendsOverviewViewModel @Inject constructor( private val userDAO: UserDAO, private val friendshipDAO: FriendshipDAO, - private val selectedProfileState: SelectedProfileState, + private val selectedUserIdState: SelectedUserId, logService: LogService ) : StudeezViewModel(logService) { var uiState = mutableStateOf(FriendsOverviewUiState( - userId = selectedProfileState.selectedUserId + userId = selectedUserIdState.value )) private set @@ -63,7 +63,7 @@ class FriendsOverviewViewModel @Inject constructor( userId: String, open: (String) -> Unit ) { - selectedProfileState.selectedUserId = userId + selectedUserIdState.value = userId open(StudeezDestinations.PUBLIC_PROFILE_SCREEN) } diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_search/SearchFriendsViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_search/SearchFriendsViewModel.kt index 11aecd7..39aabf6 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_search/SearchFriendsViewModel.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/friends/friends_search/SearchFriendsViewModel.kt @@ -1,13 +1,13 @@ package be.ugent.sel.studeez.screens.friends.friends_search import androidx.compose.runtime.mutableStateOf +import be.ugent.sel.studeez.data.SelectedUserId import be.ugent.sel.studeez.data.local.models.User import be.ugent.sel.studeez.data.remote.FirebaseUser import be.ugent.sel.studeez.domain.LogService import be.ugent.sel.studeez.domain.UserDAO import be.ugent.sel.studeez.navigation.StudeezDestinations import be.ugent.sel.studeez.screens.StudeezViewModel -import be.ugent.sel.studeez.screens.profile.public_profile.SelectedProfileState import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.filter @@ -16,7 +16,7 @@ import javax.inject.Inject @HiltViewModel class SearchFriendsViewModel @Inject constructor( private val userDAO: UserDAO, - private val selectedProfileState: SelectedProfileState, + private val selectedProfileState: SelectedUserId, logService: LogService ): StudeezViewModel(logService) { @@ -60,7 +60,7 @@ class SearchFriendsViewModel @Inject constructor( userId: String, open: (String) -> Unit ) { - selectedProfileState.selectedUserId = userId + selectedProfileState.value = userId open(StudeezDestinations.PUBLIC_PROFILE_SCREEN) } } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/PublicProfileViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/PublicProfileViewModel.kt index 6cf22d9..031950c 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/PublicProfileViewModel.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/PublicProfileViewModel.kt @@ -1,6 +1,7 @@ package be.ugent.sel.studeez.screens.profile.public_profile import androidx.compose.runtime.mutableStateOf +import be.ugent.sel.studeez.data.SelectedUserId import be.ugent.sel.studeez.data.local.models.User import be.ugent.sel.studeez.domain.FriendshipDAO import be.ugent.sel.studeez.domain.LogService @@ -9,20 +10,19 @@ import be.ugent.sel.studeez.navigation.StudeezDestinations import be.ugent.sel.studeez.screens.StudeezViewModel import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.selects.select import javax.inject.Inject @HiltViewModel class PublicProfileViewModel @Inject constructor( private val userDAO: UserDAO, private val friendshipDAO: FriendshipDAO, - selectedProfileState: SelectedProfileState, + selectedUserIdState: SelectedUserId, logService: LogService ): StudeezViewModel(logService) { val uiState = mutableStateOf( PublicProfileUiState( - userId = selectedProfileState.selectedUserId + userId = selectedUserIdState.value ) ) diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/SelectedProfileState.kt b/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/SelectedProfileState.kt deleted file mode 100644 index 4226d65..0000000 --- a/app/src/main/java/be/ugent/sel/studeez/screens/profile/public_profile/SelectedProfileState.kt +++ /dev/null @@ -1,12 +0,0 @@ -package be.ugent.sel.studeez.screens.profile.public_profile - -import be.ugent.sel.studeez.domain.UserDAO -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class SelectedProfileState @Inject constructor( - userDAO: UserDAO -) { - var selectedUserId: String = userDAO.getCurrentUserId() -} \ No newline at end of file