From cf577ea140738b2d7d111f1d0b59636062dcddeb Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sat, 10 Feb 2018 19:37:57 +0100 Subject: return to welcome activity after deleting last account --- .../pixart/messenger/ui/ConversationActivity.java | 6 +----- .../pixart/messenger/ui/ManageAccountActivity.java | 25 ++++++++++------------ .../de/pixart/messenger/ui/WelcomeActivity.java | 8 +++++++ 3 files changed, 20 insertions(+), 19 deletions(-) (limited to 'src/main/java/de/pixart/messenger/ui') diff --git a/src/main/java/de/pixart/messenger/ui/ConversationActivity.java b/src/main/java/de/pixart/messenger/ui/ConversationActivity.java index 78ab0a91f..b461b5d6f 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationActivity.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationActivity.java @@ -1353,11 +1353,7 @@ public class ConversationActivity extends XmppActivity startActivity(redirectionIntent); overridePendingTransition(0, 0); } else if (Config.MAGIC_CREATE_DOMAIN != null) { - Log.d(Config.LOGTAG, "First start time: " + FirstStartTime); - Intent redirectionIntent = new Intent(this, WelcomeActivity.class); - redirectionIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION); - startActivity(redirectionIntent); - overridePendingTransition(0, 0); + WelcomeActivity.launch(this); } else { Intent editAccount = new Intent(this, EditAccountActivity.class); editAccount.putExtra("init", true); diff --git a/src/main/java/de/pixart/messenger/ui/ManageAccountActivity.java b/src/main/java/de/pixart/messenger/ui/ManageAccountActivity.java index 4a17a4fbc..b253d4021 100644 --- a/src/main/java/de/pixart/messenger/ui/ManageAccountActivity.java +++ b/src/main/java/de/pixart/messenger/ui/ManageAccountActivity.java @@ -338,17 +338,16 @@ public class ManageAccountActivity extends XmppActivity implements OnAccountUpda } private void deleteAccount(final Account account) { - AlertDialog.Builder builder = new AlertDialog.Builder( - ManageAccountActivity.this); + AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(getString(R.string.mgmt_account_are_you_sure)); builder.setIconAttribute(android.R.attr.alertDialogIcon); builder.setMessage(getString(R.string.mgmt_account_delete_confirm_text)); builder.setPositiveButton(getString(R.string.delete), - new OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - xmppConnectionService.deleteAccount(account); - selectedAccount = null; + (dialog, which) -> { + xmppConnectionService.deleteAccount(account); + selectedAccount = null; + if (xmppConnectionService.getAccounts().size() == 0 && Config.MAGIC_CREATE_DOMAIN != null) { + WelcomeActivity.launch(this); } }); builder.setNegativeButton(getString(R.string.cancel), null); @@ -386,16 +385,14 @@ public class ManageAccountActivity extends XmppActivity implements OnAccountUpda @Override public void onAccountCreated(Account account) { - switchToAccount(account, true); + Intent intent = new Intent(this, EditAccountActivity.class); + intent.putExtra("jid", account.getJid().toBareJid().toString()); + intent.putExtra("init", true); + startActivity(intent); } @Override public void informUser(final int r) { - runOnUiThread(new Runnable() { - @Override - public void run() { - Toast.makeText(ManageAccountActivity.this, r, Toast.LENGTH_LONG).show(); - } - }); + runOnUiThread(() -> Toast.makeText(ManageAccountActivity.this, r, Toast.LENGTH_LONG).show()); } } diff --git a/src/main/java/de/pixart/messenger/ui/WelcomeActivity.java b/src/main/java/de/pixart/messenger/ui/WelcomeActivity.java index c2b5a49bb..cd2be0161 100644 --- a/src/main/java/de/pixart/messenger/ui/WelcomeActivity.java +++ b/src/main/java/de/pixart/messenger/ui/WelcomeActivity.java @@ -2,6 +2,7 @@ package de.pixart.messenger.ui; import android.Manifest; import android.app.ActionBar; +import android.app.Activity; import android.app.AlertDialog; import android.app.ProgressDialog; import android.content.DialogInterface; @@ -334,4 +335,11 @@ public class WelcomeActivity extends XmppActivity { to.putExtra(EXTRA_INVITEE, from.getStringExtra(EXTRA_INVITEE)); } } + + public static void launch(Activity activity) { + Intent intent = new Intent(activity, WelcomeActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION); + activity.startActivity(intent); + activity.overridePendingTransition(0, 0); + } } \ No newline at end of file -- cgit v1.2.3