i have checked available resources and yet either i get error or at best i get com.google.android.gms.tasks.zzu@5f9a842
as the uri
Following this latest
You're logging the wrong value. Instead of this:
print("Task: ${downloadUrl}")
Log this:
print("Task: ${downloadUrl.result.toString()}")
Your downloadUrl
variable is not correctly named. It's a Task, not a URL. It might be clearer like this:
val task = it.result
val uri = task.result
val uriAsString = uri.toString()
Solved !!!
val fileRef = storageProfilePicRef!!.child(firebaseUser.uid + "jpg")
val uploadTask = fileRef.putFile(imageUri!!)
uploadTask.continueWith {
if (!it.isSuccessful) {
pd.dismiss()
it.exception?.let { t ->
throw t
}
}
fileRef.downloadUrl
}.addOnCompleteListener {
if (it.isSuccessful) {
val downloadUrl = it.result //Here returns a task..
myUri = downloadUrl.toString()
print("Task: ${downloadUrl}")
...
val downloadurl = it.result
returns aTask
correct it by adding an addOnSuccessListener
so the correct code is
val uploadTask = fileRef.putFile(imageUri!!)
uploadTask.continueWith {
if (!it.isSuccessful) {
pd.dismiss()
it.exception?.let { t ->
throw t
}
}
fileRef.downloadUrl
}.addOnCompleteListener {
if (it.isSuccessful) {
it.result!!.addOnSuccessListener{task ->
myUri = task.toString()
print("$myUri")
...
}