diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java index 685c3e2465..1da2241949 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java @@ -45,9 +45,6 @@ import androidx.constraintlayout.widget.Group; import androidx.preference.PreferenceManager; public class FragmentOptionsMisc extends FragmentBase implements SharedPreferences.OnSharedPreferenceChangeListener { - private SwitchCompat swSubscriptions; - private TextView tvSubscriptionPro; - private SwitchCompat swSubscribedOnly; private Spinner spBiometricsTimeout; private SwitchCompat swDoubleBack; private SwitchCompat swEnglish; @@ -65,7 +62,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc private Group grpDebug; private final static String[] RESET_OPTIONS = new String[]{ - "subscriptions", "subscribed_only", "biometrics_timeout", "double_back", "english", "watchdog", "updates", "crash_reports", "debug" + "biometrics_timeout", "double_back", "english", "watchdog", "updates", "crash_reports", "debug" }; private final static String[] RESET_QUESTIONS = new String[]{ @@ -82,9 +79,6 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc // Get controls - swSubscriptions = view.findViewById(R.id.swSubscriptions); - tvSubscriptionPro = view.findViewById(R.id.tvSubscriptionPro); - swSubscribedOnly = view.findViewById(R.id.swSubscribedOnly); spBiometricsTimeout = view.findViewById(R.id.spBiometricsTimeout); swDoubleBack = view.findViewById(R.id.swDoubleBack); swEnglish = view.findViewById(R.id.swEnglish); @@ -107,23 +101,6 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); - swSubscriptions.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { - prefs.edit().putBoolean("subscriptions", checked).apply(); - } - }); - - Helper.linkPro(tvSubscriptionPro); - - swSubscribedOnly.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { - prefs.edit().putBoolean("subscribed_only", checked).apply(); - ServiceSynchronize.reload(getContext(), "subscribed_only"); - } - }); - spBiometricsTimeout.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView adapterView, View view, int position, long id) { @@ -277,11 +254,6 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc private void setOptions() { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); - boolean pro = ActivityBilling.isPro(getContext()); - swSubscriptions.setChecked(prefs.getBoolean("subscriptions", false) && pro); - swSubscriptions.setEnabled(pro); - swSubscribedOnly.setChecked(prefs.getBoolean("subscribed_only", false)); - int biometrics_timeout = prefs.getInt("biometrics_timeout", 2); int[] biometricTimeoutValues = getResources().getIntArray(R.array.biometricsTimeoutValues); for (int pos = 0; pos < biometricTimeoutValues.length; pos++) diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java index 25afdc59f8..0a5f6dab1f 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java @@ -59,11 +59,14 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr private SwitchCompat swDeleteUnseen; private SwitchCompat swSyncKept; private SwitchCompat swSyncFolders; + private SwitchCompat swSubscriptions; + private TextView tvSubscriptionPro; + private SwitchCompat swSubscribedOnly; private SwitchCompat swCheckMx; private final static String[] RESET_OPTIONS = new String[]{ "enabled", "poll_interval", "schedule", "schedule_start", "schedule_end", - "sync_unseen", "sync_flagged", "delete_unseen", "sync_kept", "sync_folders", "check_mx" + "sync_unseen", "sync_flagged", "delete_unseen", "sync_kept", "sync_folders", "subscriptions", "subscribed_only", "check_mx" }; @Override @@ -87,6 +90,9 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr swDeleteUnseen = view.findViewById(R.id.swDeleteUnseen); swSyncKept = view.findViewById(R.id.swSyncKept); swSyncFolders = view.findViewById(R.id.swSyncFolders); + swSubscriptions = view.findViewById(R.id.swSubscriptions); + tvSubscriptionPro = view.findViewById(R.id.tvSubscriptionPro); + swSubscribedOnly = view.findViewById(R.id.swSubscribedOnly); swCheckMx = view.findViewById(R.id.swCheckMx); setOptions(); @@ -201,6 +207,23 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr } }); + swSubscriptions.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("subscriptions", checked).apply(); + } + }); + + Helper.linkPro(tvSubscriptionPro); + + swSubscribedOnly.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("subscribed_only", checked).apply(); + ServiceSynchronize.reload(getContext(), "subscribed_only"); + } + }); + swCheckMx.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { @@ -252,6 +275,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr private void setOptions() { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); + boolean pro = ActivityBilling.isPro(getContext()); swEnabled.setChecked(prefs.getBoolean("enabled", true)); @@ -264,7 +288,6 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr break; } - boolean pro = ActivityBilling.isPro(getContext()); swSchedule.setChecked(prefs.getBoolean("schedule", false) && pro); swSchedule.setEnabled(pro); tvScheduleStart.setText(formatHour(getContext(), prefs.getInt("schedule_start", 0))); @@ -275,6 +298,9 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr swDeleteUnseen.setChecked(prefs.getBoolean("delete_unseen", false)); swSyncKept.setChecked(prefs.getBoolean("sync_kept", true)); swSyncFolders.setChecked(prefs.getBoolean("sync_folders", true)); + swSubscriptions.setChecked(prefs.getBoolean("subscriptions", false) && pro); + swSubscriptions.setEnabled(pro); + swSubscribedOnly.setChecked(prefs.getBoolean("subscribed_only", false)); swCheckMx.setChecked(prefs.getBoolean("check_mx", false)); } diff --git a/app/src/main/res/layout/fragment_options_misc.xml b/app/src/main/res/layout/fragment_options_misc.xml index 5bed70ce0f..ab7f5c14f8 100644 --- a/app/src/main/res/layout/fragment_options_misc.xml +++ b/app/src/main/res/layout/fragment_options_misc.xml @@ -19,64 +19,17 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - - - - - - - - + app:layout_constraintTop_toTopOf="parent" /> + + + + + + + +