From be8e5c4bf2a09760ab0613c3772f990c470969e8 Mon Sep 17 00:00:00 2001 From: ameba23 Date: Fri, 27 Aug 2021 12:30:10 +0200 Subject: [PATCH] When creating social backup, only allow selecting contacts when there are at least 2 contacts in contact list --- .../DistributedBackupActivity.java | 18 ++++++++++++++++++ briar-android/src/main/res/values/strings.xml | 3 +++ 2 files changed, 21 insertions(+) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/DistributedBackupActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/DistributedBackupActivity.java index 593670034..aa9f48275 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/DistributedBackupActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/DistributedBackupActivity.java @@ -4,6 +4,7 @@ import android.os.Bundle; import android.widget.Toast; import org.briarproject.bramble.api.contact.ContactId; +import org.briarproject.bramble.api.contact.ContactManager; import org.briarproject.bramble.api.db.DatabaseComponent; import org.briarproject.bramble.api.db.DbException; import org.briarproject.briar.R; @@ -29,6 +30,9 @@ public class DistributedBackupActivity extends BriarActivity implements @Inject public SocialBackupManager socialBackupManager; + @Inject + public ContactManager contactManager; + @Inject public DatabaseComponent db; @@ -52,6 +56,20 @@ public class DistributedBackupActivity extends BriarActivity implements showInitialFragment(fragment); }); } catch (DbException e) { + // Check the number of contacts in the contacts list > 1 + try { + if (contactManager.getContacts().size() < 2) { + Toast.makeText(this, + R.string.social_backup_not_enough_contacts, + Toast.LENGTH_LONG).show(); + finish(); + } + } catch (DbException dbException) { + Toast.makeText(this, + R.string.reading_contacts_error, + Toast.LENGTH_LONG).show(); + finish(); + } CustodianSelectorFragment fragment = CustodianSelectorFragment.newInstance(); showInitialFragment(fragment); diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml index 0d6560783..3d4390b41 100644 --- a/briar-android/src/main/res/values/strings.xml +++ b/briar-android/src/main/res/values/strings.xml @@ -729,4 +729,7 @@ Recover Account Help recover account %d of the following contacts are needed to restore your account: + + To make a social backup, you need at least 2 contacts in your contacts list + There was an error reading your contacts list