From 5d68a1654c88888c317af8efa893f5a79ffb6138 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 23 Sep 2018 05:18:12 +0000 Subject: [PATCH] Added export/import warnings --- .../java/eu/faircode/email/FragmentSetup.java | 50 ++++++++++++++++--- app/src/main/res/values/strings.xml | 4 +- 2 files changed, 45 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentSetup.java b/app/src/main/java/eu/faircode/email/FragmentSetup.java index f51f0facb3..955102f40c 100644 --- a/app/src/main/java/eu/faircode/email/FragmentSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentSetup.java @@ -369,17 +369,11 @@ public class FragmentSetup extends FragmentEx { return true; case R.id.menu_export: - if (Helper.isPro(getContext())) - startActivityForResult(getIntentExport(), ActivitySetup.REQUEST_EXPORT); - else { - FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); - fragmentTransaction.replace(R.id.content_frame, new FragmentPro()).addToBackStack("pro"); - fragmentTransaction.commit(); - } + onMenuExport(); return true; case R.id.menu_import: - startActivityForResult(getIntentImport(), ActivitySetup.REQUEST_IMPORT); + onMenuImport(); return true; case R.id.menu_privacy: @@ -433,6 +427,46 @@ public class FragmentSetup extends FragmentEx { fragmentTransaction.commit(); } + private void onMenuExport() { + if (Helper.isPro(getContext())) + new DialogBuilderLifecycle(getContext(), getViewLifecycleOwner()) + .setMessage(R.string.title_setup_export_do) + .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + try { + startActivityForResult(getIntentExport(), ActivitySetup.REQUEST_EXPORT); + } catch (Throwable ex) { + Log.e(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex)); + } + } + }) + .create() + .show(); + else { + FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); + fragmentTransaction.replace(R.id.content_frame, new FragmentPro()).addToBackStack("pro"); + fragmentTransaction.commit(); + } + } + + private void onMenuImport() { + new DialogBuilderLifecycle(getContext(), getViewLifecycleOwner()) + .setMessage(R.string.title_setup_import_do) + .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + try { + startActivityForResult(getIntentImport(), ActivitySetup.REQUEST_IMPORT); + } catch (Throwable ex) { + Log.e(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex)); + } + } + }) + .create() + .show(); + } + private void onMenuAbout() { FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.content_frame, new FragmentAbout()).addToBackStack("about"); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 92ae5d8b24..882dd7867f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -56,8 +56,10 @@ Edit folder Setup - Export settings (no passwords) + Export settings Import settings + Accounts and identities will be exported without passwords + Imported accounts will be added, not overwritten Settings exported Settings imported Manage accounts