@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; } }