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

Commit e7e8d608 authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊 Committed by Nishith Khanna
Browse files

mail: Add back mail signature

This reverts commit ec2e81e0.
parent e5e3c989
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -8,6 +8,10 @@ class FakeCoreResourceProvider : CoreResourceProvider {

    override fun searchUnifiedInboxDetail(): String = "All messages in unified folders"

    override fun defaultSignature(): String {
        throw UnsupportedOperationException("not implemented")
    }

    override fun defaultIdentityDescription(): String {
        throw UnsupportedOperationException("not implemented")
    }
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ import com.fsck.k9.ui.R
class K9CoreResourceProvider(
    private val context: Context,
) : CoreResourceProvider {
    override fun defaultSignature(): String = context.getString(R.string.default_signature)
    override fun defaultIdentityDescription(): String = context.getString(R.string.default_identity_description)

    override fun contactDisplayNamePrefix(): String = context.getString(R.string.message_to_label)
+1 −1
Original line number Diff line number Diff line
@@ -617,7 +617,7 @@ class AccountPreferenceSerializer(

            val identity = Identity(
                signatureUse = false,
                signature = null,
                signature = resourceProvider.defaultSignature(),
                description = resourceProvider.defaultIdentityDescription(),
            )
            identities.add(identity)
+1 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ package com.fsck.k9
import com.fsck.k9.notification.PushNotificationState

interface CoreResourceProvider {
    fun defaultSignature(): String
    fun defaultIdentityDescription(): String

    fun contactDisplayNamePrefix(): String
+24 −2
Original line number Diff line number Diff line
@@ -13,7 +13,6 @@ import com.fsck.k9.EmailAddressValidator;
import com.fsck.k9.preferences.Settings.BooleanSetting;
import com.fsck.k9.preferences.Settings.InvalidSettingValueException;
import com.fsck.k9.preferences.Settings.SettingsDescription;
import com.fsck.k9.preferences.Settings.StringSetting;
import com.fsck.k9.preferences.Settings.V;


@@ -30,7 +29,7 @@ class IdentitySettingsDescriptions {
         */

        s.put("signature", Settings.versions(
                new V(1, new StringSetting(null))
                new V(1, new SignatureSetting())
        ));
        s.put("signatureUse", Settings.versions(
                new V(1, new BooleanSetting(true)),
@@ -59,6 +58,29 @@ class IdentitySettingsDescriptions {
        return new EmailAddressValidator().isValidAddressOnly(email);
    }

    private static class SignatureSetting extends SettingsDescription<String> {
        private final CoreResourceProvider resourceProvider = DI.get(CoreResourceProvider.class);

        SignatureSetting() {
            super(null);
        }

        @Override
        public String getDefaultValue() {
            return resourceProvider.defaultSignature();
        }

        @Override
        public String fromString(String value) throws InvalidSettingValueException {
            return value;
        }

        @Override
        public String toString(String value) {
            return value;
        }
    }

    private static class OptionalEmailAddressSetting extends SettingsDescription<String> {
        private EmailAddressValidator validator;

Loading