From 0ad20037aedb4ba0e51aef5b51a0c895c6954c25 Mon Sep 17 00:00:00 2001 From: goapunk <goapunk@riseup.net> Date: Wed, 20 Jun 2018 18:36:39 +0200 Subject: [PATCH] Pass String instead of the TextView --- .../keyagreement/ContactExchangeActivity.java | 17 +++++------ .../keyagreement/KeyAgreementFragment.java | 30 ++++++++++++------- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ContactExchangeActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ContactExchangeActivity.java index 0116728d61..e053c50c1d 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ContactExchangeActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ContactExchangeActivity.java @@ -2,7 +2,6 @@ package org.briarproject.briar.android.keyagreement; import android.os.Bundle; import android.support.annotation.UiThread; -import android.widget.TextView; import android.widget.Toast; import org.briarproject.bramble.api.contact.ContactExchangeListener; @@ -115,31 +114,31 @@ public class ContactExchangeActivity extends KeyAgreementActivity implements @UiThread @Override - public void keyAgreementWaiting(TextView status) { - status.setText(R.string.waiting_for_contact_to_scan); + public String keyAgreementWaiting() { + return getString(R.string.waiting_for_contact_to_scan); } @UiThread @Override - public void keyAgreementStarted(TextView status) { - status.setText(R.string.authenticating_with_device); + public String keyAgreementStarted() { + return getString(R.string.authenticating_with_device); } @UiThread @Override - public void keyAgreementAborted(boolean remoteAborted) { + public String keyAgreementAborted(boolean remoteAborted) { // TODO show abort somewhere persistent? Toast.makeText(this, remoteAborted ? R.string.connection_aborted_remote : R.string.connection_aborted_local, LENGTH_LONG) .show(); + return null; } @UiThread @Override - public void keyAgreementFinished(TextView status, - KeyAgreementResult result) { - status.setText(R.string.exchanging_contact_details); + public String keyAgreementFinished(KeyAgreementResult result) { startContactExchange(result); + return getString(string.exchanging_contact_details); } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementFragment.java index 0c8b2233ec..6781b88b64 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementFragment.java @@ -31,6 +31,7 @@ import org.briarproject.bramble.api.keyagreement.event.KeyAgreementStartedEvent; import org.briarproject.bramble.api.keyagreement.event.KeyAgreementWaitingEvent; import org.briarproject.bramble.api.lifecycle.IoExecutor; import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; +import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; import org.briarproject.briar.R; import org.briarproject.briar.android.activity.ActivityComponent; @@ -90,7 +91,8 @@ public class KeyAgreementFragment extends BaseEventFragment private KeyAgreementTask task; private KeyAgreementEventListener listener; - public static KeyAgreementFragment newInstance(KeyAgreementEventListener listener) { + public static KeyAgreementFragment newInstance( + KeyAgreementEventListener listener) { Bundle args = new Bundle(); KeyAgreementFragment fragment = new KeyAgreementFragment(); fragment.listener = listener; @@ -281,14 +283,14 @@ public class KeyAgreementFragment extends BaseEventFragment private void keyAgreementWaiting() { runOnUiThreadUnlessDestroyed( - () -> listener.keyAgreementWaiting(status)); + () -> status.setText(listener.keyAgreementWaiting())); } private void keyAgreementStarted() { runOnUiThreadUnlessDestroyed(() -> { qrCodeView.setVisibility(INVISIBLE); statusView.setVisibility(VISIBLE); - listener.keyAgreementStarted(status); + status.setText(listener.keyAgreementStarted()); }); } @@ -297,15 +299,14 @@ public class KeyAgreementFragment extends BaseEventFragment reset(); qrCodeView.setVisibility(VISIBLE); statusView.setVisibility(INVISIBLE); - status.setText(""); - listener.keyAgreementAborted(remoteAborted); + status.setText(listener.keyAgreementAborted(remoteAborted)); }); } private void keyAgreementFinished(KeyAgreementResult result) { runOnUiThreadUnlessDestroyed(() -> { statusView.setVisibility(VISIBLE); - listener.keyAgreementFinished(status, result); + status.setText(listener.keyAgreementFinished(result)); }); } @@ -341,21 +342,30 @@ public class KeyAgreementFragment extends BaseEventFragment getActivity().getSupportFragmentManager().popBackStack(); } + @NotNullByDefault interface KeyAgreementEventListener { @UiThread void keyAgreementFailed(); + // Should return a string to be displayed as status. @UiThread - void keyAgreementWaiting(TextView status); + @Nullable + String keyAgreementWaiting(); + // Should return a string to be displayed as status. @UiThread - void keyAgreementStarted(TextView status); + @Nullable + String keyAgreementStarted(); + // Should return a string to be displayed as status. @UiThread - void keyAgreementAborted(boolean remoteAborted); + @Nullable + String keyAgreementAborted(boolean remoteAborted); + // Should return a string to be displayed as status. @UiThread - void keyAgreementFinished(TextView status, KeyAgreementResult result); + @Nullable + String keyAgreementFinished(KeyAgreementResult result); } } -- GitLab