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();
  }