Как присвоить идентификатор текущего вошедшего в систему пользователя переменнойAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как присвоить идентификатор текущего вошедшего в систему пользователя переменной

Сообщение Anonymous »

Код: Выделить всё

fun updateUserPhotoPath(photoPath: String) {
val userId = loggedInUser.value?.id
Log.d("UserImagePicker", "User ID before updating photo path: $userId")
Log.d("UserImagePicker", "New photo path: $photoPath")

if (userId != null) {
Log.d("LoginViewModel", "Updating user photo path for userId: $userId with photoPath: $photoPath")
viewModelScope.launch {
userRepository.updateUserPhotoPath(userId, photoPath)
}
} else {
Log.d("LoginViewModel", "User ID is null, cannot update photo path.")
}
}
это функция, которая обновляет поле userPhotoPath из ViewModel

Код: Выделить всё

private fun fetchLoggedInUser(username: String) {
viewModelScope.launch {
val user = userRepository.getUserByUsername(username)
Log.d("LoginViewModel", "Fetched user: $user")
_loggedInUser.value = user

if (user != null) {
Log.d("LoginViewModel", "Logged in user set to: ${_loggedInUser.value}")
} else {
Log.d("LoginViewModel", "No user found for username: $username")
}
}
}
это функция, которая присваивает переменным текущего вошедшего в систему пользователя. Она вызывается в функции входа в систему.

Код: Выделить всё

    private val _loggedInUser = mutableStateOf(null)
val loggedInUser: State get() = _loggedInUser

Я использую эти переменные
Проблема в том, что этому значению не присвоен идентификатор val userId = loggedInUser.value?.id , но вышеупомянутым переменным назначается Пользователь.
LOGS:

Код: Выделить всё

UserImagePicker D User ID before updating photo path: null
LoginViewModel  D Fetched user: User(id=1, username=Andrzej, password=03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4, email=;))
LoginViewModel  D Logged in user set to: User(id=1, username=Andrzej, password=03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4, email=;))
Мне нужен идентификатор пользователя в формате val userId = loggedInUser.value?.id


Подробнее здесь: https://stackoverflow.com/questions/790 ... a-variable
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»