From 72a2622c84692f87d528dcff7e356fb38c8b0c4d Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Fri, 24 Jun 2016 15:16:01 +0200 Subject: [PATCH] introduced share button in contact details. remove show qr --- .../siacs/conversations/entities/Contact.java | 9 --------- .../ui/ConferenceDetailsActivity.java | 14 +------------- .../ui/ContactDetailsActivity.java | 5 ++++- .../eu/siacs/conversations/ui/XmppActivity.java | 17 +++++++++++++++++ src/main/res/menu/contact_details.xml | 14 ++++++++------ src/main/res/menu/muc_details.xml | 4 ---- 6 files changed, 30 insertions(+), 33 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/entities/Contact.java b/src/main/java/eu/siacs/conversations/entities/Contact.java index 9f2dfba96..551b6aabb 100644 --- a/src/main/java/eu/siacs/conversations/entities/Contact.java +++ b/src/main/java/eu/siacs/conversations/entities/Contact.java @@ -484,15 +484,6 @@ public class Contact implements ListItem, Blockable { return getOption(Options.FROM) && getOption(Options.TO); } - public String getShareableUri() { - if (getOtrFingerprints().size() >= 1) { - String otr = getOtrFingerprints().get(0); - return "xmpp:" + getJid().toBareJid().toString() + "?otr-fingerprint=" + otr; - } else { - return "xmpp:" + getJid().toBareJid().toString(); - } - } - @Override public boolean isBlocked() { return getAccount().isBlocked(this); diff --git a/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java index a39f735ef..69154888f 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java @@ -284,7 +284,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers } break; case R.id.action_share: - share(); + shareUri(); break; case R.id.action_save_as_bookmark: saveAsBookmark(); @@ -313,18 +313,6 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers } } - 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 onPrepareOptionsMenu(Menu menu) { MenuItem menuItemSaveBookmark = menu.findItem(R.id.action_save_as_bookmark); diff --git a/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java b/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java index 160514052..c6df77dcf 100644 --- a/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java @@ -181,7 +181,7 @@ public class ContactDetailsActivity extends XmppActivity implements OnAccountUpd @Override protected String getShareableUri() { if (contact != null) { - return contact.getShareableUri(); + return "xmpp:"+contact.getJid().toBareJid().toString(); } else { return ""; } @@ -241,6 +241,9 @@ public class ContactDetailsActivity extends XmppActivity implements OnAccountUpd case android.R.id.home: finish(); break; + case R.id.action_share: + shareUri(); + break; case R.id.action_delete_contact: builder.setTitle(getString(R.string.action_delete_contact)) .setMessage( diff --git a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java index 47dff7195..8955278bf 100644 --- a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java @@ -8,6 +8,7 @@ import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.PendingIntent; +import android.content.ActivityNotFoundException; import android.content.ClipData; import android.content.ClipboardManager; import android.content.ComponentName; @@ -1095,6 +1096,22 @@ public abstract class XmppActivity extends Activity { return null; } + protected void shareUri() { + String uri = getShareableUri(); + if (uri == null || uri.isEmpty()) { + return; + } + 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 void onResume() { super.onResume(); diff --git a/src/main/res/menu/contact_details.xml b/src/main/res/menu/contact_details.xml index bd81b6d49..c724a4d2f 100644 --- a/src/main/res/menu/contact_details.xml +++ b/src/main/res/menu/contact_details.xml @@ -7,16 +7,18 @@ android:orderInCategory="10" android:showAsAction="always" android:title="@string/action_edit_contact"/> + + - -