title: Android AsyncTask RunTimeException
body: <p>I'm getting following <code>RunTimeException</code> when executing <code>AsyncTask's</code> execute() method.
  I execute <code>AsyncTask</code> by clicking on the button whose listener is shown below
  this error log.</p>
  
  <pre><code>05-15 12:56:50.045: W/dalvikvm(25830): threadid=12: thread exiting with uncaught exception (group=0x415052a0)
  05-15 12:56:50.070: E/AndroidRuntime(25830): FATAL EXCEPTION: AsyncTask #1
  05-15 12:56:50.070: E/AndroidRuntime(25830): java.lang.RuntimeException: An error occured while executing doInBackground()
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at android.os.AsyncTask$3.done(AsyncTask.java:299)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at java.lang.Thread.run(Thread.java:856)
  05-15 12:56:50.070: E/AndroidRuntime(25830): Caused by: java.lang.IllegalArgumentException: the name must not be empty: null
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at android.os.Parcel.readException(Parcel.java:1429)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at android.os.Parcel.readException(Parcel.java:1379)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at com.google.android.gms.internal.x$a$a.a(Unknown Source)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.getToken(GoogleAccountCredential.java:192)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential$RequestHandler.intercept(GoogleAccountCredential.java:217)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:836)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:412)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:345)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:463)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at com.fooworks.foomanager.EventsActivity$1$1.doInBackground(EventsActivity.java:94)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at com.fooworks.foomanager.EventsActivity$1$1.doInBackground(EventsActivity.java:1)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
  05-15 12:56:50.070: E/AndroidRuntime(25830):    ... 5 more
  05-15 12:56:50.100: D/dalvikvm(25830): GC_CONCURRENT freed 331K, 7% free 12486K/13319K, paused 13ms+13ms, total 47ms
  </code></pre>
  
  <p>Here is the code:</p>
  
  <pre><code>package com.fooworks.foomanager;
  
  import java.io.IOException;
  import java.util.Collections;
  import java.util.List;
  
  import android.accounts.Account;
  import android.accounts.AccountManager;
  import android.app.Activity;
  import android.content.Context;
  import android.content.Intent;
  import android.content.SharedPreferences;
  import android.os.AsyncTask;
  import android.os.Bundle;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.widget.Button;
  import android.widget.TextView;
  
  import com.google.android.gms.auth.GoogleAuthException;
  import com.google.android.gms.auth.GoogleAuthUtil;
  import com.google.android.gms.auth.GooglePlayServicesAvailabilityException;
  import com.google.android.gms.auth.UserRecoverableAuthException;
  import com.google.api.client.extensions.android.http.AndroidHttp;
  import com.google.api.client.googleapis.extensions.android.accounts.GoogleAccountManager;
  import com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential;
  import com.google.api.client.googleapis.extensions.android.gms.auth.GooglePlayServicesAvailabilityIOException;
  import com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException;
  import com.google.api.client.http.HttpTransport;
  import com.google.api.client.json.JsonFactory;
  import com.google.api.client.json.gson.GsonFactory;
  import com.google.api.services.calendar.CalendarScopes;
  import com.google.api.services.calendar.model.CalendarList;
  
  public class EventsActivity extends EntriesActivity {
  
    public static final String CLIENT_ID = "850381918262.apps.googleusercontent.com";
  
    public static final String API_KEY = "AIzaSyC7t5n2akn2HmDrcbbnkiMPGBhG9Hhuyqc";
  
    public static final String PREF_GOOGLEACCOUNT_NAME = "googleAccountName";
  
    public static final int REQUEST_ACCOUNT_PICKER = 8; // take care not to
    // overlap with requests
    // in superclass
  
    final HttpTransport transport = AndroidHttp.newCompatibleTransport();
  
    final JsonFactory jsonFactory = new GsonFactory();
  
    GoogleAccountCredential credential;
  
    com.google.api.services.calendar.Calendar calendarClient;
  
    void chooseGoogleAccount() {
  
      GoogleAccountManager googleAccountManager = new GoogleAccountManager(this);
  
      Account[] accounts = googleAccountManager.getAccounts();
  
    }
  
    private static final String SCOPE = "oauth2:https://www.googleapis.com/auth/userinfo.profile";
    //private static final String SCOPE = "oauth2:https://www.googleapis.com/auth/calendar";
  
    @Override
    public void onCreate(Bundle savedInstanceState) {
  
      super.onCreate(savedInstanceState);
  
      System.out.println("HERE!!!");
      System.out.println(CalendarScopes.CALENDAR);
  
      credential = GoogleAccountCredential.usingOAuth2(this, CalendarScopes.CALENDAR);
  
      calendarClient = new com.google.api.services.calendar.Calendar.Builder(
        transport, jsonFactory, credential).setApplicationName("Client Event Manager/1.0")
        .build();
  
      Button testButton = (Button) findViewById(R.id.test);
  
      testButton.setOnClickListener(new OnClickListener() {
  
        @Override
        public void onClick(View v) {
  
          new AsyncTask&lt;Void, Void, Void&gt;() {
  
            @Override
            protected Void doInBackground(Void... params) {
  
              try {
                 //THIS IS THE LINE CAUSING THE ERROR:
                CalendarList calendarList = calendarClient.calendarList().list().execute();
                System.out.println(calendarList.getItems());
  
              } catch (final GooglePlayServicesAvailabilityIOException availabilityException) {
                System.out.println("Hello Exception 0!");
                System.out.println(availabilityException.getConnectionStatusCode());
              } catch (UserRecoverableAuthIOException userRecoverableException) {
                System.out.println("Hello Exception !");
                EventsActivity.this.startActivityForResult(userRecoverableException.getIntent(), 99);
              } catch (IOException e) {
                System.out.println("Hello Exception 2!");
                e.printStackTrace();
              }
  
              return null;
  
            }
  
          }.execute();
  
        }
  
      });
  
    }
  </code></pre>
  
  <p>Could someone please shed some light on what is causing this error and how to fix it?</p>