package eu.siacs.conversations.utils; import android.app.Activity; import android.content.Intent; import android.widget.Toast; import java.util.List; import eu.siacs.conversations.R; import eu.siacs.conversations.entities.Account; import eu.siacs.conversations.services.XmppConnectionService; public class AccountUtils { public static final Class MANAGE_ACCOUNT_ACTIVITY; static { MANAGE_ACCOUNT_ACTIVITY = getManageAccountActivityClass(); } public static Account getFirstEnabled(XmppConnectionService service) { final List accounts = service.getAccounts(); for(Account account : accounts) { if (!account.isOptionSet(Account.OPTION_DISABLED)) { return account; } } return null; } public static Account getPendingAccount(XmppConnectionService service) { Account pending = null; for (Account account : service.getAccounts()) { if (!account.isOptionSet(Account.OPTION_LOGGED_IN_SUCCESSFULLY)) { pending = account; } else { return null; } } return pending; } public static void launchManageAccounts(Activity activity) { if (MANAGE_ACCOUNT_ACTIVITY != null) { activity.startActivity(new Intent(activity, MANAGE_ACCOUNT_ACTIVITY)); } else { Toast.makeText(activity, R.string.feature_not_implemented, Toast.LENGTH_SHORT).show(); } } private static Class getManageAccountActivityClass() { try { return Class.forName("eu.siacs.conversations.ui.ManageAccountActivity"); } catch (ClassNotFoundException e) { return null; } } }