/** * Method fired when "add" button is clicked. * * @param v add button's <tt>View</tt> */ public void onAddClicked(View v) { Spinner accountsSpiner = (Spinner) findViewById(R.id.selectAccountSpinner); Account selectedAcc = (Account) accountsSpiner.getSelectedItem(); if (selectedAcc == null) { logger.error("No account selected"); return; } ProtocolProviderService pps = selectedAcc.getProtocolProvider(); if (pps == null) { logger.error("No provider registered for account " + selectedAcc.getAccountName()); return; } View content = findViewById(android.R.id.content); String contactAddress = ViewUtil.getTextViewValue(content, R.id.editContactName); String displayName = ViewUtil.getTextViewValue(content, R.id.editDisplayName); if (displayName != null && displayName.length() > 0) { addRenameListener(pps, null, contactAddress, displayName); } Spinner groupSpinner = (Spinner) findViewById(R.id.selectGroupSpinner); ContactListUtils.addContact( pps, (MetaContactGroup) groupSpinner.getSelectedItem(), contactAddress); finish(); }
void acctSelected(ServiceAcctInfo info) { Account acct = new Account(); acct.name = info.desc; acct.service = info; DialogInterface.OnClickListener emptyClickListener = new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) {} }; AcctTables db = new AcctTables(this); try { db.openWritable(); try { db.pushAccount(acct); } catch (SQLiteException e) { AlertDialog dlg = Utilities.buildAlert( this, e, "Unable to add account", "Internal Error", emptyClickListener); dlg.show(); return; } } finally { db.close(); } Intent i = getIntent(); i.putExtra("acct_id", acct.ID); setResult(RESULT_OK, i); finish(); }