diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java
index caa731d299..b504c6b1f8 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java
@@ -52,14 +52,6 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
private Button btnManage;
private Button btnManageDefault;
private Button btnManageService;
- private SwitchCompat swBadge;
- private SwitchCompat swUnseenIgnored;
- private SwitchCompat swNotifySummary;
- private SwitchCompat swNotifyRemove;
- private SwitchCompat swNotifyClear;
- private SwitchCompat swNotifyPreview;
- private SwitchCompat swNotifyPreviewAll;
- private SwitchCompat swWearablePreview;
private CheckBox cbNotifyActionTrash;
private CheckBox cbNotifyActionJunk;
private CheckBox cbNotifyActionArchive;
@@ -70,9 +62,18 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
private CheckBox cbNotifyActionSeen;
private CheckBox cbNotifyActionSnooze;
private TextView tvNotifyActionsPro;
- private SwitchCompat swBiometricsNotify;
private SwitchCompat swLight;
private Button btnSound;
+
+ private SwitchCompat swBadge;
+ private SwitchCompat swUnseenIgnored;
+ private SwitchCompat swNotifySummary;
+ private SwitchCompat swNotifyRemove;
+ private SwitchCompat swNotifyClear;
+ private SwitchCompat swNotifyPreview;
+ private SwitchCompat swNotifyPreviewAll;
+ private SwitchCompat swWearablePreview;
+ private SwitchCompat swBiometricsNotify;
private SwitchCompat swAlertOnce;
private TextView tvNoGrouping;
private TextView tvNoChannels;
@@ -81,13 +82,14 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
private Group grpNotification;
private final static String[] RESET_OPTIONS = new String[]{
- "badge", "unseen_ignored",
- "notify_summary", "notify_remove", "notify_clear", "notify_preview", "notify_preview_all", "wearable_preview",
"notify_trash", "notify_junk", "notify_archive", "notify_move",
"notify_reply", "notify_reply_direct",
"notify_flag", "notify_seen", "notify_snooze",
+ "light", "sound",
+ "badge", "unseen_ignored",
+ "notify_summary", "notify_remove", "notify_clear", "notify_preview", "notify_preview_all", "wearable_preview",
"biometrics_notify",
- "light", "sound", "alert_once"
+ "alert_once"
};
@Override
@@ -103,14 +105,6 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
btnManage = view.findViewById(R.id.btnManage);
btnManageDefault = view.findViewById(R.id.btnManageDefault);
btnManageService = view.findViewById(R.id.btnManageService);
- swBadge = view.findViewById(R.id.swBadge);
- swUnseenIgnored = view.findViewById(R.id.swUnseenIgnored);
- swNotifySummary = view.findViewById(R.id.swNotifySummary);
- swNotifyRemove = view.findViewById(R.id.swNotifyRemove);
- swNotifyClear = view.findViewById(R.id.swNotifyClear);
- swNotifyPreview = view.findViewById(R.id.swNotifyPreview);
- swNotifyPreviewAll = view.findViewById(R.id.swNotifyPreviewAll);
- swWearablePreview = view.findViewById(R.id.swWearablePreview);
cbNotifyActionTrash = view.findViewById(R.id.cbNotifyActionTrash);
cbNotifyActionJunk = view.findViewById(R.id.cbNotifyActionJunk);
cbNotifyActionArchive = view.findViewById(R.id.cbNotifyActionArchive);
@@ -121,9 +115,18 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
cbNotifyActionSeen = view.findViewById(R.id.cbNotifyActionSeen);
cbNotifyActionSnooze = view.findViewById(R.id.cbNotifyActionSnooze);
tvNotifyActionsPro = view.findViewById(R.id.tvNotifyActionsPro);
- swBiometricsNotify = view.findViewById(R.id.swBiometricsNotify);
swLight = view.findViewById(R.id.swLight);
btnSound = view.findViewById(R.id.btnSound);
+
+ swBadge = view.findViewById(R.id.swBadge);
+ swUnseenIgnored = view.findViewById(R.id.swUnseenIgnored);
+ swNotifySummary = view.findViewById(R.id.swNotifySummary);
+ swNotifyRemove = view.findViewById(R.id.swNotifyRemove);
+ swNotifyClear = view.findViewById(R.id.swNotifyClear);
+ swNotifyPreview = view.findViewById(R.id.swNotifyPreview);
+ swNotifyPreviewAll = view.findViewById(R.id.swNotifyPreviewAll);
+ swWearablePreview = view.findViewById(R.id.swWearablePreview);
+ swBiometricsNotify = view.findViewById(R.id.swBiometricsNotify);
swAlertOnce = view.findViewById(R.id.swAlertOnce);
tvNoGrouping = view.findViewById(R.id.tvNoGrouping);
tvNoChannels = view.findViewById(R.id.tvNoChannels);
@@ -175,64 +178,6 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
}
});
- swBadge.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
- prefs.edit().putBoolean("badge", checked).apply();
- }
- });
-
- swUnseenIgnored.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
- prefs.edit().putBoolean("unseen_ignored", checked).apply();
- }
- });
-
- swNotifySummary.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
- prefs.edit().putBoolean("notify_summary", checked).apply();
- enableOptions();
- }
- });
-
- swNotifyRemove.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
- prefs.edit().putBoolean("notify_remove", checked).apply();
- }
- });
-
- swNotifyClear.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
- prefs.edit().putBoolean("notify_clear", checked).apply();
- }
- });
-
- swNotifyPreview.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
- prefs.edit().putBoolean("notify_preview", checked).apply();
- enableOptions();
- }
- });
-
- swNotifyPreviewAll.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
- prefs.edit().putBoolean("notify_preview_all", checked).apply();
- }
- });
-
- swWearablePreview.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
- prefs.edit().putBoolean("wearable_preview", checked).apply();
- }
- });
-
cbNotifyActionTrash.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean checked) {
@@ -298,13 +243,6 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
Helper.linkPro(tvNotifyActionsPro);
- swBiometricsNotify.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
- prefs.edit().putBoolean("biometrics_notify", checked).apply();
- }
- });
-
swLight.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@@ -326,6 +264,71 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
}
});
+ swBadge.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("badge", checked).apply();
+ }
+ });
+
+ swUnseenIgnored.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("unseen_ignored", checked).apply();
+ }
+ });
+
+ swNotifySummary.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("notify_summary", checked).apply();
+ enableOptions();
+ }
+ });
+
+ swNotifyRemove.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("notify_remove", checked).apply();
+ }
+ });
+
+ swNotifyClear.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("notify_clear", checked).apply();
+ }
+ });
+
+ swNotifyPreview.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("notify_preview", checked).apply();
+ enableOptions();
+ }
+ });
+
+ swNotifyPreviewAll.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("notify_preview_all", checked).apply();
+ }
+ });
+
+ swWearablePreview.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("wearable_preview", checked).apply();
+ }
+ });
+
+ swBiometricsNotify.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("biometrics_notify", checked).apply();
+ }
+ });
+
swAlertOnce.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@@ -393,15 +396,6 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
boolean pro = ActivityBilling.isPro(getContext());
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
- swBadge.setChecked(prefs.getBoolean("badge", true));
- swUnseenIgnored.setChecked(prefs.getBoolean("unseen_ignored", false));
- swNotifySummary.setChecked(prefs.getBoolean("notify_summary", false));
- swNotifyRemove.setChecked(prefs.getBoolean("notify_remove", true));
- swNotifyClear.setChecked(prefs.getBoolean("notify_clear", false));
- swNotifyPreview.setChecked(prefs.getBoolean("notify_preview", true));
- swNotifyPreviewAll.setChecked(prefs.getBoolean("notify_preview_all", false));
- swWearablePreview.setChecked(prefs.getBoolean("wearable_preview", false));
-
cbNotifyActionTrash.setChecked(prefs.getBoolean("notify_trash", true) || !pro);
cbNotifyActionJunk.setChecked(prefs.getBoolean("notify_junk", false) && pro);
cbNotifyActionArchive.setChecked(prefs.getBoolean("notify_archive", true) || !pro);
@@ -411,10 +405,17 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
cbNotifyActionFlag.setChecked(prefs.getBoolean("notify_flag", false) && pro);
cbNotifyActionSeen.setChecked(prefs.getBoolean("notify_seen", true) || !pro);
cbNotifyActionSnooze.setChecked(prefs.getBoolean("notify_snooze", false) && pro);
+ swLight.setChecked(prefs.getBoolean("light", false));
+ swBadge.setChecked(prefs.getBoolean("badge", true));
+ swUnseenIgnored.setChecked(prefs.getBoolean("unseen_ignored", false));
+ swNotifySummary.setChecked(prefs.getBoolean("notify_summary", false));
+ swNotifyRemove.setChecked(prefs.getBoolean("notify_remove", true));
+ swNotifyClear.setChecked(prefs.getBoolean("notify_clear", false));
+ swNotifyPreview.setChecked(prefs.getBoolean("notify_preview", true));
+ swNotifyPreviewAll.setChecked(prefs.getBoolean("notify_preview_all", false));
+ swWearablePreview.setChecked(prefs.getBoolean("wearable_preview", false));
swBiometricsNotify.setChecked(prefs.getBoolean("biometrics_notify", false));
-
- swLight.setChecked(prefs.getBoolean("light", false));
swAlertOnce.setChecked(!prefs.getBoolean("alert_once", true));
enableOptions();
@@ -424,9 +425,6 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
boolean pro = ActivityBilling.isPro(getContext());
boolean summary = swNotifySummary.isChecked();
- swNotifyPreview.setEnabled(!summary);
- swNotifyPreviewAll.setEnabled(!summary && swNotifyPreview.isChecked());
- swWearablePreview.setEnabled(!summary && swNotifyPreview.isChecked());
cbNotifyActionTrash.setEnabled(pro && !summary);
cbNotifyActionJunk.setEnabled(pro && !summary);
cbNotifyActionArchive.setEnabled(pro && !summary);
@@ -436,6 +434,9 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared
cbNotifyActionFlag.setEnabled(pro && !summary);
cbNotifyActionSeen.setEnabled(pro && !summary);
cbNotifyActionSnooze.setEnabled(pro && !summary);
+ swNotifyPreview.setEnabled(!summary);
+ swNotifyPreviewAll.setEnabled(!summary && swNotifyPreview.isChecked());
+ swWearablePreview.setEnabled(!summary && swNotifyPreview.isChecked());
swBiometricsNotify.setEnabled(!summary);
}
diff --git a/app/src/main/res/layout/fragment_options_notifications.xml b/app/src/main/res/layout/fragment_options_notifications.xml
index 1ad93c9bf7..c204940d87 100644
--- a/app/src/main/res/layout/fragment_options_notifications.xml
+++ b/app/src/main/res/layout/fragment_options_notifications.xml
@@ -100,6 +100,172 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/btnManageService" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-