У меня есть фотография, затем я обновляю свою текущую фотографию пользователя, чтобы применить это изменение к аутентифицированному пользователю Firebase.
Что я вижу после обновления этой фотографии для аутентифицированного пользователя, чтобы получить photoUrl как строка, как при первом входе в мое приложение
suspend fun updatePhoto(uri: Uri): Resource<Unit>{
val currentUser = FirebaseAuth.getInstance().currentUser
val profileUpdates = UserProfileChangeRequest.Builder().setPhotoUri(uri).build()
currentUser!!.updateProfile(profileUpdates).await()
currentUser.reload().await()
val userData = hashMapOf<String,Any>()
userData["photoUrl"] = currentUser.photoUrl.toString()
FirebaseFirestore
.getInstance()
.collection("user")
.document(currentUser.uid).set(userData, SetOptions.merge()).await()
return Resource.Success(Unit)
}
В этой строке userData["photoUrl"] = currentUser.photoUrl.toString()
Я ожидаю, что фактический photoUrl обновляется в firebase, и я получаю локальный Uri, такой как file://my.com.app/cache/photo.jpg
Если я обновил фотографию пользователя из самой аутентификации, не обрабатывает ли firebase обновленную фотографию и должен вернуть мне фактическую фотографию, обновленную этим текущим пользователем?
Я хочу не использовать хранилище firebase для загрузки фото и поместите его в свою базу данных, вместо этого я хочу получить его непосредственно из обновленной фотографии пользователя