Added Outlook categories option

pull/217/head
M66B 7 months ago
parent 9b16d5af29
commit 0b141cd4c8

@ -4594,11 +4594,11 @@ class Core {
List<EntityRule> rules, State state, SyncStats stats) throws MessagingException, IOException {
DB db = DB.getInstance(context);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean outlook_categories = prefs.getBoolean("outlook_categories", false);
boolean download_headers = prefs.getBoolean("download_headers", false);
boolean download_plain = prefs.getBoolean("download_plain", false);
boolean notify_known = prefs.getBoolean("notify_known", false);
boolean native_dkim = prefs.getBoolean("native_dkim", false);
boolean strict_alignment = prefs.getBoolean("strict_alignment", false);
boolean experiments = prefs.getBoolean("experiments", false);
boolean mdn = prefs.getBoolean("mdn", experiments);
boolean pro = ActivityBilling.isPro(context);
@ -4627,7 +4627,7 @@ class Core {
boolean flagged = helper.getFlagged();
boolean deleted = helper.getDeleted();
String flags = helper.getFlags();
String[] keywords = helper.getKeywords(account.isOutlook());
String[] keywords = helper.getKeywords(outlook_categories && account.isOutlook());
String[] labels = helper.getLabels();
boolean update = false;
boolean process = false;

@ -100,6 +100,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
private SwitchCompat swOutlookThread;
private SwitchCompat swSubjectThreading;
private TextView tvSubjectThreading;
private SwitchCompat swOutlookCategories;
private SwitchCompat swSyncFolders;
private SwitchCompat swSyncFoldersPoll;
private SwitchCompat swSyncSharedFolders;
@ -132,7 +133,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
"schedule", "schedule_start", "schedule_end", "schedule_start_weekend", "schedule_end_weekend", "weekend",
"sync_quick_imap", "sync_quick_pop",
"sync_nodate", "sync_unseen", "sync_flagged", "delete_unseen", "sync_kept",
"gmail_thread_id", "outlook_thread_id", "subject_threading",
"gmail_thread_id", "outlook_thread_id", "subject_threading", "outlook_categories",
"sync_folders", "sync_folders_poll", "sync_shared_folders", "sync_added_folders", "subscriptions",
"check_authentication", "check_tls", "check_reply_domain", "check_mx",
"check_blocklist", "use_blocklist", "use_blocklist_pop",
@ -202,6 +203,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
swOutlookThread = view.findViewById(R.id.swOutlookThread);
swSubjectThreading = view.findViewById(R.id.swSubjectThreading);
tvSubjectThreading = view.findViewById(R.id.tvSubjectThreading);
swOutlookCategories = view.findViewById(R.id.swOutlookCategories);
swSyncFolders = view.findViewById(R.id.swSyncFolders);
swSyncFoldersPoll = view.findViewById(R.id.swSyncFoldersPoll);
swSyncSharedFolders = view.findViewById(R.id.swSyncSharedFolders);
@ -456,6 +458,13 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
}
});
swOutlookCategories.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("outlook_categories", checked).apply();
}
});
swSyncFolders.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@ -690,6 +699,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
swOutlookThread.setChecked(prefs.getBoolean("outlook_thread_id", false));
swSubjectThreading.setChecked(prefs.getBoolean("subject_threading", false));
swSubjectThreading.setEnabled(!swGmailThread.isChecked() && !swOutlookThread.isChecked());
swOutlookCategories.setChecked(prefs.getBoolean("outlook_categories", false));
swSyncFolders.setChecked(prefs.getBoolean("sync_folders", true));
swSyncFoldersPoll.setChecked(prefs.getBoolean("sync_folders_poll", false));
swSyncFoldersPoll.setEnabled(swSyncFolders.isChecked());

@ -825,6 +825,29 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/swSubjectThreading" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/swOutlookCategories"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/title_advanced_outlook_categories"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvSubjectThreading"
app:switchPadding="12dp" />
<TextView
android:id="@+id/tvOutlookCategories"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="48dp"
android:text="@string/title_advanced_outlook_categories_hint"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textStyle="italic"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/swOutlookCategories" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/swSyncFolders"
android:layout_width="0dp"
@ -834,7 +857,7 @@
android:text="@string/title_advanced_sync_folders"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvSubjectThreading"
app:layout_constraintTop_toBottomOf="@id/tvOutlookCategories"
app:switchPadding="12dp" />
<TextView

@ -455,6 +455,7 @@
<string name="title_advanced_gmail_thread">Gmail message grouping style for Gmail accounts</string>
<string name="title_advanced_outlook_thread" translatable="false">Use Outlook thread index</string>
<string name="title_advanced_subject_threading">Group messages by sender and subject</string>
<string name="title_advanced_outlook_categories">Synchronize Outlook categories</string>
<string name="title_advanced_sync_folders">Synchronize folder list</string>
<string name="title_advanced_sync_folders_poll">Actively synchronize folder list</string>
<string name="title_advanced_sync_shared_folders">Synchronize shared folder lists</string>
@ -1069,6 +1070,7 @@
<string name="title_advanced_sync_kept_hint">This will transfer extra data and consume extra battery power, especially if a lot of messages are stored on the device</string>
<string name="title_advanced_gmail_thread_hint">This only applies to newly received messages and can break existing groups</string>
<string name="title_advanced_subject_threading_hint">Only messages received in the last %1$d hours</string>
<string name="title_advanced_outlook_categories_hint">Outlook categories can only be fetched and cannot refresh automatically due to Outlook IMAP server limitations</string>
<string name="title_advanced_sync_folders_hint">Disabling this will reduce data and battery usage somewhat, but will disable updating the list of folders too</string>
<string name="title_advanced_poll_folders_hint">Periodically synchronize the folder list in addition to after connecting to an account</string>
<string name="title_advanced_check_authentication_hint">This will check the results of DKIM, SPF and DMARC authentication as performed by the email server</string>

Loading…
Cancel
Save