private void showNewAccountListDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.account_select_type); List<String> listProviders = helper.getProviderNames(); mAccountList = new String[listProviders.size() + 1]; int i = 0; for (String providerName : listProviders) mAccountList[i++] = providerName; mAccountList[i] = getString(R.string.google_account); builder.setItems( mAccountList, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int pos) { if (pos > helper.getProviderNames().size() - 1) // google accounts based on xmpp { showGoogleAccountListDialog(); } else { // otherwise support the actual plugin-type showSetupAccountForm(mAccountList[pos], null, null); } } }); AlertDialog dialog = builder.create(); dialog.show(); }