From ef05ecc342c096fb68554e685c700f0aaa36dde0 Mon Sep 17 00:00:00 2001 From: ameba23 Date: Fri, 25 Jun 2021 09:03:58 +0200 Subject: [PATCH] Clear partially recovered shards from shared preferences when recovered --- .../recover/OwnerReturnShardViewModel.java | 9 --------- .../recover/RestoreAccountViewModel.java | 12 +++++++++--- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/recover/OwnerReturnShardViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/recover/OwnerReturnShardViewModel.java index 33e64f43d..16d88a32d 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/recover/OwnerReturnShardViewModel.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/recover/OwnerReturnShardViewModel.java @@ -156,13 +156,6 @@ class OwnerReturnShardViewModel extends AndroidViewModel ioExecutor.execute(() -> { task.start(this, getWifiIpv4Address()); }); -// KeyAgreementTask oldTask = task; -// KeyAgreementTask newTask = keyAgreementTaskProvider.get(); -// task = newTask; -// ioExecutor.execute(() -> { -// if (oldTask != null) oldTask.stopListening(); -// newTask.listen(); -// }); } @UiThread @@ -230,9 +223,7 @@ class OwnerReturnShardViewModel extends AndroidViewModel this.state.postValue(state); }); } else if (state instanceof SecretOwnerTask.State.Success) { -// startClicked.setEvent(true); this.state.postValue(state); - // TODO do same for failure } else { this.state.postValue(state); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/recover/RestoreAccountViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/recover/RestoreAccountViewModel.java index beeaf22f4..a4fbc4cdf 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/recover/RestoreAccountViewModel.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/socialbackup/recover/RestoreAccountViewModel.java @@ -1,6 +1,8 @@ package org.briarproject.briar.android.socialbackup.recover; import android.app.Application; +import android.content.Context; +import android.content.SharedPreferences; import org.briarproject.bramble.api.account.AccountManager; import org.briarproject.bramble.api.contact.ContactManager; @@ -45,27 +47,27 @@ class RestoreAccountViewModel extends AndroidViewModel { new MutableLiveData<>(false); private final AccountManager accountManager; - private final ContactManager contactManager; private final Executor ioExecutor; private final PasswordStrengthEstimator strengthEstimator; private final DozeHelper dozeHelper; private final RestoreAccount restoreAccount; + private final SharedPreferences prefs; @Inject RestoreAccountViewModel(Application app, AccountManager accountManager, - ContactManager contactManager, RestoreAccount restoreAccount, @IoExecutor Executor ioExecutor, PasswordStrengthEstimator strengthEstimator, DozeHelper dozeHelper) { super(app); this.accountManager = accountManager; - this.contactManager = contactManager; this.ioExecutor = ioExecutor; this.strengthEstimator = strengthEstimator; this.dozeHelper = dozeHelper; this.restoreAccount = restoreAccount; + this.prefs = app.getSharedPreferences("account-recovery", + Context.MODE_PRIVATE); ioExecutor.execute(() -> { if (accountManager.accountExists()) { @@ -123,6 +125,10 @@ class RestoreAccountViewModel extends AndroidViewModel { LOG.warning("Cannot retrieve social backup"); state.postEvent(State.FAILED); } + + // Remove partial recovery from shared preferences + prefs.edit().clear().apply(); + state.postEvent(State.CREATED); } else { LOG.warning("Failed to create account");