diff options
-rw-r--r-- | res/values/strings.xml | 2 | ||||
-rw-r--r-- | src/eu/siacs/conversations/ui/ConversationFragment.java | 13 | ||||
-rw-r--r-- | src/eu/siacs/conversations/ui/XmppActivity.java | 1 |
3 files changed, 15 insertions, 1 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index ed5383b6..e542b58e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -272,4 +272,6 @@ <string name="action_edit_subject">Edit conference subject</string> <string name="conference_not_found">Conference not found</string> <string name="leave">Leave</string> + <string name="contact_added_you">Contact added you to contact list</string> + <string name="add_back">Add back</string> </resources> diff --git a/src/eu/siacs/conversations/ui/ConversationFragment.java b/src/eu/siacs/conversations/ui/ConversationFragment.java index 202bab2e..546d039e 100644 --- a/src/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/eu/siacs/conversations/ui/ConversationFragment.java @@ -699,8 +699,19 @@ public class ConversationFragment extends Fragment { return; } hideSnackbar(); - ConversationActivity activity = (ConversationActivity) getActivity(); + final ConversationActivity activity = (ConversationActivity) getActivity(); if (this.conversation != null) { + final Contact contact = this.conversation.getContact(); + if (!contact.showInRoster() && contact.getOption(Contact.Options.PENDING_SUBSCRIPTION_REQUEST)) { + showSnackbar(R.string.contact_added_you, R.string.add_back, new OnClickListener() { + + @Override + public void onClick(View v) { + activity.xmppConnectionService.createContact(contact); + activity.switchToContactDetails(contact); + } + }); + } for (Message message : this.conversation.getMessages()) { if ((message.getEncryption() == Message.ENCRYPTION_PGP) && ((message.getStatus() == Message.STATUS_RECIEVED) || (message diff --git a/src/eu/siacs/conversations/ui/XmppActivity.java b/src/eu/siacs/conversations/ui/XmppActivity.java index fc51abef..c813182f 100644 --- a/src/eu/siacs/conversations/ui/XmppActivity.java +++ b/src/eu/siacs/conversations/ui/XmppActivity.java @@ -264,6 +264,7 @@ public abstract class XmppActivity extends Activity { Account account = conversation.getAccount(); Contact contact = account.getRoster().getContact(jid); xmppConnectionService.createContact(contact); + switchToContactDetails(contact); } }); builder.create().show(); |