Add third speed dial action, share button.

This commit is contained in:
akwizgran
2018-09-25 12:48:42 +01:00
committed by Torsten Grote
parent ac87f23187
commit f202ddd9a3
9 changed files with 117 additions and 104 deletions

View File

@@ -416,11 +416,13 @@
<!-- Prototype -->
<activity
android:name=".android.contact.ContactLinkOutputActivity"
android:theme="@style/BriarTheme"/>
android:theme="@style/BriarTheme"
android:label="@string/send_link_title"/>
<activity
android:name=".android.contact.ContactLinkInputActivity"
android:theme="@style/BriarTheme"
android:label="@string/open_link_title"
android:windowSoftInputMode="stateHidden|adjustResize">
<intent-filter>
<data android:scheme="briar"/>

View File

@@ -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() {

View File

@@ -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

View File

@@ -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;
}

View File

@@ -7,61 +7,57 @@
android:layout_height="match_parent">
<EditText
android:id="@+id/linkInput"
android:id="@+id/contactNameInput"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:hint="Enter Briar link"
android:inputType="textUri"
app:layout_constraintEnd_toStartOf="@+id/pasteButton"
app:layout_constraintHorizontal_bias="0.5"
android:layout_margin="@dimen/margin_large"
android:hint="@string/contact_name_hint"
android:importantForAutofill="no"
android:inputType="text|textCapWords"
app:layout_constraintBottom_toTopOf="@id/linkInput"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"/>
<EditText
android:id="@+id/linkInput"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/margin_large"
android:layout_marginStart="@dimen/margin_large"
android:hint="@string/contact_link_hint"
android:importantForAutofill="no"
android:inputType="textUri"
app:layout_constraintBottom_toTopOf="@id/addButton"
app:layout_constraintEnd_toStartOf="@id/pasteButton"
app:layout_constraintHorizontal_bias="0.8"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/contactNameInput"/>
<Button
android:id="@+id/pasteButton"
style="@style/BriarButtonFlat.Positive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:text="Paste"
app:layout_constraintBottom_toBottomOf="@+id/linkInput"
android:layout_margin="@dimen/margin_large"
android:text="@string/paste_button"
app:layout_constraintBottom_toBottomOf="@id/linkInput"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/linkInput"
app:layout_constraintTop_toTopOf="@+id/linkInput"/>
<EditText
android:id="@+id/contactNameInput"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:hint="Contact Name"
android:inputType="textUri"
app:layout_constraintEnd_toStartOf="@+id/addButton"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linkInput"
app:layout_constraintVertical_chainStyle="packed"/>
app:layout_constraintStart_toEndOf="@id/linkInput"
app:layout_constraintTop_toTopOf="@id/linkInput"/>
<Button
android:id="@+id/addButton"
style="@style/BriarButton"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:layout_margin="@dimen/margin_large"
android:enabled="false"
android:text="Add Contact"
app:layout_constraintBottom_toBottomOf="@+id/contactNameInput"
android:text="@string/add_contact_button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/contactNameInput"
app:layout_constraintTop_toTopOf="@+id/contactNameInput"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/linkInput"
tools:enabled="true"/>
</android.support.constraint.ConstraintLayout>

View File

@@ -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"/>
<Button
android:id="@+id/button"
style="@style/BriarButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:text="Copy link"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/enterLinkButton"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linkView"/>
<Button
android:id="@+id/enterLinkButton"
android:id="@+id/copyButton"
style="@style/BriarButtonFlat.Positive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:text="Enter Link"
app:layout_constraintBottom_toBottomOf="@+id/button"
android:layout_margin="@dimen/margin_large"
android:text="@string/copy_button"
app:layout_constraintEnd_toStartOf="@id/shareButton"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/linkView"/>
<Button
android:id="@+id/shareButton"
style="@style/BriarButtonFlat.Positive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_large"
android:text="@string/share_button"
app:layout_constraintBottom_toBottomOf="@id/copyButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/button"
app:layout_constraintTop_toTopOf="@+id/button"/>
app:layout_constraintStart_toEndOf="@id/copyButton"
app:layout_constraintTop_toTopOf="@id/copyButton"/>
</android.support.constraint.ConstraintLayout>

View File

@@ -11,11 +11,17 @@
android:layout_height="match_parent"
app:scrollToEnd="false"/>
<com.leinardi.android.speeddial.SpeedDialOverlayLayout
android:id="@+id/overlay"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.leinardi.android.speeddial.SpeedDialView
android:id="@+id/speedDial"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
app:sdMainFabClosedSrc="@drawable/ic_add_white"/>
app:sdMainFabClosedSrc="@drawable/ic_add_white"
app:sdOverlayLayout="@id/overlay"/>
</android.support.design.widget.CoordinatorLayout>

View File

@@ -10,9 +10,15 @@
app:showAsAction="ifRoom"/>
<item
android:id="@+id/action_add_contact_via_link"
android:id="@+id/action_open_link"
android:icon="@drawable/ic_link"
android:title="@string/add_contact_via_link_title"
android:title="@string/open_link_title"
app:showAsAction="never"/>
<item
android:id="@+id/action_send_link"
android:icon="@drawable/ic_link"
android:title="@string/send_link_title"
app:showAsAction="never"/>
</menu>

View File

@@ -151,8 +151,18 @@
<string name="connection_error_explanation">Please check that you\'re both connected to the same Wi-Fi network.</string>
<string name="connection_error_feedback">If this problem persists, please <a href="feedback">send feedback</a> to help us improve the app.</string>
<string name="add_contact_nearby_title">Add contact nearby</string>
<string name="add_contact_via_link_title">Add contact via link</string>
<string name="add_contact_nearby_title">Add Contact Nearby</string>
<string name="open_link_title">Open Link</string>
<string name="send_link_title">Send My Link</string>
<string name="contact_name_hint">Contact name</string>
<string name="contact_link_hint">Contact link</string>
<string name="paste_button">Paste</string>
<string name="add_contact_button">Add Contact</string>
<string name="share_button">Share</string>
<string name="copy_button">Copy</string>
<string name="send_link_instructions">Send this link to your contact:</string>
<string name="link_clip_label">Briar link</string>
<string name="link_copied_toast">Link copied</string>
<!-- Introductions -->
<string name="introduction_onboarding_title">Introduce your contacts</string>