SignupUtils.java

 1package eu.siacs.conversations.utils;
 2
 3import android.app.Activity;
 4import android.content.Intent;
 5
 6import eu.siacs.conversations.Config;
 7import eu.siacs.conversations.entities.Account;
 8import eu.siacs.conversations.services.XmppConnectionService;
 9import eu.siacs.conversations.ui.ConversationsActivity;
10import eu.siacs.conversations.ui.EditAccountActivity;
11import eu.siacs.conversations.ui.ManageAccountActivity;
12import eu.siacs.conversations.ui.StartConversationActivity;
13import eu.siacs.conversations.ui.WelcomeActivity;
14
15public class SignupUtils {
16
17    public static Intent getSignUpIntent(final Activity activity) {
18        Intent intent = new Intent(activity, WelcomeActivity.class);
19        StartConversationActivity.addInviteUri(intent, activity.getIntent());
20        return intent;
21    }
22
23    public static Intent getRedirectionIntent(final ConversationsActivity activity) {
24        final XmppConnectionService service = activity.xmppConnectionService;
25        Account pendingAccount = AccountUtils.getPendingAccount(service);
26        Intent intent;
27        if (pendingAccount != null) {
28            intent = new Intent(activity, EditAccountActivity.class);
29            intent.putExtra("jid", pendingAccount.getJid().asBareJid().toString());
30        } else {
31            if (service.getAccounts().size() == 0) {
32                if (Config.X509_VERIFICATION) {
33                    intent = new Intent(activity, ManageAccountActivity.class);
34                } else if (Config.MAGIC_CREATE_DOMAIN != null) {
35                    intent = getSignUpIntent(activity);
36                } else {
37                    intent = new Intent(activity, EditAccountActivity.class);
38                }
39            } else {
40                intent = new Intent(activity, StartConversationActivity.class);
41            }
42        }
43        intent.putExtra("init", true);
44        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
45        return intent;
46    }
47}