@Override public void onLoad() { final Collection<SavedStatus> savedStatuses = new ArrayList<SavedStatus>(); final Collection<AccountItem> accountItems = new ArrayList<AccountItem>(); Cursor cursor = StatusTable.getInstance().list(); try { if (cursor.moveToFirst()) { do { savedStatuses.add( new SavedStatus( StatusTable.getStatusMode(cursor), StatusTable.getStatusText(cursor))); } while (cursor.moveToNext()); } } finally { cursor.close(); } cursor = AccountTable.getInstance().list(); try { if (cursor.moveToFirst()) { do { AccountItem accountItem = new AccountItem( AccountTable.getProtocol(cursor), AccountTable.isCustom(cursor), AccountTable.getHost(cursor), AccountTable.getPort(cursor), AccountTable.getServerName(cursor), AccountTable.getUserName(cursor), AccountTable.getResource(cursor), AccountTable.isStorePassword(cursor), AccountTable.getPassword(cursor), AccountTable.getColorIndex(cursor), AccountTable.getPriority(cursor), AccountTable.getStatusMode(cursor), AccountTable.getStatusText(cursor), AccountTable.isEnabled(cursor), AccountTable.isSaslEnabled(cursor), AccountTable.getTLSMode(cursor), AccountTable.isCompression(cursor), AccountTable.getProxyType(cursor), AccountTable.getProxyHost(cursor), AccountTable.getProxyPort(cursor), AccountTable.getProxyUser(cursor), AccountTable.getProxyPassword(cursor), AccountTable.isSyncable(cursor), AccountTable.getKeyPair(cursor), AccountTable.getLastSync(cursor), AccountTable.getArchiveMode(cursor)); accountItem.setId(AccountTable.getId(cursor)); accountItems.add(accountItem); } while (cursor.moveToNext()); } } finally { cursor.close(); } Application.getInstance() .runOnUiThread( new Runnable() { @Override public void run() { onLoaded(savedStatuses, accountItems); } }); }
@Override public void onWipe() { AccountTable.getInstance().wipe(); }