aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/eu')
-rw-r--r--src/main/java/eu/siacs/conversations/ui/ConversationActivity.java22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
index 4744e302..f2304664 100644
--- a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
@@ -1040,12 +1040,16 @@ public class ConversationActivity extends XmppActivity
@Override
protected void onNewIntent(final Intent intent) {
+ Log.d(Config.LOGTAG,"onNewIntent()");
if (xmppConnectionServiceBound) {
+ Log.d(Config.LOGTAG,"onNewIntent(): service bound");
if (intent != null && VIEW_CONVERSATION.equals(intent.getType())) {
handleViewConversationIntent(intent);
- setIntent(new Intent());
+ Log.d(Config.LOGTAG,"onNewIntent() : overwriting intent");
+ setIntent(new Intent(Intent.ACTION_MAIN));
}
} else {
+ Log.d(Config.LOGTAG,"onNewIntent(): service was not bound. saving for later");
setIntent(intent);
}
}
@@ -1117,6 +1121,7 @@ public class ConversationActivity extends XmppActivity
@Override
void onBackendConnected() {
+ Log.d(Config.LOGTAG,"onBackendConnected()");
this.xmppConnectionService.getNotificationService().setIsInForeground(true);
updateConversationList();
@@ -1128,6 +1133,8 @@ public class ConversationActivity extends XmppActivity
mPendingConferenceInvite = null;
}
+ final Intent intent = getIntent();
+
if (xmppConnectionService.getAccounts().size() == 0) {
if (mRedirected.compareAndSet(false, true)) {
if (Config.X509_VERIFICATION) {
@@ -1143,17 +1150,18 @@ public class ConversationActivity extends XmppActivity
if (mRedirected.compareAndSet(false, true)) {
Account pendingAccount = xmppConnectionService.getPendingAccount();
if (pendingAccount == null) {
- Intent intent = new Intent(this, StartConversationActivity.class);
+ Intent startConversationActivity = new Intent(this, StartConversationActivity.class);
intent.putExtra("init", true);
- startActivity(intent);
+ startActivity(startConversationActivity);
} else {
switchToAccount(pendingAccount, true);
}
finish();
}
- } else if (getIntent() != null && VIEW_CONVERSATION.equals(getIntent().getType())) {
+ } else if (intent != null && VIEW_CONVERSATION.equals(intent.getType())) {
+ Log.d(Config.LOGTAG,"onBackendConnected() - stored intent was view_conversations");
clearPending();
- handleViewConversationIntent(getIntent());
+ handleViewConversationIntent(intent);
} else if (selectConversationByUuid(mOpenConverstaion)) {
if (mPanelOpen) {
showConversationsOverview();
@@ -1200,10 +1208,12 @@ public class ConversationActivity extends XmppActivity
if (!ExceptionHelper.checkForCrash(this, this.xmppConnectionService)) {
openBatteryOptimizationDialogIfNeeded();
}
- setIntent(new Intent());
+ Log.d(Config.LOGTAG,"onBackendConnected() - overwriting intent");
+ setIntent(new Intent(Intent.ACTION_MAIN));
}
private void handleViewConversationIntent(final Intent intent) {
+ Log.d(Config.LOGTAG,"handleViewConversationIntent()");
final String uuid = intent.getStringExtra(CONVERSATION);
final String downloadUuid = intent.getStringExtra(MESSAGE);
final String text = intent.getStringExtra(TEXT);