From ba3e6ffba2d27470c448be3c3e28c06b8932b8ee Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Thu, 15 Nov 2018 20:44:00 +0100 Subject: refactored some ManageAccount, WelcomeActivity and a few other things --- .../de/pixart/messenger/utils/SignupUtils.java | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/main/java/de/pixart/messenger/utils/SignupUtils.java (limited to 'src/main/java/de/pixart/messenger/utils/SignupUtils.java') diff --git a/src/main/java/de/pixart/messenger/utils/SignupUtils.java b/src/main/java/de/pixart/messenger/utils/SignupUtils.java new file mode 100644 index 000000000..81959c929 --- /dev/null +++ b/src/main/java/de/pixart/messenger/utils/SignupUtils.java @@ -0,0 +1,47 @@ +package de.pixart.messenger.utils; + +import android.app.Activity; +import android.content.Intent; + +import de.pixart.messenger.Config; +import de.pixart.messenger.entities.Account; +import de.pixart.messenger.services.XmppConnectionService; +import de.pixart.messenger.ui.ConversationsActivity; +import de.pixart.messenger.ui.EditAccountActivity; +import de.pixart.messenger.ui.ManageAccountActivity; +import de.pixart.messenger.ui.StartConversationActivity; +import de.pixart.messenger.ui.WelcomeActivity; + +public class SignupUtils { + + public static Intent getSignUpIntent(final Activity activity) { + Intent intent = new Intent(activity, WelcomeActivity.class); + StartConversationActivity.addInviteUri(intent, activity.getIntent()); + return intent; + } + + public static Intent getRedirectionIntent(final ConversationsActivity activity) { + final XmppConnectionService service = activity.xmppConnectionService; + Account pendingAccount = AccountUtils.getPendingAccount(service); + Intent intent; + if (pendingAccount != null) { + intent = new Intent(activity, EditAccountActivity.class); + intent.putExtra("jid", pendingAccount.getJid().asBareJid().toString()); + } else { + if (service.getAccounts().size() == 0) { + if (Config.X509_VERIFICATION) { + intent = new Intent(activity, ManageAccountActivity.class); + } else if (Config.MAGIC_CREATE_DOMAIN != null) { + intent = getSignUpIntent(activity); + } else { + intent = new Intent(activity, EditAccountActivity.class); + } + } else { + intent = new Intent(activity, StartConversationActivity.class); + } + } + intent.putExtra("init", true); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); + return intent; + } +} \ No newline at end of file -- cgit v1.2.3