diff --git a/briar-android/src/main/AndroidManifest.xml b/briar-android/src/main/AndroidManifest.xml
index 30f3ab4a4..e4e606166 100644
--- a/briar-android/src/main/AndroidManifest.xml
+++ b/briar-android/src/main/AndroidManifest.xml
@@ -134,6 +134,15 @@
+
+
+
+
{
+ listener.setupNewAccountChosen();
+ });
+ return view;
+ }
+
+ @Override
+ public void onAttach(Context context) {
+ super.onAttach(context);
+ listener = (SetupNewAccountChosenListener) context;
+ }
+
+ @Override
+ public String getUniqueTag() {
+ return TAG;
+ }
+
+ @Override
+ public void injectFragment(ActivityComponent component) {
+ component.inject(this);
+ }
+}
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();
+}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/activity/ActivityComponent.java b/briar-android/src/main/java/org/briarproject/briar/android/activity/ActivityComponent.java
index 836452a60..d90007f79 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/activity/ActivityComponent.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/activity/ActivityComponent.java
@@ -7,6 +7,8 @@ import org.briarproject.briar.android.AndroidComponent;
import org.briarproject.briar.android.StartupFailureActivity;
import org.briarproject.briar.android.account.AuthorNameFragment;
import org.briarproject.briar.android.account.DozeFragment;
+import org.briarproject.briar.android.account.NewOrRecoverActivity;
+import org.briarproject.briar.android.account.NewOrRecoverFragment;
import org.briarproject.briar.android.account.SetPasswordFragment;
import org.briarproject.briar.android.account.SetupActivity;
import org.briarproject.briar.android.account.UnlockActivity;
@@ -89,6 +91,7 @@ import org.briarproject.briar.android.socialbackup.creation.CreateBackupControll
import org.briarproject.briar.android.socialbackup.creation.CreateBackupModule;
import org.briarproject.briar.android.splash.SplashScreenActivity;
import org.briarproject.briar.android.test.TestDataActivity;
+import org.h2.util.New;
import dagger.Component;
@@ -193,6 +196,8 @@ public interface ActivityComponent {
void inject(CrashReportActivity crashReportActivity);
+ void inject(NewOrRecoverActivity newOrRecoverActivity);
+
// Fragments
void inject(AuthorNameFragment fragment);
@@ -263,5 +268,7 @@ public interface ActivityComponent {
void inject(ExistingBackupFragment existingBackupFragment);
+ void inject(NewOrRecoverFragment newOrRecoverFragment);
+
void inject(OldDistributedBackupActivity oldDistributedBackupActivity);
}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/StartupActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/login/StartupActivity.java
index faf469c28..0303d7447 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/login/StartupActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/login/StartupActivity.java
@@ -7,6 +7,7 @@ import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
import org.briarproject.briar.R;
import org.briarproject.briar.android.BriarService;
+import org.briarproject.briar.android.account.NewOrRecoverActivity;
import org.briarproject.briar.android.account.SetupActivity;
import org.briarproject.briar.android.activity.ActivityComponent;
import org.briarproject.briar.android.activity.BaseActivity;
@@ -107,7 +108,7 @@ public class StartupActivity extends BaseActivity implements
private void onAccountDeleted() {
setResult(RESULT_CANCELED);
finish();
- Intent i = new Intent(this, SetupActivity.class);
+ Intent i = new Intent(this, NewOrRecoverActivity.class);
i.addFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP |
FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_TASK_ON_HOME);
startActivity(i);
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/ShardsSentFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/ShardsSentFragment.java
index bfac28d3f..79d3d56a5 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/ShardsSentFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/ShardsSentFragment.java
@@ -3,9 +3,6 @@ package org.briarproject.briar.android.socialbackup;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
@@ -17,8 +14,6 @@ import org.briarproject.briar.android.fragment.BaseFragment;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import static java.util.Objects.requireNonNull;
-
public class ShardsSentFragment extends BaseFragment {
public static final String TAG = ShardsSentFragment.class.getName();
diff --git a/briar-android/src/main/res/layout/fragment_new_or_recover.xml b/briar-android/src/main/res/layout/fragment_new_or_recover.xml
new file mode 100644
index 000000000..ad5ec624b
--- /dev/null
+++ b/briar-android/src/main/res/layout/fragment_new_or_recover.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml
index 2504b385f..9caff706b 100644
--- a/briar-android/src/main/res/values/strings.xml
+++ b/briar-android/src/main/res/values/strings.xml
@@ -716,4 +716,5 @@
You have received a social backup shard.
You have sent a social backup shard.
+ Create new account or recover existing account