diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactInviteInputActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactInviteInputActivity.java index 532b0946e..aa5f42905 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactInviteInputActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactInviteInputActivity.java @@ -102,12 +102,12 @@ public class ContactInviteInputActivity extends BriarActivity implements return link.matches("^(briar://)?[A-Z2-7]{64}$"); } - void showLink() { - showInitialFragment(ContactLinkInputFragment.newInstance(null)); + void showLink(@Nullable String link) { + showInitialFragment(ContactLinkInputFragment.newInstance(link)); } void showCode() { - showInitialFragment(new ContactQrCodeInputFragment()); + showNextFragment(new ContactQrCodeInputFragment()); } void showAlias() { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactInviteOutputActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactInviteOutputActivity.java index 3c63905b3..fe26df258 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactInviteOutputActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactInviteOutputActivity.java @@ -51,7 +51,7 @@ public class ContactInviteOutputActivity extends BriarActivity implements } void showCode() { - showInitialFragment(new ContactQrCodeOutputFragment()); + showNextFragment(new ContactQrCodeOutputFragment()); } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkInputFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkInputFragment.java index a26acadcd..10dffea12 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkInputFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkInputFragment.java @@ -16,14 +16,11 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.briar.R; import org.briarproject.briar.android.activity.ActivityComponent; import org.briarproject.briar.android.fragment.BaseFragment; -import org.briarproject.briar.android.navdrawer.NavDrawerActivity; import javax.annotation.Nullable; import static android.content.ClipDescription.MIMETYPE_TEXT_PLAIN; import static android.content.Context.CLIPBOARD_SERVICE; -import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP; -import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; import static java.util.Objects.requireNonNull; @NotNullByDefault @@ -115,8 +112,9 @@ public class ContactLinkInputFragment extends BaseFragment public void onTextChanged(CharSequence s, int start, int before, int count) { if (isBriarLink(linkInput.getText()) && getActivity() != null) { - linkInput.setText(null); - ((ContactInviteInputActivity) getActivity()).showAlias(); + updateAddButtonState(); +// linkInput.setText(null); +// ((ContactInviteInputActivity) getActivity()).showAlias(); } } @@ -136,17 +134,17 @@ public class ContactLinkInputFragment extends BaseFragment private void onAddButtonClicked() { if (getActivity() == null || getContext() == null) return; - ; ((ContactInviteInputActivity) getActivity()) .addFakeRequest(contactNameInput.getText().toString()); AlertDialog.Builder builder = new AlertDialog.Builder(getContext(), R.style.BriarDialogTheme_Neutral); + builder.setTitle("Contact requested"); builder.setMessage(getString(R.string.add_contact_link_question)); builder.setPositiveButton(R.string.yes, (dialog, which) -> { - Intent intent = new Intent(getContext(), NavDrawerActivity.class); - intent.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP); + Intent intent = new Intent(getContext(), PendingRequestsActivity.class); +// intent.setFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); finish(); }); @@ -159,5 +157,4 @@ public class ContactLinkInputFragment extends BaseFragment builder.show(); } - } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactQrCodeInputFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactQrCodeInputFragment.java index 0d0a90c08..dd1bfccb6 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactQrCodeInputFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactQrCodeInputFragment.java @@ -9,7 +9,6 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.Button; import android.widget.Toast; import com.google.zxing.Result; @@ -51,7 +50,7 @@ public class ContactQrCodeInputFragment extends BaseFragment @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - getActivity().setTitle(R.string.open_link_title); + getActivity().setTitle("Scan QR Code"); View v = inflater.inflate(R.layout.fragment_contact_qr_code_input, container, false); @@ -59,9 +58,9 @@ public class ContactQrCodeInputFragment extends BaseFragment cameraView = v.findViewById(R.id.camera_view); - Button enterLinkButton = v.findViewById(R.id.enterLinkButton); - enterLinkButton.setOnClickListener(view -> - ((ContactInviteInputActivity) getActivity()).showLink()); +// Button enterLinkButton = v.findViewById(R.id.enterLinkButton); +// enterLinkButton.setOnClickListener(view -> +// ((ContactInviteInputActivity) getActivity()).showLink()); return v; } @@ -148,13 +147,13 @@ public class ContactQrCodeInputFragment extends BaseFragment builder.setPositiveButton(R.string.ok, UiUtils.getGoToSettingsListener(getContext())); builder.setNegativeButton(R.string.cancel, - (dialog, which) -> showLink()); + (dialog, which) -> showLink(null)); builder.show(); } else { Toast.makeText(getContext(), R.string.permission_camera_denied_toast, LENGTH_LONG).show(); - showLink(); + showLink(null); } } } @@ -164,9 +163,9 @@ public class ContactQrCodeInputFragment extends BaseFragment requestPermissions(new String[] {CAMERA}, REQUEST_PERMISSION_CAMERA); } - private void showLink() { + private void showLink(@Nullable String link) { if (getActivity() != null) - ((ContactInviteInputActivity) getActivity()).showLink(); + ((ContactInviteInputActivity) getActivity()).showLink(link); } @Override @@ -175,7 +174,7 @@ public class ContactQrCodeInputFragment extends BaseFragment if (getActivity() != null && ((ContactInviteInputActivity) getActivity()) .isBriarLink(result.getText())) { - ((ContactInviteInputActivity) getActivity()).showAlias(); + showLink(result.getText()); } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactQrCodeOutputFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactQrCodeOutputFragment.java index d92fd5fb5..c3d29ee62 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactQrCodeOutputFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactQrCodeOutputFragment.java @@ -33,7 +33,7 @@ public class ContactQrCodeOutputFragment extends BaseFragment @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - getActivity().setTitle(R.string.send_code_title); + getActivity().setTitle("Show my QR Code"); View v = inflater.inflate(R.layout.fragment_contact_qr_code_output, container, false); diff --git a/briar-android/src/main/res/drawable/ic_content_copy.xml b/briar-android/src/main/res/drawable/ic_content_copy.xml new file mode 100644 index 000000000..62ad95395 --- /dev/null +++ b/briar-android/src/main/res/drawable/ic_content_copy.xml @@ -0,0 +1,5 @@ + + + diff --git a/briar-android/src/main/res/drawable/ic_person.xml b/briar-android/src/main/res/drawable/ic_person.xml new file mode 100644 index 000000000..d7366bda0 --- /dev/null +++ b/briar-android/src/main/res/drawable/ic_person.xml @@ -0,0 +1,5 @@ + + + diff --git a/briar-android/src/main/res/layout/fragment_contact_link_input.xml b/briar-android/src/main/res/layout/fragment_contact_link_input.xml index c3bcd9e54..7f06c5ce9 100644 --- a/briar-android/src/main/res/layout/fragment_contact_link_input.xml +++ b/briar-android/src/main/res/layout/fragment_contact_link_input.xml @@ -11,10 +11,12 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_margin="@dimen/margin_large" + android:drawableLeft="@drawable/ic_person" + android:drawablePadding="8dp" + android:drawableTint="?attr/colorControlNormal" android:hint="@string/contact_name_hint" android:importantForAutofill="no" android:inputType="text|textCapWords" - android:visibility="gone" app:layout_constraintBottom_toTopOf="@id/linkInput" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -25,15 +27,18 @@ android:id="@+id/linkInput" android:layout_width="0dp" android:layout_height="wrap_content" + android:layout_marginEnd="8dp" android:layout_marginLeft="@dimen/margin_large" + android:layout_marginRight="8dp" android:layout_marginStart="@dimen/margin_large" android:layout_marginTop="16dp" + android:drawableLeft="@drawable/ic_link" + android:drawablePadding="8dp" + android:drawableTint="?attr/colorControlNormal" 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_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/contactNameInput"/> @@ -42,16 +47,36 @@ style="@style/BriarButtonFlat.Positive" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginEnd="8dp" - android:layout_marginRight="8dp" + android:layout_marginLeft="8dp" + android:layout_marginStart="8dp" + android:layout_marginTop="8dp" android:drawableLeft="@drawable/ic_content_paste" android:drawablePadding="8dp" android:drawableTint="@color/briar_text_link" android:text="@string/paste_button" - app:layout_constraintBottom_toBottomOf="@id/linkInput" + app:layout_constraintEnd_toStartOf="@+id/scanCodeButton" + app:layout_constraintHorizontal_bias="0.5" + app:layout_constraintHorizontal_chainStyle="spread" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/linkInput"/> + +