aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoriNPUTmice <daniel@gultsch.de>2014-07-21 16:16:09 +0200
committeriNPUTmice <daniel@gultsch.de>2014-07-21 16:16:09 +0200
commit2fe20ffa8e8cfdb6b089e034c4f02010a7c740e6 (patch)
tree8512ded7da3d54719667ec03fbaadf6b5005c9e2
parentf9ed76f5e130f744e118ac752728949688a206a9 (diff)
fixed #267
-rw-r--r--res/values/strings.xml2
-rw-r--r--src/eu/siacs/conversations/ui/ConversationFragment.java13
-rw-r--r--src/eu/siacs/conversations/ui/XmppActivity.java1
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();