aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Gultsch <daniel@gultsch.de>2017-01-25 00:15:50 +0100
committerDaniel Gultsch <daniel@gultsch.de>2017-01-25 00:15:50 +0100
commitf2d9539d9080699fdde01a8e8a6d11c131f8d914 (patch)
tree89807ea852e38f7aecfebaa385999bcfeeb8844c
parent66457c9f2ec61953d831b132206e8e06e14313bd (diff)
share uri for bookmark direclty from Start Conversation
-rw-r--r--src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java21
-rw-r--r--src/main/res/menu/conference_context.xml4
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