@Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   super.onActivityResult(requestCode, resultCode, data);
   switch (requestCode) {
     case REQUEST_AUTHORIZATION:
       if (resultCode == Activity.RESULT_OK) {
         AsyncLoadCalendars.run(this);
       } else {
         chooseAccount();
       }
       break;
     case REQUEST_ACCOUNT_PICKER:
       if (resultCode == Activity.RESULT_OK && data != null && data.getExtras() != null) {
         String accountName = data.getExtras().getString(AccountManager.KEY_ACCOUNT_NAME);
         if (accountName != null) {
           credential.setAccountName(accountName);
           SharedPreferences settings = getPreferences(Context.MODE_PRIVATE);
           SharedPreferences.Editor editor = settings.edit();
           editor.putString(PREF_ACCOUNT_NAME, accountName);
           editor.commit();
           AsyncLoadCalendars.run(this);
         }
       }
       break;
     case ADD_OR_EDIT_CALENDAR_REQUEST:
       if (resultCode == Activity.RESULT_OK) {
         Calendar calendar = new Calendar();
         calendar.setSummary(data.getStringExtra("summary"));
         String id = data.getStringExtra("id");
         if (id == null) {
           new AsyncInsertCalendar(this, calendar).execute();
         } else {
           calendar.setId(id);
           new AsyncUpdateCalendar(this, id, calendar).execute();
         }
       }
       break;
   }
 }