saurabh vaish
saurabh vaish

Reputation: 123

java.lang.IllegalStateException: Task is not yet complete

I am getting a

java.lang.IllegalStateException: Task is not yet complete

error at the line val result = url.result.
What's going wrong here?
Here's my code:

riversRef.putFile(filePath!!).addOnSuccessListener( 
  { taskSnapshot ->
        progressDial.dismiss()
        Toast.makeText(this,"Successfully uploaded",Toast.LENGTH_SHORT).show()
        val url = taskSnapshot.storage.downloadUrl
        val result = url.result                      // ERROR occurs here !!!
        val imagePath = result.toString()
        mstorage!!.push().setValue(imagePath)
    })
    .addOnFailureListener( {
        Toast.makeText(this,"Upload Failed",Toast.LENGTH_SHORT).show()
    })
    .addOnProgressListener {
        val progress = (100.0*it.bytesTransferred/it.totalByteCount)
        progressDial.setMessage("Uploaded "+progress+"%")
    }

Upvotes: 1

Views: 1954

Answers (1)

Vaibhav Pallod
Vaibhav Pallod

Reputation: 524

put while ((!uri.isComplete())) like this.

 reference.putFile(file).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                        @Override

                        public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                            toast("Entered success listner");
                            Task<Uri> uri = taskSnapshot.getStorage().getDownloadUrl();
                             while ((!uri.isComplete()));
                            Uri url = uri.getResult();
                            databaseReference = FirebaseDatabase.getInstance().getReference("uploads");
                            PDFDoc uploadpdf = new PDFDoc(name.getText().toString(), url.toString());
                            databaseReference.child(databaseReference.push().getKey()).setValue(uploadpdf);

                            toast("Uploaded to database");
                            progressDialog.dismiss();
                        }
                    })

this worked for me :)

Upvotes: 2

Related Questions