aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-04-08 20:18:50 +0200
committerChristian Schneppe <christian@pix-art.de>2018-04-08 20:18:50 +0200
commit8886fade18b64d128aaa4b4bc0600f6afe964bd2 (patch)
treeb7a2951232c2137d0222b7892b70adcaef741b6e /src/main/java/de/pixart/messenger/ui/StartConversationActivity.java
parenteb773489d6c08ca336095688a8deda039c09c080 (diff)
add data binding and check in back stack for dialogs
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/ui/StartConversationActivity.java28
1 files changed, 23 insertions, 5 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java b/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java
index d3d6d2d2a..ed1612044 100644
--- a/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java
@@ -432,6 +432,12 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU
@SuppressLint("InflateParams")
protected void showCreateContactDialog(final String prefilledJid, final Invite invite) {
+ FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
+ Fragment prev = getSupportFragmentManager().findFragmentByTag("dialog");
+ if (prev != null) {
+ ft.remove(prev);
+ }
+ ft.addToBackStack(null);
EnterJidDialog dialog = EnterJidDialog.newInstance(
mKnownHosts, mActivatedAccounts,
getString(R.string.create_contact), getString(R.string.create),
@@ -467,18 +473,30 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU
}
});
- dialog.show(getSupportFragmentManager(), "create_contact_dialog");
+ dialog.show(ft, "dialog");
}
@SuppressLint("InflateParams")
protected void showJoinConferenceDialog(final String prefilledJid) {
- JoinConferenceDialog dialog = JoinConferenceDialog.newInstance(prefilledJid, mActivatedAccounts, mKnownConferenceHosts);
- dialog.show(getSupportFragmentManager(), "join_conference_dialog");
+ FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
+ Fragment prev = getSupportFragmentManager().findFragmentByTag("dialog");
+ if (prev != null) {
+ ft.remove(prev);
+ }
+ ft.addToBackStack(null);
+ JoinConferenceDialog joinConferenceFragment = JoinConferenceDialog.newInstance(prefilledJid, mActivatedAccounts, mKnownConferenceHosts);
+ joinConferenceFragment.show(ft, "dialog");
}
private void showCreateConferenceDialog() {
- CreateConferenceDialog dialog = CreateConferenceDialog.newInstance(mActivatedAccounts);
- dialog.show(getSupportFragmentManager(), "create_conference_dialog");
+ FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
+ Fragment prev = getSupportFragmentManager().findFragmentByTag("dialog");
+ if (prev != null) {
+ ft.remove(prev);
+ }
+ ft.addToBackStack(null);
+ CreateConferenceDialog createConferenceFragment = CreateConferenceDialog.newInstance(mActivatedAccounts);
+ createConferenceFragment.show(ft, "dialog");
}
private Account getSelectedAccount(Spinner spinner) {