From 3056949a921794bf3acc6204fc79a62ed6628357 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 11 Jan 2023 18:39:36 +0100 Subject: [PATCH] Revert "Replace export/import properties by view model" This reverts commit 373d20b1d6e109091ad57444c56dea1d9d20410f. --- .../java/eu/faircode/email/ActivitySetup.java | 69 ++++++++++++------- .../eu/faircode/email/ViewModelExport.java | 47 ------------- 2 files changed, 44 insertions(+), 72 deletions(-) delete mode 100644 app/src/main/java/eu/faircode/email/ViewModelExport.java diff --git a/app/src/main/java/eu/faircode/email/ActivitySetup.java b/app/src/main/java/eu/faircode/email/ActivitySetup.java index 9364d8af04..e83385d256 100644 --- a/app/src/main/java/eu/faircode/email/ActivitySetup.java +++ b/app/src/main/java/eu/faircode/email/ActivitySetup.java @@ -73,7 +73,6 @@ import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.Observer; -import androidx.lifecycle.ViewModelProvider; import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.DividerItemDecoration; @@ -133,6 +132,14 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac private RecyclerView rvMenu; private boolean hasAccount; + private String password; + private boolean import_accounts; + private boolean import_delete; + private boolean import_rules; + private boolean import_contacts; + private boolean import_answers; + private boolean import_searches; + private boolean import_settings; static final int REQUEST_SOUND_INBOUND = 1; static final int REQUEST_SOUND_OUTBOUND = 2; @@ -352,6 +359,14 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac if (savedInstanceState != null) { drawerToggle.setDrawerIndicatorEnabled(savedInstanceState.getBoolean("fair:toggle")); + password = savedInstanceState.getString("fair:password"); + import_accounts = savedInstanceState.getBoolean("fair:import_accounts"); + import_delete = savedInstanceState.getBoolean("fair:import_delete"); + import_rules = savedInstanceState.getBoolean("fair:import_rules"); + import_contacts = savedInstanceState.getBoolean("fair:import_contacts"); + import_answers = savedInstanceState.getBoolean("fair:import_answers"); + import_searches = savedInstanceState.getBoolean("fair:import_searches"); + import_settings = savedInstanceState.getBoolean("fair:import_settings"); } DB db = DB.getInstance(this); @@ -367,6 +382,14 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac @Override protected void onSaveInstanceState(Bundle outState) { outState.putBoolean("fair:toggle", drawerToggle == null || drawerToggle.isDrawerIndicatorEnabled()); + outState.putString("fair:password", password); + outState.putBoolean("fair:import_accounts", import_accounts); + outState.putBoolean("fair:import_delete", import_delete); + outState.putBoolean("fair:import_rules", import_rules); + outState.putBoolean("fair:import_contacts", import_contacts); + outState.putBoolean("fair:import_answers", import_answers); + outState.putBoolean("fair:import_searches", import_searches); + outState.putBoolean("fair:import_settings", import_settings); super.onSaveInstanceState(outState); } @@ -626,11 +649,9 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac } private void handleExport(Intent data) { - ViewModelExport vme = new ViewModelProvider(this).get(ViewModelExport.class); - Bundle args = new Bundle(); args.putParcelable("uri", data.getData()); - args.putString("password", vme.getPassword()); + args.putString("password", this.password); new SimpleTask() { private Toast toast = null; @@ -950,18 +971,16 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac Button ok = dialog.getButton(AlertDialog.BUTTON_POSITIVE); ok.setEnabled(false); - ViewModelExport vme = new ViewModelProvider(this).get(ViewModelExport.class); - Bundle args = new Bundle(); args.putParcelable("uri", uri); - args.putString("password", vme.getPassword()); - args.putBoolean("import_accounts", vme.getOption("accounts")); - args.putBoolean("import_delete", vme.getOption("delete")); - args.putBoolean("import_rules", vme.getOption("rules")); - args.putBoolean("import_contacts", vme.getOption("contacts")); - args.putBoolean("import_answers", vme.getOption("answers")); - args.putBoolean("import_searches", vme.getOption("searches")); - args.putBoolean("import_settings", vme.getOption("settings")); + args.putString("password", this.password); + args.putBoolean("import_accounts", this.import_accounts); + args.putBoolean("import_delete", this.import_delete); + args.putBoolean("import_rules", this.import_rules); + args.putBoolean("import_contacts", this.import_contacts); + args.putBoolean("import_answers", this.import_answers); + args.putBoolean("import_searches", this.import_searches); + args.putBoolean("import_settings", this.import_settings); new SimpleTask() { private SpannableStringBuilder ssb = new SpannableStringBuilder(); @@ -1986,8 +2005,8 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac .setPositiveButton(R.string.title_save_file, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - ViewModelExport vme = new ViewModelProvider(getActivity()).get(ViewModelExport.class); - vme.setPassword(tilPassword1.getEditText().getText().toString()); + ((ActivitySetup) getActivity()).password = + tilPassword1.getEditText().getText().toString(); getActivity().startActivityForResult( Helper.getChooser(context, getIntentExport()), REQUEST_EXPORT); } @@ -2095,15 +2114,15 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac if (TextUtils.isEmpty(password1) && !(debug || BuildConfig.DEBUG)) ToastEx.makeText(context, R.string.title_setup_password_missing, Toast.LENGTH_LONG).show(); else { - ViewModelExport vme = new ViewModelProvider(getActivity()).get(ViewModelExport.class); - vme.setPassword(password1); - vme.setOptions("accounts", cbAccounts.isChecked()); - vme.setOptions("delete", cbDelete.isChecked()); - vme.setOptions("rules", cbRules.isChecked()); - vme.setOptions("contacts", cbContacts.isChecked()); - vme.setOptions("answers", cbAnswers.isChecked()); - vme.setOptions("searches", cbSearches.isChecked()); - vme.setOptions("settings", cbSettings.isChecked()); + ActivitySetup activity = (ActivitySetup) getActivity(); + activity.password = password1; + activity.import_accounts = cbAccounts.isChecked(); + activity.import_delete = cbDelete.isChecked(); + activity.import_rules = cbRules.isChecked(); + activity.import_contacts = cbContacts.isChecked(); + activity.import_answers = cbAnswers.isChecked(); + activity.import_searches = cbSearches.isChecked(); + activity.import_settings = cbSettings.isChecked(); getActivity().startActivityForResult( Helper.getChooser(context, getIntentImport()), REQUEST_IMPORT); } diff --git a/app/src/main/java/eu/faircode/email/ViewModelExport.java b/app/src/main/java/eu/faircode/email/ViewModelExport.java deleted file mode 100644 index 0375d2dbf1..0000000000 --- a/app/src/main/java/eu/faircode/email/ViewModelExport.java +++ /dev/null @@ -1,47 +0,0 @@ -package eu.faircode.email; - -/* - This file is part of FairEmail. - - FairEmail is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - FairEmail is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with FairEmail. If not, see . - - Copyright 2018-2023 by Marcel Bokhorst (M66B) -*/ - -import androidx.lifecycle.ViewModel; - -import java.util.HashMap; -import java.util.Map; - -public class ViewModelExport extends ViewModel { - private String password = null; - private final Map options = new HashMap<>(); - - public void setPassword(String password) { - this.password = password; - } - - public void setOptions(String name, boolean value) { - options.put(name, value); - } - - public String getPassword() { - return password; - } - - public boolean getOption(String name) { - Boolean value = options.get(name); - return (value != null && value); - } -}