Skip to content
This repository has been archived by the owner on Apr 4, 2018. It is now read-only.

IllegalStateException: Result has already been consumed #3

Open
vanheerdena opened this issue Jan 5, 2016 · 2 comments
Open

IllegalStateException: Result has already been consumed #3

vanheerdena opened this issue Jan 5, 2016 · 2 comments

Comments

@vanheerdena
Copy link

Hi, I am getting an error in the EditDriveFileAsyncTask on this line of code

Changes changes = edit(openDriveContentsResult.await().getDriveContents());

from this function

@Override
  protected com.google.android.gms.common.api.Status doInBackground(DriveId... params) {
    DriveFile file = params[0].asDriveFile();
    PendingResult<DriveApi.DriveContentsResult> openDriveContentsResult =
        file.open(mClient, DriveFile.MODE_WRITE_ONLY, null);
    if (!openDriveContentsResult.await().getStatus().isSuccess()) {
      return openDriveContentsResult.await().getStatus();
    }

    Changes changes = edit(openDriveContentsResult.await().getDriveContents());
    PendingResult<DriveResource.MetadataResult> metadataResult = null;
    PendingResult<com.google.android.gms.common.api.Status>
        closeContentsResult = null;

    if (changes.getMetadataChangeSet() != null) {
      metadataResult = file.updateMetadata(mClient, changes.getMetadataChangeSet());
      if (!metadataResult.await().getStatus().isSuccess()) {
        return metadataResult.await().getStatus();
      }
    }

    if (changes.getDriveContents() != null) {
      closeContentsResult = changes.getDriveContents().commit(mClient, null);
      closeContentsResult.await();
    }
    return closeContentsResult.await().getStatus();
  }

The stack trace returned is

FATAL EXCEPTION: AsyncTask #1
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:304)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.IllegalStateException: Result has already been consumed
at com.google.android.gms.common.internal.zzx.zza(Unknown Source)
at com.google.android.gms.common.api.internal.zzb.await(Unknown Source)
at EditDriveFileAsyncTask.doInBackground(EditDriveFileAsyncTask.java:74)
at com.ecvt.stellies.avh.ecvt.drive.EditDriveFileAsyncTask.doInBackground(EditDriveFileAsyncTask.java:18)
at android.os.AsyncTask$2.call(AsyncTask.java:292)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
at java.lang.Thread.run(Thread.java:818) 

I read that it may be caused by using two different GoogleApiClients on different threads but I really have no idea. Any help would be appreciated.

@nokiaowner
Copy link

Hi vanheerdena. In case you are still struggling with this issue, I have fixed this bug. Kindly refer to http://stackoverflow.com/questions/34727603/java-lang-illegalstateexception-result-has-already-been-consumed

@vanheerdena
Copy link
Author

Hi nokiaowner,

Thanks so much for letting me know and for getting this bug resolved - it
was driving me crazy!

Thanks so much
Alastair

On Tue, Jan 12, 2016 at 1:02 PM, nokiaowner [email protected]
wrote:

Hi vanheerdena. In case you are still struggling with this issue, I have
fixed this bug. Kindly refer to
http://stackoverflow.com/questions/34727603/java-lang-illegalstateexception-result-has-already-been-consumed


Reply to this email directly or view it on GitHub
#3 (comment)
.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants