From 6483b0ed879a3cc7d7c7114eadf4ce3aa68c4a8a Mon Sep 17 00:00:00 2001 From: ameba23 Date: Wed, 17 Mar 2021 10:46:34 +0100 Subject: [PATCH] display explainer screen when choosing recover account --- .../android/account/NewOrRecoverActivity.java | 4 +++- .../ExplainerDismissedListener.java | 8 +++++++ .../OwnerRecoveryModeExplainerFragment.java | 14 +++++++---- .../android/socialbackup/RecoverActivity.java | 23 ++++++++++++++++--- .../fragment_recovery_owner_explainer.xml | 2 +- 5 files changed, 42 insertions(+), 9 deletions(-) create mode 100644 briar-android/src/main/java/org/briarproject/briar/android/socialbackup/ExplainerDismissedListener.java diff --git a/briar-android/src/main/java/org/briarproject/briar/android/account/NewOrRecoverActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/account/NewOrRecoverActivity.java index 92849f064..86bf0d165 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/account/NewOrRecoverActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/account/NewOrRecoverActivity.java @@ -42,6 +42,7 @@ public class NewOrRecoverActivity extends BaseActivity implements startActivity(i); } + @Override public void recoverAccountChosen() { finish(); Intent i = new Intent(this, RecoverActivity.class); @@ -51,7 +52,8 @@ public class NewOrRecoverActivity extends BaseActivity implements } @Override + @Deprecated public void runOnDbThread(Runnable runnable) { - + throw new RuntimeException("Don't use this deprecated method here."); } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/ExplainerDismissedListener.java b/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/ExplainerDismissedListener.java new file mode 100644 index 000000000..9f59277f6 --- /dev/null +++ b/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/ExplainerDismissedListener.java @@ -0,0 +1,8 @@ +package org.briarproject.briar.android.socialbackup; + +import androidx.annotation.UiThread; + +public interface ExplainerDismissedListener { + @UiThread + void explainerDismissed(); +} diff --git a/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/OwnerRecoveryModeExplainerFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/OwnerRecoveryModeExplainerFragment.java index d21e3b9bc..9f6359956 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/OwnerRecoveryModeExplainerFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/OwnerRecoveryModeExplainerFragment.java @@ -1,5 +1,6 @@ package org.briarproject.briar.android.socialbackup; +import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; @@ -16,6 +17,7 @@ import androidx.annotation.Nullable; public class OwnerRecoveryModeExplainerFragment extends BaseFragment { + protected ExplainerDismissedListener listener; public static final String TAG = OwnerRecoveryModeExplainerFragment.class.getName(); @@ -32,14 +34,18 @@ public class OwnerRecoveryModeExplainerFragment extends BaseFragment { @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_recovery_owner_explainer, container, false); -// Button button = view.findViewById(R.id.button); -// button.setOnClickListener(e -> { -// listener.shardsSentDismissed(); -// }); + Button button = view.findViewById(R.id.beginButton); + button.setOnClickListener(e -> listener.explainerDismissed()); return view; } + @Override + public void onAttach(Context context) { + super.onAttach(context); + listener = (ExplainerDismissedListener) context; + } + @Override public void injectFragment(ActivityComponent component) { component.inject(this); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/RecoverActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/RecoverActivity.java index a4a4c3ff2..ca5c4c8e0 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/RecoverActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/RecoverActivity.java @@ -1,25 +1,42 @@ package org.briarproject.briar.android.socialbackup; import android.os.Bundle; +import android.widget.Toast; import org.briarproject.briar.R; import org.briarproject.briar.android.activity.ActivityComponent; +import org.briarproject.briar.android.activity.BaseActivity; import org.briarproject.briar.android.activity.BriarActivity; import org.briarproject.briar.android.fragment.BaseFragment; -public class RecoverActivity extends BriarActivity implements - BaseFragment.BaseFragmentListener { +public class RecoverActivity extends BaseActivity implements + BaseFragment.BaseFragmentListener, ExplainerDismissedListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_recover); - OwnerRecoveryModeExplainerFragment fragment = new OwnerRecoveryModeExplainerFragment(); showInitialFragment(fragment); } + @Override public void injectActivity(ActivityComponent component) { component.inject(this); } + + @Override + public void explainerDismissed () { + Toast.makeText(this, + "coming soon...", + Toast.LENGTH_SHORT).show(); + // TODO go to the next screen in the recover process + finish(); + } + + @Override + @Deprecated + public void runOnDbThread(Runnable runnable) { + throw new RuntimeException("Don't use this deprecated method here."); + } } diff --git a/briar-android/src/main/res/layout/fragment_recovery_owner_explainer.xml b/briar-android/src/main/res/layout/fragment_recovery_owner_explainer.xml index 3e6e8380a..3409ec942 100644 --- a/briar-android/src/main/res/layout/fragment_recovery_owner_explainer.xml +++ b/briar-android/src/main/res/layout/fragment_recovery_owner_explainer.xml @@ -34,7 +34,7 @@ app:srcCompat="@drawable/qr_code_intro" />