share uri for bookmark direclty from Start Conversation

This commit is contained in:
Daniel Gultsch 2017-01-25 00:15:50 +01:00
parent 66457c9f2e
commit f2d9539d90
2 changed files with 24 additions and 1 deletions

View File

@ -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();
}

View File

@ -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>