diff --git a/app/src/main/java/org/gnucash/android/ui/account/AccountsListFragment.java b/app/src/main/java/org/gnucash/android/ui/account/AccountsListFragment.java index d099027d2..a83ab10bc 100644 --- a/app/src/main/java/org/gnucash/android/ui/account/AccountsListFragment.java +++ b/app/src/main/java/org/gnucash/android/ui/account/AccountsListFragment.java @@ -64,6 +64,7 @@ import org.gnucash.android.ui.util.AccountBalanceTask; import org.gnucash.android.ui.util.CursorRecyclerAdapter; import org.gnucash.android.ui.util.widget.EmptyRecyclerView; +import org.gnucash.android.util.BackupManager; import java.util.List; @@ -247,6 +248,7 @@ public void tryDeleteAccount(long rowId) { if (acc.getTransactionCount() > 0 || mAccountsDbAdapter.getSubAccountCount(acc.getUID()) > 0) { showConfirmationDialog(rowId); } else { + BackupManager.backupActiveBook(); // Avoid calling AccountsDbAdapter.deleteRecord(long). See #654 String uid = mAccountsDbAdapter.getUID(rowId); mAccountsDbAdapter.deleteRecord(uid); diff --git a/app/src/main/java/org/gnucash/android/ui/account/DeleteAccountDialogFragment.java b/app/src/main/java/org/gnucash/android/ui/account/DeleteAccountDialogFragment.java index bc84ac4e1..4d5f6c551 100644 --- a/app/src/main/java/org/gnucash/android/ui/account/DeleteAccountDialogFragment.java +++ b/app/src/main/java/org/gnucash/android/ui/account/DeleteAccountDialogFragment.java @@ -39,6 +39,7 @@ import org.gnucash.android.model.AccountType; import org.gnucash.android.ui.common.Refreshable; import org.gnucash.android.ui.homescreen.WidgetConfigurationActivity; +import org.gnucash.android.util.BackupManager; import org.gnucash.android.util.QualifiedAccountNameCursorAdapter; import java.util.List; @@ -209,6 +210,7 @@ public void onClick(View v) { @Override public void onClick(View v) { + BackupManager.backupActiveBook(); AccountsDbAdapter accountsDbAdapter = AccountsDbAdapter.getInstance();