From 27a46c30757fb913594efdaf8606cf80cfa7d05c Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Wed, 25 Jan 2017 21:25:39 +0100 Subject: share uri for bookmark direclty from Start Conversation --- .../messenger/ui/StartConversationActivity.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/main/java/de/pixart/messenger/ui') diff --git a/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java b/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java index 30d7d20a0..2d24a27c9 100644 --- a/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java +++ b/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java @@ -13,6 +13,7 @@ import android.app.FragmentManager; import android.app.FragmentTransaction; import android.app.ListFragment; import android.app.PendingIntent; +import android.content.ActivityNotFoundException; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; @@ -339,6 +340,23 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU openConversationsForBookmark(bookmark); } + protected void shareBookmarkUri() { + shareBookmarkUri(conference_context_id); + } + + protected void shareBookmarkUri(int position) { + Bookmark bookmark = (Bookmark) conferences.get(position); + Intent shareIntent = new Intent(); + shareIntent.setAction(Intent.ACTION_SEND); + shareIntent.putExtra(Intent.EXTRA_TEXT, "xmpp:" + bookmark.getJid().toBareJid().toString() + "?join"); + shareIntent.setType("text/plain"); + try { + startActivity(Intent.createChooser(shareIntent, getText(R.string.share_uri_with))); + } catch (ActivityNotFoundException e) { + Toast.makeText(this, R.string.no_application_to_share_uri, Toast.LENGTH_SHORT).show(); + } + } + protected void openConversationsForBookmark(Bookmark bookmark) { Jid jid = bookmark.getJid(); if (jid == null) { @@ -1064,6 +1082,9 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU case R.id.context_join_conference: activity.openConversationForBookmark(); break; + case R.id.context_share_uri: + activity.shareBookmarkUri(); + break; case R.id.context_delete_conference: activity.deleteConference(); } -- cgit v1.2.3