@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { if (Intent.ACTION_EDIT.equals(getIntent().getAction())) { boolean isPushCapable = false; try { Store store = mAccount.getRemoteStore(); isPushCapable = store.isPushCapable(); } catch (Exception e) { Log.e(VisualVoicemail.LOG_TAG, "Could not get remote store", e); } if (isPushCapable && mAccount.getFolderPushMode() != FolderMode.NONE) { MailService.actionRestartPushers(this, null); } mAccount.save(Preferences.getPreferences(this)); finish(); } else { // first time setup, return to AccountSetup activity to save account setResult(RESULT_OK); finish(); } } else { if (!Intent.ACTION_EDIT.equals( getIntent().getAction())) { // remove account if failed initial setup if (mAccount != null) Preferences.getPreferences(this).deleteAccount(mAccount); } } }