From 8bdd7bc595e59695719602b895fea23a07e02b88 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Wed, 26 Sep 2018 12:33:23 -0300 Subject: [PATCH] Add buttons to switch between showing link and code --- .../contact/ContactLinkOutputActivity.java | 31 +++--------- .../contact/ContactLinkOutputFragment.java | 4 ++ .../contact/ContactQrCodeOutputFragment.java | 5 ++ .../briar/android/view/QrCodeView.java | 3 ++ .../layout/fragment_contact_link_output.xml | 27 +++++++++++ .../fragment_contact_qr_code_output.xml | 47 +++++++++++++++++-- briar-android/src/main/res/values/strings.xml | 6 +-- 7 files changed, 91 insertions(+), 32 deletions(-) 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 f7c920983..d1e0fbf18 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 @@ -2,7 +2,6 @@ package org.briarproject.briar.android.contact; import android.os.Bundle; import android.support.v7.app.ActionBar; -import android.view.Menu; import android.view.MenuItem; import org.briarproject.briar.R; @@ -15,9 +14,6 @@ import javax.annotation.Nullable; public class ContactLinkOutputActivity extends BriarActivity implements BaseFragmentListener { - private Menu menu; - private boolean showQrCode = true; - @Override public void injectActivity(ActivityComponent component) { component.inject(this); @@ -35,40 +31,27 @@ public class ContactLinkOutputActivity extends BriarActivity implements } if (state == null) { - showInitialFragment(new ContactQrCodeOutputFragment()); + showInitialFragment(new ContactLinkOutputFragment()); } } - @Override - public boolean onCreateOptionsMenu(Menu menu) { -// MenuInflater inflater = getMenuInflater(); -// inflater.inflate(R.menu.contact_output_actions, menu); -// menu.findItem(R.id.action_switch) -// .setTitle(showQrCode ? R.string.show_link : R.string.show_code); - return super.onCreateOptionsMenu(menu); - } - @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: onBackPressed(); return true; - case R.id.action_switch: - switchFragment(); - return true; default: return super.onOptionsItemSelected(item); } } - private void switchFragment() { - if (showQrCode) { - showInitialFragment(new ContactLinkOutputFragment()); - } else { - showInitialFragment(new ContactQrCodeOutputFragment()); - } - showQrCode = !showQrCode; + void showLink() { + showInitialFragment(new ContactLinkOutputFragment()); + } + + void showCode() { + showInitialFragment(new ContactQrCodeOutputFragment()); } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkOutputFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkOutputFragment.java index 140f0f9c0..26cf6b1b0 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkOutputFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactLinkOutputFragment.java @@ -63,6 +63,10 @@ public class ContactLinkOutputFragment extends BaseFragment { i.setType("text/plain"); startActivity(i); }); + + Button showCodeButton = v.findViewById(R.id.showCodeButton); + showCodeButton.setOnClickListener( + view -> ((ContactLinkOutputActivity) getActivity()).showCode()); return v; } 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 54424740d..2c8e56203 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 @@ -6,6 +6,7 @@ import android.util.DisplayMetrics; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.Button; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.briar.R; @@ -45,6 +46,10 @@ public class ContactQrCodeOutputFragment extends BaseFragment qrCodeView.setQrCode(qrCode); qrCodeView.setFullscreenListener(this); + Button showLinkButton = v.findViewById(R.id.showLinkButton); + showLinkButton.setOnClickListener( + view -> ((ContactLinkOutputActivity) getActivity()).showLink()); + return v; } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/view/QrCodeView.java b/briar-android/src/main/java/org/briarproject/briar/android/view/QrCodeView.java index 37a9f206a..a578016f4 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/view/QrCodeView.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/view/QrCodeView.java @@ -39,6 +39,9 @@ public class QrCodeView extends FrameLayout { listener.setFullscreen(fullscreen); } ); + + // TODO remove + fullscreenButton.setVisibility(INVISIBLE); } @UiThread diff --git a/briar-android/src/main/res/layout/fragment_contact_link_output.xml b/briar-android/src/main/res/layout/fragment_contact_link_output.xml index 7724a1811..dc38cad7f 100644 --- a/briar-android/src/main/res/layout/fragment_contact_link_output.xml +++ b/briar-android/src/main/res/layout/fragment_contact_link_output.xml @@ -59,4 +59,31 @@ app:layout_constraintStart_toEndOf="@id/copyButton" app:layout_constraintTop_toTopOf="@id/copyButton"/> + + +