diff --git a/app/src/main/java/org/gnucash/android/app/GnuCashApplication.java b/app/src/main/java/org/gnucash/android/app/GnuCashApplication.java index 9539f838f..8d9b5c150 100644 --- a/app/src/main/java/org/gnucash/android/app/GnuCashApplication.java +++ b/app/src/main/java/org/gnucash/android/app/GnuCashApplication.java @@ -455,6 +455,18 @@ public static boolean shouldBackupTransactions(Context context) { return sharedPrefs.getBoolean(context.getString(R.string.key_delete_transaction_backup), true); } + /** + * Returns true if setting is enabled to backup the book before importing a book, + * false otherwise. + * + * @param context The context. + * @return true if the book should be backed-up. + */ + public static boolean shouldBackupForImport(Context context) { + SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); + return sharedPrefs.getBoolean(context.getString(R.string.key_import_book_backup), true); + } + /** * Get the default transaction type. * diff --git a/app/src/main/java/org/gnucash/android/ui/account/AccountsActivity.java b/app/src/main/java/org/gnucash/android/ui/account/AccountsActivity.java index 0b96bcf76..c61333457 100644 --- a/app/src/main/java/org/gnucash/android/ui/account/AccountsActivity.java +++ b/app/src/main/java/org/gnucash/android/ui/account/AccountsActivity.java @@ -498,7 +498,8 @@ public static void startXmlFileChooser(Fragment fragment) { * @param onFinishTask Task to be executed when import is complete */ public static void importXmlFileFromIntent(Activity context, Intent data, TaskDelegate onFinishTask) { - new ImportAsyncTask(context, onFinishTask, true).execute(data.getData()); + boolean backup = GnuCashApplication.shouldBackupForImport(context); + new ImportAsyncTask(context, onFinishTask, backup).execute(data.getData()); } /** diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index b73e12e04..5d2fca5ab 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -38,6 +38,7 @@ backup_location export_accounts_csv_key delete_transaction_backup + import_book_backup gnucash_pocket_backup.gnca diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ee465587a..8f188c54a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -248,8 +248,10 @@ Enable DropBox Enable ownCloud Backup - When delete transaction? - Backup active book when delete a transaction? + When deleting a transaction? + Backup the active book before deleting a transaction? + When importing a book? + Backup the active book before importing a book? Enable exporting to DropBox Enable exporting to ownCloud Backup Preferences diff --git a/app/src/main/res/xml/fragment_backup_preferences.xml b/app/src/main/res/xml/fragment_backup_preferences.xml index 15e51918d..82c6f83d9 100644 --- a/app/src/main/res/xml/fragment_backup_preferences.xml +++ b/app/src/main/res/xml/fragment_backup_preferences.xml @@ -50,6 +50,12 @@ android:key="@string/key_delete_transaction_backup" android:summary="@string/summary_delete_transaction_backup" android:title="@string/title_delete_transaction_backup" /> + +