From f2d9539d9080699fdde01a8e8a6d11c131f8d914 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Wed, 25 Jan 2017 00:15:50 +0100 Subject: [PATCH] share uri for bookmark direclty from Start Conversation --- .../ui/StartConversationActivity.java | 21 +++++++++++++++++++ src/main/res/menu/conference_context.xml | 4 +++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java index 8135fde4f..3585f03ab 100644 --- a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java +++ b/src/main/java/eu/siacs/conversations/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; @@ -324,6 +325,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) { @@ -1142,6 +1160,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(); } diff --git a/src/main/res/menu/conference_context.xml b/src/main/res/menu/conference_context.xml index fd898580a..ee9517ed8 100644 --- a/src/main/res/menu/conference_context.xml +++ b/src/main/res/menu/conference_context.xml @@ -7,5 +7,7 @@ - + \ No newline at end of file