Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 9cf974bc authored by cketti's avatar cketti Committed by GitHub
Browse files

Merge pull request #7130 from thundernest/move_subscribed_folders_setting

Move "Show only subscribed folders" setting to folders section
parents 40d7db53 b0ef477f
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1672,6 +1672,10 @@ public class MessagingController {
        return getBackend(account).getSupportsUpload();
    }

    public boolean supportsFolderSubscriptions(Account account) {
        return getBackend(account).getSupportsFolderSubscriptions();
    }

    public void checkIncomingServerSettings(Account account) throws MessagingException {
        getBackend(account).checkIncomingServerSettings();
    }
+0 −10
Original line number Diff line number Diff line
@@ -82,7 +82,6 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
    private boolean mMakeDefault;
    private CheckBox useCompressionCheckBox;
    private CheckBox isSendClientIdEnabledCheckBox;
    private CheckBox mSubscribedFoldersOnly;
    private AuthTypeAdapter mAuthTypeAdapter;
    private ConnectionSecurity[] mConnectionSecurityChoices = ConnectionSecurity.values();
    private boolean editSettings;
@@ -128,7 +127,6 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
        mNextButton = findViewById(R.id.next);
        useCompressionCheckBox = findViewById(R.id.use_compression);
        isSendClientIdEnabledCheckBox = findViewById(R.id.is_send_client_id_enabled);
        mSubscribedFoldersOnly = findViewById(R.id.subscribed_folders_only);
        mAllowClientCertificateView = findViewById(R.id.account_allow_client_certificate);

        TextInputLayout serverLayoutView = findViewById(R.id.account_server_layout);
@@ -204,7 +202,6 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
                findViewById(R.id.imap_path_prefix_section).setVisibility(View.GONE);
                useCompressionCheckBox.setVisibility(View.GONE);
                isSendClientIdEnabledCheckBox.setVisibility(View.GONE);
                mSubscribedFoldersOnly.setVisibility(View.GONE);
            } else if (settings.type.equals(Protocols.IMAP)) {
                serverLayoutView.setHint(getString(R.string.account_setup_incoming_imap_server_label));

@@ -215,10 +212,6 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
                if (pathPrefix != null) {
                    mImapPathPrefixView.setText(pathPrefix);
                }

                if (!editSettings) {
                    findViewById(R.id.imap_folder_setup_section).setVisibility(View.GONE);
                }
            } else {
                throw new Exception("Unknown account type: " + settings.type);
            }
@@ -265,8 +258,6 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
                updatePortFromSecurityType();
            }
            mCurrentPortViewSetting = mPortView.getText().toString();

            mSubscribedFoldersOnly.setChecked(mAccount.isSubscribedFoldersOnly());
        } catch (Exception e) {
            failure(e);
        }
@@ -579,7 +570,6 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener

            mAccount.setUseCompression(useCompressionCheckBox.isChecked());
            mAccount.setSendClientIdEnabled(isSendClientIdEnabledCheckBox.isChecked());
            mAccount.setSubscribedFoldersOnly(mSubscribedFoldersOnly.isChecked());

            AccountSetupCheckSettings.actionCheckSettings(this, mAccount, CheckDirection.INCOMING);
        } catch (Exception e) {
+1 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ val settingsUiModule = module {
            executorService = get(named("SaveSettingsExecutorService")),
            notificationChannelManager = get(),
            notificationController = get(),
            messagingController = get(),
        )
    }
    factory { getSystemVibrator(context = get()) }
+12 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ import com.fsck.k9.Account.SpecialFolderSelection
import com.fsck.k9.NotificationLight
import com.fsck.k9.NotificationVibration
import com.fsck.k9.Preferences
import com.fsck.k9.controller.MessagingController
import com.fsck.k9.job.K9JobManager
import com.fsck.k9.notification.NotificationChannelManager
import com.fsck.k9.notification.NotificationController
@@ -18,6 +19,7 @@ class AccountSettingsDataStore(
    private val jobManager: K9JobManager,
    private val notificationChannelManager: NotificationChannelManager,
    private val notificationController: NotificationController,
    private val messagingController: MessagingController,
) : PreferenceDataStore() {
    private var notificationSettingsChanged = false

@@ -41,6 +43,7 @@ class AccountSettingsDataStore(
            "autocrypt_prefer_encrypt" -> account.autocryptPreferEncryptMutual
            "upload_sent_messages" -> account.isUploadSentMessages
            "ignore_chat_messages" -> account.isIgnoreChatMessages
            "subscribed_folders_only" -> account.isSubscribedFoldersOnly
            else -> defValue
        }
    }
@@ -65,6 +68,7 @@ class AccountSettingsDataStore(
            "autocrypt_prefer_encrypt" -> account.autocryptPreferEncryptMutual = value
            "upload_sent_messages" -> account.isUploadSentMessages = value
            "ignore_chat_messages" -> account.isIgnoreChatMessages = value
            "subscribed_folders_only" -> updateSubscribedFoldersOnly(value)
            else -> return
        }

@@ -286,4 +290,12 @@ class AccountSettingsDataStore(
        }
        notificationSettingsChanged = true
    }

    private fun updateSubscribedFoldersOnly(value: Boolean) {
        if (account.isSubscribedFoldersOnly != value) {
            account.isSubscribedFoldersOnly = value

            messagingController.refreshFolderList(account)
        }
    }
}
+3 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@ package com.fsck.k9.ui.settings.account

import com.fsck.k9.Account
import com.fsck.k9.Preferences
import com.fsck.k9.controller.MessagingController
import com.fsck.k9.job.K9JobManager
import com.fsck.k9.notification.NotificationChannelManager
import com.fsck.k9.notification.NotificationController
@@ -13,6 +14,7 @@ class AccountSettingsDataStoreFactory(
    private val executorService: ExecutorService,
    private val notificationChannelManager: NotificationChannelManager,
    private val notificationController: NotificationController,
    private val messagingController: MessagingController,
) {
    fun create(account: Account): AccountSettingsDataStore {
        return AccountSettingsDataStore(
@@ -22,6 +24,7 @@ class AccountSettingsDataStoreFactory(
            jobManager,
            notificationChannelManager,
            notificationController,
            messagingController,
        )
    }
}
Loading