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

Commit bcb1c83a authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊
Browse files

mail: Play sound when mail sent

parent edc46783
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -257,6 +257,9 @@ object K9 : KoinComponent {
    @JvmStatic
    var isMessageViewSpamActionVisible = false

    @JvmStatic
    var isSentSoundEnabled = true

    @JvmStatic
    var pgpInlineDialogCounter: Int = 0

@@ -340,6 +343,7 @@ object K9 : KoinComponent {
        isNotificationDuringQuietTimeEnabled = storage.getBoolean("notificationDuringQuietTimeEnabled", true)
        quietTimeStarts = storage.getString("quietTimeStarts", "21:00")
        quietTimeEnds = storage.getString("quietTimeEnds", "7:00")
        isSentSoundEnabled = storage.getBoolean("isSentSoundEnabled", true)

        messageListDensity = storage.getEnum("messageListDensity", UiDensity.Default)
        isShowCorrespondentNames = storage.getBoolean("showCorrespondentNames", true)
@@ -420,6 +424,7 @@ object K9 : KoinComponent {
        editor.putBoolean("notificationDuringQuietTimeEnabled", isNotificationDuringQuietTimeEnabled)
        editor.putString("quietTimeStarts", quietTimeStarts)
        editor.putString("quietTimeEnds", quietTimeEnds)
        editor.putBoolean("isSentSoundEnabled", isSentSoundEnabled)

        editor.putEnum("messageListDensity", messageListDensity)
        editor.putBoolean("messageListSenderAboveSubject", isMessageListSenderAboveSubject)
+21 −0
Original line number Diff line number Diff line
package com.fsck.k9.controller

import android.content.Context
import android.media.AudioManager
import android.media.MediaPlayer
import com.fsck.k9.core.R

object MessageSentAudio {
    @JvmStatic
    fun play(context: Context) {
        val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager?
        val maxVolume = audioManager?.getStreamMaxVolume(AudioManager.STREAM_NOTIFICATION) ?: 1
        val currentVolume = audioManager?.getStreamVolume(AudioManager.STREAM_NOTIFICATION) ?: 0
        val mediaPlayer = MediaPlayer.create(context, R.raw.email_sent)

        mediaPlayer.setOnCompletionListener { it.release() }
        // set volume to match notification volume settings
        mediaPlayer.setVolume((currentVolume / maxVolume.toFloat()), (currentVolume / maxVolume.toFloat()))
        mediaPlayer.start()
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -1543,6 +1543,10 @@ public class MessagingController implements MessagingControllerRegistry, Messagi
                        Timber.i("Sending message with UID %s", message.getUid());
                        backend.sendMessage(message);

                        if (K9.isSentSoundEnabled()) {
                            MessageSentAudio.play(context);
                        }

                        message.setFlag(Flag.X_SEND_IN_PROGRESS, false);
                        message.setFlag(Flag.SEEN, true);
                        progress++;
+19.7 KiB

File added.

No diff preview for this file type.

+2 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ class GeneralSettingsDataStore(
            "messageview_autofit_width" -> K9.isAutoFitWidth
            "quiet_time_enabled" -> K9.isQuietTimeEnabled
            "disable_notifications_during_quiet_time" -> !K9.isNotificationDuringQuietTimeEnabled
            "sent_sound_enabled" -> K9.isSentSoundEnabled
            "privacy_hide_useragent" -> K9.isHideUserAgent
            "privacy_hide_timezone" -> K9.isHideTimeZone
            "debug_logging" -> K9.isDebugLoggingEnabled
@@ -72,6 +73,7 @@ class GeneralSettingsDataStore(
            "messageview_autofit_width" -> K9.isAutoFitWidth = value
            "quiet_time_enabled" -> K9.isQuietTimeEnabled = value
            "disable_notifications_during_quiet_time" -> K9.isNotificationDuringQuietTimeEnabled = !value
            "sent_sound_enabled" -> K9.isSentSoundEnabled = value
            "privacy_hide_useragent" -> K9.isHideUserAgent = value
            "privacy_hide_timezone" -> K9.isHideTimeZone = value
            "debug_logging" -> K9.isDebugLoggingEnabled = value
Loading