From d91d2e007044a49d866eb6054182b403bc8f8bc6 Mon Sep 17 00:00:00 2001 From: ameba23 Date: Wed, 10 Mar 2021 10:17:55 +0100 Subject: [PATCH] listener for setup new account button --- .../android/account/NewOrRecoverActivity.java | 18 +++++++++++++++++- .../android/account/NewOrRecoverFragment.java | 14 ++++++++++++++ .../account/SetupNewAccountChosenListener.java | 8 ++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 briar-android/src/main/java/org/briarproject/briar/android/account/SetupNewAccountChosenListener.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 2a5558c05..f8f872b94 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 @@ -1,5 +1,6 @@ package org.briarproject.briar.android.account; +import android.content.Intent; import android.os.Bundle; import org.briarproject.briar.R; @@ -7,7 +8,13 @@ import org.briarproject.briar.android.activity.ActivityComponent; import org.briarproject.briar.android.activity.BaseActivity; import org.briarproject.briar.android.fragment.BaseFragment; -public class NewOrRecoverActivity extends BaseActivity implements BaseFragment.BaseFragmentListener { +import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK; +import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP; +import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; +import static android.content.Intent.FLAG_ACTIVITY_TASK_ON_HOME; + +public class NewOrRecoverActivity extends BaseActivity implements + BaseFragment.BaseFragmentListener, SetupNewAccountChosenListener { @Override public void injectActivity(ActivityComponent component) { @@ -24,6 +31,15 @@ public class NewOrRecoverActivity extends BaseActivity implements BaseFragment.B showInitialFragment(fragment); } + @Override + public void setupNewAccountChosen () { + finish(); + Intent i = new Intent(this, SetupActivity.class); + i.addFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP | + FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_TASK_ON_HOME); + startActivity(i); + } + @Override public void runOnDbThread(Runnable runnable) { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/account/NewOrRecoverFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/account/NewOrRecoverFragment.java index eaa53dea1..4ad91de57 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/account/NewOrRecoverFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/account/NewOrRecoverFragment.java @@ -1,9 +1,11 @@ package org.briarproject.briar.android.account; +import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.Button; import org.briarproject.briar.R; import org.briarproject.briar.android.activity.ActivityComponent; @@ -16,6 +18,8 @@ public class NewOrRecoverFragment extends BaseFragment { public static final String TAG = NewOrRecoverFragment.class.getName(); + protected SetupNewAccountChosenListener listener; + public static NewOrRecoverFragment newInstance() { Bundle bundle = new Bundle(); NewOrRecoverFragment fragment = new NewOrRecoverFragment(); @@ -34,9 +38,19 @@ public class NewOrRecoverFragment extends BaseFragment { ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_new_or_recover, container, false); + Button button = view.findViewById(R.id.buttonSetupNewAccount); + button.setOnClickListener(e -> { + listener.setupNewAccountChosen(); + }); return view; } + @Override + public void onAttach(Context context) { + super.onAttach(context); + listener = (SetupNewAccountChosenListener) context; + } + @Override public String getUniqueTag() { return TAG; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/account/SetupNewAccountChosenListener.java b/briar-android/src/main/java/org/briarproject/briar/android/account/SetupNewAccountChosenListener.java new file mode 100644 index 000000000..b404b7573 --- /dev/null +++ b/briar-android/src/main/java/org/briarproject/briar/android/account/SetupNewAccountChosenListener.java @@ -0,0 +1,8 @@ +package org.briarproject.briar.android.account; + +import androidx.annotation.UiThread; + +public interface SetupNewAccountChosenListener { + @UiThread + void setupNewAccountChosen(); +}