diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkExchangeFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkExchangeFragment.java
index 25983cc6f..3e29914db 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkExchangeFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkExchangeFragment.java
@@ -8,6 +8,7 @@ import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.TextInputEditText;
import android.support.design.widget.TextInputLayout;
+import android.support.v4.app.ShareCompat.IntentBuilder;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -24,8 +25,6 @@ import java.util.regex.Matcher;
import javax.annotation.Nullable;
import static android.content.Context.CLIPBOARD_SERVICE;
-import static android.content.Intent.ACTION_SEND;
-import static android.content.Intent.EXTRA_TEXT;
import static android.os.Build.VERSION.SDK_INT;
import static android.support.v4.graphics.drawable.DrawableCompat.setTint;
import static android.support.v4.graphics.drawable.DrawableCompat.wrap;
@@ -34,7 +33,6 @@ import static java.util.Objects.requireNonNull;
import static org.briarproject.briar.android.contact.ContactLinkExchangeActivity.LINK_REGEX;
import static org.briarproject.briar.android.contact.ContactLinkExchangeActivity.OUR_LINK;
import static org.briarproject.briar.android.util.UiUtils.resolveColorAttribute;
-import static org.briarproject.briar.android.util.UiUtils.setError;
public class ContactLinkExchangeFragment extends BaseFragment {
@@ -87,8 +85,7 @@ public class ContactLinkExchangeFragment extends BaseFragment {
contactNameLayout = v.findViewById(R.id.contactNameLayout);
contactNameInput = v.findViewById(R.id.contactNameInput);
if (SDK_INT < 23) {
- Drawable drawable =
- wrap(contactNameInput.getCompoundDrawables()[0]);
+ Drawable drawable = wrap(contactNameInput.getCompoundDrawables()[0]);
setTint(drawable, color);
contactNameInput.setCompoundDrawables(drawable, null, null, null);
}
@@ -131,10 +128,10 @@ public class ContactLinkExchangeFragment extends BaseFragment {
Button shareButton = v.findViewById(R.id.shareButton);
shareButton.setOnClickListener(view -> {
- Intent i = new Intent(ACTION_SEND);
- i.putExtra(EXTRA_TEXT, OUR_LINK);
- i.setType("text/plain");
- startActivity(i);
+ IntentBuilder.from(getActivity())
+ .setText(OUR_LINK)
+ .setType("text/plain")
+ .startChooser();
});
Button showCodeButton = v.findViewById(R.id.showCodeButton);
@@ -154,22 +151,24 @@ public class ContactLinkExchangeFragment extends BaseFragment {
private boolean isInputError() {
boolean briarLink = isBriarLink(linkInput.getText());
if (!briarLink) {
- linkInputLayout.setError("Invalid link");
+ linkInputLayout.setError(getString(R.string.invalid_link));
+ linkInput.requestFocus();
return true;
} else linkInputLayout.setError(null);
String link = getLink();
boolean isOurLink = link != null && OUR_LINK.equals("briar://" + link);
if (isOurLink) {
- linkInputLayout.setError("Add your peer's link, not your own.");
+ linkInputLayout.setError(getString(R.string.own_link_error));
+ linkInput.requestFocus();
return true;
} else linkInputLayout.setError(null);
boolean validContactName = contactNameInput.getText() != null &&
contactNameInput.getText().length() > 0;
if (!validContactName) {
- contactNameLayout.setError("Nickname is missing");
+ contactNameLayout.setError(getString(R.string.nickname_missing));
+ contactNameInput.requestFocus();
return true;
} else contactNameLayout.setError(null);
- setError(linkInputLayout, null, false);
return false;
}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/PendingRequestsViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/PendingRequestsViewHolder.java
index 9a3e77649..29cd66a6f 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/contact/PendingRequestsViewHolder.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/PendingRequestsViewHolder.java
@@ -38,11 +38,11 @@ public class PendingRequestsViewHolder extends ViewHolder {
long diff = item.getAddAt() - System.currentTimeMillis();
Log.e("TEST", "diff: " + diff);
if (diff < SECONDS.toMillis(10)) {
- status.setText("Adding contact…");
+ status.setText(R.string.adding_contact);
} else if (diff < SECONDS.toMillis(20)) {
- status.setText("Connecting…");
+ status.setText(R.string.connecting);
} else if (diff < SECONDS.toMillis(30)) {
- status.setText("Waiting for peer to come online…");
+ status.setText(R.string.waiting_for_contact_to_come_online);
}
}
diff --git a/briar-android/src/main/res/drawable/ic_link.xml b/briar-android/src/main/res/drawable/ic_link.xml
index 8b4d9a8b8..a866c4d9c 100644
--- a/briar-android/src/main/res/drawable/ic_link.xml
+++ b/briar-android/src/main/res/drawable/ic_link.xml
@@ -4,6 +4,6 @@
android:viewportHeight="24.0"
android:viewportWidth="24.0">
diff --git a/briar-android/src/main/res/drawable/ic_link_menu.xml b/briar-android/src/main/res/drawable/ic_link_menu.xml
new file mode 100644
index 000000000..a866c4d9c
--- /dev/null
+++ b/briar-android/src/main/res/drawable/ic_link_menu.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/briar-android/src/main/res/layout/fragment_contact_link_exchange.xml b/briar-android/src/main/res/layout/fragment_contact_link_exchange.xml
index 292f4b9ab..b2c8daa94 100644
--- a/briar-android/src/main/res/layout/fragment_contact_link_exchange.xml
+++ b/briar-android/src/main/res/layout/fragment_contact_link_exchange.xml
@@ -98,12 +98,28 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="left|start"
- android:text="@string/send_link_instructions"
+ android:text="@string/send_link_title"
+ android:textSize="18sp"
+ android:textStyle="bold"
+ app:layout_constraintBottom_toTopOf="@+id/yourLink"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_bias="0"
+ app:layout_constraintVertical_chainStyle="packed"/>
+
+
@@ -121,9 +137,8 @@
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://scnsdflamslkfjgluoblmksdfbwevlewajfdlkjewwhqliafskfjhskdjhvoieiv"
- />
+ app:layout_constraintTop_toBottomOf="@+id/yourLink"
+ tools:text="briar://scnsdflamslkfjgluoblmksdfbwevlewajfdlkjewwhqliafskfjhskdjhvoieiv"/>
diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml
index 31312ae83..263da98cc 100644
--- a/briar-android/src/main/res/values/strings.xml
+++ b/briar-android/src/main/res/values/strings.xml
@@ -164,17 +164,20 @@
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 remotely
- Give peer a nickname
- Enter peer\'s link
+ Give contact a nickname
+ Enter contact\'s link
Paste
QR Code
- Add peer as contact
+ Add contact
Copy
Share
QR Code
- Exchange links with your peer!\n\nYour link:
+ Exchange links with your contact
+ Your link:
Briar link
Link copied
"There are pending contact requests"
@@ -183,6 +186,13 @@
Scan QR Code
Your QR Code
Camera Error
+ Waiting for contact to come online…
+ Connecting…
+ Adding contact…
+ Enter your contact\'s link
+ Nickname is missing
+ Invalid link
+
Introduce your contacts