diff options
Diffstat (limited to 'src/main/java/de/pixart/messenger')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/StartConversationActivity.java | 21 |
1 files changed, 21 insertions, 0 deletions
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(); } |