From f202ddd9a31b6698bdad1df4a324089be497615c Mon Sep 17 00:00:00 2001 From: akwizgran Date: Tue, 25 Sep 2018 12:48:42 +0100 Subject: [PATCH] Add third speed dial action, share button. --- briar-android/src/main/AndroidManifest.xml | 4 +- .../contact/ContactLinkInputActivity.java | 25 ++----- .../contact/ContactLinkOutputActivity.java | 27 +++++--- .../android/contact/ContactListFragment.java | 10 ++- .../layout/activity_contact_link_input.xml | 68 +++++++++---------- ...t.xml => activity_contact_link_output.xml} | 55 +++++++-------- .../main/res/layout/fragment_contact_list.xml | 8 ++- .../main/res/menu/contact_list_actions.xml | 10 ++- briar-android/src/main/res/values/strings.xml | 14 +++- 9 files changed, 117 insertions(+), 104 deletions(-) rename briar-android/src/main/res/layout/{activity_contact_link_ouput.xml => activity_contact_link_output.xml} (57%) diff --git a/briar-android/src/main/AndroidManifest.xml b/briar-android/src/main/AndroidManifest.xml index 394ed8220..8585ccfa6 100644 --- a/briar-android/src/main/AndroidManifest.xml +++ b/briar-android/src/main/AndroidManifest.xml @@ -416,11 +416,13 @@ + android:theme="@style/BriarTheme" + android:label="@string/send_link_title"/> diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkInputActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkInputActivity.java index bf0f0255b..6ac80cc70 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkInputActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkInputActivity.java @@ -5,7 +5,6 @@ import android.os.Bundle; import android.support.v7.app.ActionBar; import android.text.Editable; import android.text.TextWatcher; -import android.util.Log; import android.view.MenuItem; import android.widget.Button; import android.widget.EditText; @@ -44,7 +43,6 @@ public class ContactLinkInputActivity extends BriarActivity if (ab != null) { ab.setDisplayHomeAsUpEnabled(true); } - setTitle("Enter contact link"); clipboard = (ClipboardManager) requireNonNull( getSystemService(CLIPBOARD_SERVICE)); @@ -53,20 +51,16 @@ public class ContactLinkInputActivity extends BriarActivity linkInput.addTextChangedListener(this); pasteButton = findViewById(R.id.pasteButton); - pasteButton.setOnClickListener(v -> { - linkInput - .setText(clipboard.getPrimaryClip().getItemAt(0).getText()); - }); + pasteButton.setOnClickListener(v -> linkInput + .setText(clipboard.getPrimaryClip().getItemAt(0).getText())); contactNameInput = findViewById(R.id.contactNameInput); contactNameInput.addTextChangedListener(this); addButton = findViewById(R.id.addButton); - addButton.setOnClickListener(v -> { - Toast.makeText(this, - "Contact " + contactNameInput.getText() + " requested", - LENGTH_SHORT).show(); - }); + addButton.setOnClickListener(v -> Toast.makeText(this, + "Contact " + contactNameInput.getText() + " requested", + LENGTH_SHORT).show()); } @Override @@ -110,14 +104,7 @@ public class ContactLinkInputActivity extends BriarActivity } private boolean isBriarLink(CharSequence s) { - Log.e("TEST", s.toString()); - // briar://pfmrkyclibynikzg - Log.e("TEST", "'" + s.subSequence(0, 8).toString() + "'"); - Log.e("TEST", "LENGTH?" + (s.length() == 24)); - Log.e("TEST", "SUB?" + (s.toString().startsWith("briar://"))); - Log.e("TEST", "IS BRIAR LINK?" + - (s.length() == 24 && s.toString().startsWith("briar://"))); - return s.length() == 24 && s.toString().startsWith("briar://"); + return s.length() == 72 && s.toString().startsWith("briar://"); } private void updateAddButtonState() { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkOutputActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkOutputActivity.java index e374b2213..339ebae5c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkOutputActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkOutputActivity.java @@ -16,6 +16,8 @@ import org.briarproject.briar.android.activity.BriarActivity; import javax.annotation.Nullable; +import static android.content.Intent.ACTION_SEND; +import static android.content.Intent.EXTRA_TEXT; import static android.widget.Toast.LENGTH_SHORT; import static org.briarproject.bramble.util.StringUtils.getRandomString; @@ -30,15 +32,14 @@ public class ContactLinkOutputActivity extends BriarActivity { public void onCreate(@Nullable Bundle state) { super.onCreate(state); - setContentView(R.layout.activity_contact_link_ouput); + setContentView(R.layout.activity_contact_link_output); ActionBar ab = getSupportActionBar(); if (ab != null) { ab.setDisplayHomeAsUpEnabled(true); } - setTitle(R.string.add_contact_via_link_title); - String link = "briar://" + getRandomString(16); + String link = "briar://" + getRandomString(64); TextView linkView = findViewById(R.id.linkView); linkView.setText(link); @@ -46,17 +47,23 @@ public class ContactLinkOutputActivity extends BriarActivity { ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); if (clipboard == null) throw new AssertionError(); - ClipData clip = ClipData.newPlainText("Briar link", link); + ClipData clip = ClipData.newPlainText( + getString(R.string.link_clip_label), link); - Button button = findViewById(R.id.button); - button.setOnClickListener(v -> { + Button copyButton = findViewById(R.id.copyButton); + copyButton.setOnClickListener(v -> { clipboard.setPrimaryClip(clip); - Toast.makeText(this, "Link copied!", LENGTH_SHORT).show(); + Toast.makeText(this, R.string.link_copied_toast, LENGTH_SHORT) + .show(); }); - Button enterLinkButton = findViewById(R.id.enterLinkButton); - enterLinkButton.setOnClickListener(v -> startActivity( - new Intent(this, ContactLinkInputActivity.class))); + Button shareButton = findViewById(R.id.shareButton); + shareButton.setOnClickListener(v -> { + Intent i = new Intent(ACTION_SEND); + i.putExtra(EXTRA_TEXT, link); + i.setType("text/plain"); + startActivity(i); + }); } @Override diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java index fea09e0d8..34a4ecb16 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java @@ -194,11 +194,15 @@ public class ContactListFragment extends BaseFragment implements EventListener, Intent intent = new Intent(getContext(), ContactExchangeActivity.class); startActivity(intent); - return true; - case R.id.action_add_contact_via_link: + return false; + case R.id.action_open_link: + startActivity(new Intent(getContext(), + ContactLinkInputActivity.class)); + return false; + case R.id.action_send_link: startActivity(new Intent(getContext(), ContactLinkOutputActivity.class)); - return true; + return false; default: return false; } diff --git a/briar-android/src/main/res/layout/activity_contact_link_input.xml b/briar-android/src/main/res/layout/activity_contact_link_input.xml index cfd2232ba..511068f42 100644 --- a/briar-android/src/main/res/layout/activity_contact_link_input.xml +++ b/briar-android/src/main/res/layout/activity_contact_link_input.xml @@ -7,61 +7,57 @@ android:layout_height="match_parent"> + +