diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java | 21 | ||||
-rw-r--r-- | src/main/res/menu/conference_context.xml | 4 |
2 files changed, 24 insertions, 1 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java index 8135fde4..3585f03a 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 fd898580..ee9517ed 100644 --- a/src/main/res/menu/conference_context.xml +++ b/src/main/res/menu/conference_context.xml @@ -7,5 +7,7 @@ <item android:id="@+id/context_delete_conference" android:title="@string/delete_bookmark"/> - + <item + android:id="@+id/context_share_uri" + android:title="@string/share_uri_with"/> </menu>
\ No newline at end of file |