diff --git a/briar-android/src/main/AndroidManifest.xml b/briar-android/src/main/AndroidManifest.xml
index 7c9266fd7..21250c485 100644
--- a/briar-android/src/main/AndroidManifest.xml
+++ b/briar-android/src/main/AndroidManifest.xml
@@ -427,11 +427,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 04ad09662..dc521ffa8 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
@@ -195,11 +195,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">
+
+
-
-
+ app:layout_constraintStart_toEndOf="@id/linkInput"
+ app:layout_constraintTop_toTopOf="@id/linkInput"/>
-
diff --git a/briar-android/src/main/res/layout/activity_contact_link_ouput.xml b/briar-android/src/main/res/layout/activity_contact_link_output.xml
similarity index 57%
rename from briar-android/src/main/res/layout/activity_contact_link_ouput.xml
rename to briar-android/src/main/res/layout/activity_contact_link_output.xml
index baa6f4344..7724a1811 100644
--- a/briar-android/src/main/res/layout/activity_contact_link_ouput.xml
+++ b/briar-android/src/main/res/layout/activity_contact_link_output.xml
@@ -10,11 +10,11 @@
android:id="@+id/linkIntro"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:text="Copy this link and send it to the contact you want to add:"
+ android:layout_margin="@dimen/margin_large"
+ android:text="@string/send_link_instructions"
android:textIsSelectable="true"
android:textSize="18sp"
- app:layout_constraintBottom_toTopOf="@+id/linkView"
+ app:layout_constraintBottom_toTopOf="@id/linkView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
@@ -24,44 +24,39 @@
android:id="@+id/linkView"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_margin="16dp"
+ android:layout_margin="@dimen/margin_large"
android:textIsSelectable="true"
android:textSize="18sp"
android:typeface="monospace"
- app:layout_constraintBottom_toTopOf="@+id/button"
+ app:layout_constraintBottom_toTopOf="@id/copyButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/linkIntro"
- tools:text="briar://scnsdflamslmksdflksdf"/>
+ app:layout_constraintTop_toBottomOf="@id/linkIntro"
+ tools:text="briar://scnsdflamslkfjgluoblmksdfbwevlewajfdlkjewwhqliafskfjhskdjhvoieiv"/>
-
-
+
+
+ app:layout_constraintStart_toEndOf="@id/copyButton"
+ app:layout_constraintTop_toTopOf="@id/copyButton"/>
diff --git a/briar-android/src/main/res/layout/fragment_contact_list.xml b/briar-android/src/main/res/layout/fragment_contact_list.xml
index 2ca8f8327..926d22279 100644
--- a/briar-android/src/main/res/layout/fragment_contact_list.xml
+++ b/briar-android/src/main/res/layout/fragment_contact_list.xml
@@ -11,11 +11,17 @@
android:layout_height="match_parent"
app:scrollToEnd="false"/>
+
+
+ app:sdMainFabClosedSrc="@drawable/ic_add_white"
+ app:sdOverlayLayout="@id/overlay"/>
diff --git a/briar-android/src/main/res/menu/contact_list_actions.xml b/briar-android/src/main/res/menu/contact_list_actions.xml
index 4102de0a2..27cb4bc52 100644
--- a/briar-android/src/main/res/menu/contact_list_actions.xml
+++ b/briar-android/src/main/res/menu/contact_list_actions.xml
@@ -10,9 +10,15 @@
app:showAsAction="ifRoom"/>
+
+
\ No newline at end of file
diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml
index d8bcd7556..00e5c852d 100644
--- a/briar-android/src/main/res/values/strings.xml
+++ b/briar-android/src/main/res/values/strings.xml
@@ -164,8 +164,18 @@
Please check that you\'re both connected to the same Wi-Fi network.
If this problem persists, please send feedback to help us improve the app.
- Add contact nearby
- Add contact via link
+ Add Contact Nearby
+ Open Link
+ Send My Link
+ Contact name
+ Contact link
+ Paste
+ Add Contact
+ Share
+ Copy
+ Send this link to your contact:
+ Briar link
+ Link copied
Introduce your contacts