aboutsummaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2016-05-14 22:17:08 +0200
committerChristian Schneppe <christian@pix-art.de>2016-05-14 22:17:08 +0200
commit4fe4ec114bcb578ab9a4e985d16961d79bb74a23 (patch)
tree21a36037c0e8bafa53c2880a4e934fed5e2dc3a8 /src/main
parentd9fb1316cc33b2640be2f1f2f4bec9e4a1738553 (diff)
add share contact to ContactDetails
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java18
-rw-r--r--src/main/res/menu/contact_details.xml16
2 files changed, 31 insertions, 3 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java b/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java
index 33de0f685..339adc28f 100644
--- a/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java
@@ -2,6 +2,7 @@ package eu.siacs.conversations.ui;
import android.app.AlertDialog;
import android.app.PendingIntent;
+import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
@@ -41,6 +42,7 @@ import eu.siacs.conversations.crypto.axolotl.AxolotlService;
import eu.siacs.conversations.crypto.axolotl.XmppAxolotlSession;
import eu.siacs.conversations.entities.Account;
import eu.siacs.conversations.entities.Contact;
+import eu.siacs.conversations.entities.Conversation;
import eu.siacs.conversations.entities.ListItem;
import eu.siacs.conversations.entities.Presence;
import eu.siacs.conversations.services.XmppConnectionService.OnAccountUpdate;
@@ -56,6 +58,7 @@ import eu.siacs.conversations.xmpp.jid.Jid;
public class ContactDetailsActivity extends XmppActivity implements OnAccountUpdate, OnRosterUpdate, OnUpdateBlocklist, OnKeyStatusUpdated {
public static final String ACTION_VIEW_CONTACT = "view_contact";
+ private Conversation mConversation;
private Contact contact;
private DialogInterface.OnClickListener removeFromRoster = new DialogInterface.OnClickListener() {
@@ -225,6 +228,18 @@ public class ContactDetailsActivity extends XmppActivity implements OnAccountUpd
this.showDynamicTags = preferences.getBoolean("show_dynamic_tags",false);
}
+ private void share() {
+ Intent shareIntent = new Intent();
+ shareIntent.setAction(Intent.ACTION_SEND);
+ shareIntent.putExtra(Intent.EXTRA_TEXT, getShareableUri());
+ 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();
+ }
+ }
+
@Override
public boolean onOptionsItemSelected(final MenuItem menuItem) {
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
@@ -263,6 +278,9 @@ public class ContactDetailsActivity extends XmppActivity implements OnAccountUpd
startActivity(intent);
}
break;
+ case R.id.action_share:
+ share();
+ break;
case R.id.action_block:
BlockContactDialog.show(this, xmppConnectionService, contact);
break;
diff --git a/src/main/res/menu/contact_details.xml b/src/main/res/menu/contact_details.xml
index 43ccc7927..7879eaea1 100644
--- a/src/main/res/menu/contact_details.xml
+++ b/src/main/res/menu/contact_details.xml
@@ -7,11 +7,19 @@
android:orderInCategory="10"
android:showAsAction="always"
android:title="@string/action_edit_contact"/>
+
+ <item
+ android:id="@+id/action_share"
+ android:icon="?attr/icon_share"
+ android:showAsAction="always"
+ android:orderInCategory="10"
+ android:title="@string/share_uri_with"/>
+
<item
android:id="@+id/action_delete_contact"
android:icon="?attr/icon_discard"
android:orderInCategory="10"
- android:showAsAction="always"
+ android:showAsAction="never"
android:title="@string/action_delete_contact"/>
<item
android:id="@+id/action_show_qr_code"
@@ -21,13 +29,15 @@
<item
android:id="@+id/action_block"
android:orderInCategory="72"
- android:showAsAction="never"
+ android:showAsAction="always"
+ android:icon="@drawable/ic_speaker_notes_off_white_24dp"
android:title="@string/action_block_contact"/>
<item
android:id="@+id/action_unblock"
android:orderInCategory="73"
- android:showAsAction="never"
+ android:showAsAction="always"
+ android:icon="@drawable/ic_speaker_notes_white_24dp"
android:title="@string/action_unblock_contact"/>
</menu> \ No newline at end of file