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

Commit 9c80167a authored by Fahim Salam Chowdhury's avatar Fahim Salam Chowdhury 👽
Browse files

Implement network quite time preference

For now, network quite time settings doesn't affect any behavior.
parent 54ef44b0
Loading
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -126,6 +126,10 @@ object K9 : EarlyInit {
    @JvmStatic
    var backgroundOps = BACKGROUND_OPS.ALWAYS

    var isNetworkQuietTimeEnabled = true
    var networkQuietTimeStarts: String? = null
    var networkQuietTimeEnds: String? = null

    @JvmStatic
    var isShowAnimations = true

@@ -291,6 +295,17 @@ object K9 : EarlyInit {
            return quietTimeChecker.isQuietTime
        }

    val isNetworkQuietTime: Boolean
        get() {
            if (!isNetworkQuietTimeEnabled) {
                return false
            }

            val clock = DI.get<Clock>()
            val quietTimeChecker = QuietTimeChecker(clock, networkQuietTimeStarts, networkQuietTimeEnds)
            return quietTimeChecker.isQuietTime
        }

    @Synchronized
    @JvmStatic
    fun isSortAscending(sortType: SortType): Boolean {
@@ -340,6 +355,11 @@ object K9 : EarlyInit {
        quietTimeStarts = storage.getString("quietTimeStarts", "21:00")
        quietTimeEnds = storage.getString("quietTimeEnds", "7:00")

        isNetworkQuietTimeEnabled = storage.getBoolean("networkQuietTimeEnabled", true)
        networkQuietTimeStarts = storage.getString("networkQuietTimeStarts", "21:00")
        networkQuietTimeEnds = storage.getString("networkQuietTimeEnds", "7:00")


        isSentSoundEnabled = storage.getBoolean("isSentSoundEnabled", true)

        messageListDensity = storage.getEnum("messageListDensity", UiDensity.Default)
@@ -418,6 +438,10 @@ object K9 : EarlyInit {
        editor.putString("quietTimeStarts", quietTimeStarts)
        editor.putString("quietTimeEnds", quietTimeEnds)

        editor.putBoolean("networkQuietTimeEnabled", isNetworkQuietTimeEnabled)
        editor.putString("networkQuietTimeStarts", networkQuietTimeStarts)
        editor.putString("networkQuietTimeEnds", networkQuietTimeEnds)

        editor.putEnum("messageListDensity", messageListDensity)
        editor.putBoolean("messageListSenderAboveSubject", isMessageListSenderAboveSubject)
        editor.putBoolean("showUnifiedInbox", isShowUnifiedInbox)
+6 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ class GeneralSettingsDataStore(
            "messageview_show_next" -> K9.isMessageViewShowNext
            "quiet_time_enabled" -> K9.isQuietTimeEnabled
            "disable_notifications_during_quiet_time" -> !K9.isNotificationDuringQuietTimeEnabled
            "network_quiet_time_enabled" -> K9.isNetworkQuietTimeEnabled
            "sent_sound_enabled" -> K9.isSentSoundEnabled
            "privacy_hide_useragent" -> K9.isHideUserAgent
            "privacy_hide_timezone" -> K9.isHideTimeZone
@@ -71,6 +72,7 @@ class GeneralSettingsDataStore(
            "messageview_return_to_list" -> K9.isMessageViewReturnToList = value
            "messageview_show_next" -> K9.isMessageViewShowNext = value
            "quiet_time_enabled" -> K9.isQuietTimeEnabled = value
            "network_quiet_time_enabled" -> K9.isNetworkQuietTimeEnabled = value
            "disable_notifications_during_quiet_time" -> K9.isNotificationDuringQuietTimeEnabled = !value
            "sent_sound_enabled" -> K9.isSentSoundEnabled = value
            "privacy_hide_useragent" -> K9.isHideUserAgent = value
@@ -113,6 +115,8 @@ class GeneralSettingsDataStore(
            "notification_quick_delete" -> K9.notificationQuickDeleteBehaviour.name
            "lock_screen_notification_visibility" -> K9.lockScreenNotificationVisibility.name
            "background_ops" -> K9.backgroundOps.name
            "network_quiet_time_starts" -> K9.networkQuietTimeStarts
            "network_quiet_time_ends" -> K9.networkQuietTimeEnds
            "quiet_time_starts" -> K9.quietTimeStarts
            "quiet_time_ends" -> K9.quietTimeEnds
            "message_list_subject_font" -> K9.fontSizes.messageListSubject.toString()
@@ -149,6 +153,8 @@ class GeneralSettingsDataStore(
                K9.lockScreenNotificationVisibility = K9.LockScreenNotificationVisibility.valueOf(value)
            }
            "background_ops" -> setBackgroundOps(value)
            "network_quiet_time_starts" -> K9.networkQuietTimeStarts = value
            "network_quiet_time_ends" -> K9.networkQuietTimeEnds = value
            "quiet_time_starts" -> K9.quietTimeStarts = value
            "quiet_time_ends" -> K9.quietTimeEnds = value
            "message_list_subject_font" -> K9.fontSizes.messageListSubject = value.toInt()
+2 −0
Original line number Diff line number Diff line
@@ -1138,4 +1138,6 @@ You can keep this message and use it as a backup for your secret key. If you wan
    <string name="clipboard_label_email_address">Email address</string>
    <!-- A user visible label for the name and email address copied to the clipboard -->
    <string name="clipboard_label_name_and_email_address">Name and email address</string>

    <string name="network_quiet_time_description">Disable automatic sync at specific time</string>
</resources>
+25 −0
Original line number Diff line number Diff line
@@ -484,6 +484,31 @@
            app:useSimpleSummaryProvider="true"
            android:title="@string/background_ops_label" />

        <CheckBoxPreference
            android:layout="@layout/custom_preference"
            android:key="network_quiet_time_enabled"
            android:defaultValue="true"
            android:summary="@string/network_quiet_time_description"
            android:title="@string/quiet_time" />

        <com.takisoft.preferencex.TimePickerPreference
            android:layout="@layout/custom_preference"
            android:dependency="network_quiet_time_enabled"
            android:key="network_quiet_time_starts"
            android:title="@string/quiet_time_starts"
            app:pref_hourFormat="h24"
            search:summary=""
            app:pref_summaryHasTime="%s" />

        <com.takisoft.preferencex.TimePickerPreference
            android:layout="@layout/custom_preference"
            android:dependency="network_quiet_time_enabled"
            android:key="network_quiet_time_ends"
            android:title="@string/quiet_time_ends"
            app:pref_hourFormat="h24"
            search:summary=""
            app:pref_summaryHasTime="%s" />

    </PreferenceScreen>

    <PreferenceScreen