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

Commit 2980f558 authored by Jonathan Klee's avatar Jonathan Klee
Browse files

Set 5 minutes period for Google Accounts DAV syncs

We keep facing errors with Google Accounts mail, calendar,
contacts and tasks. This commit helps being less agressive on
Google servers which could potentially limit the sync requests.
parent fcee1f26
Loading
Loading
Loading
Loading
Loading
+18 −3
Original line number Diff line number Diff line
@@ -199,6 +199,11 @@ class AccountDetailsFragment : Fragment() {
        val name = MutableLiveData<String>()
        val nameError = MutableLiveData<String>()

        companion object {
            const val GOOGLE_ACCOUNT_TYPE = "e.foundation.webdav.google"
            const val GOOGLE_ACCOUNT_DEFAULT_SYNC_PERIOD_IN_S = 5 * 60L
        }

        fun createAccount(
            activity: Activity,
            name: String,
@@ -333,9 +338,10 @@ class AccountDetailsFragment : Fragment() {
                        context.startService(refreshIntent)

                        // contact sync is automatically enabled by isAlwaysSyncable="true" in res/xml/sync_address_books.xml
                        val syncInterval = provideSyncInterval(accountType, Constants.DEFAULT_CALENDAR_SYNC_INTERVAL)
                        accountSettings.setSyncInterval(
                            context.getString(R.string.address_books_authority),
                            Constants.DEFAULT_CALENDAR_SYNC_INTERVAL
                            syncInterval
                        )
                    } else
                        ContentResolver.setIsSyncable(
@@ -361,9 +367,10 @@ class AccountDetailsFragment : Fragment() {
                        context.startService(refreshIntent)

                        // calendar sync is automatically enabled by isAlwaysSyncable="true" in res/xml/sync_calendars.xml
                        val syncInterval = provideSyncInterval(accountType, Constants.DEFAULT_CALENDAR_SYNC_INTERVAL)
                        accountSettings.setSyncInterval(
                            CalendarContract.AUTHORITY,
                            Constants.DEFAULT_CALENDAR_SYNC_INTERVAL
                            syncInterval
                        )

                        // enable task sync if OpenTasks is installed
@@ -374,9 +381,10 @@ class AccountDetailsFragment : Fragment() {
                                TaskProvider.ProviderName.OpenTasks.authority,
                                1
                            )
                            val syncInterval = provideSyncInterval(accountType, Constants.DEFAULT_CALENDAR_SYNC_INTERVAL)
                            accountSettings.setSyncInterval(
                                TaskProvider.ProviderName.OpenTasks.authority,
                                Constants.DEFAULT_CALENDAR_SYNC_INTERVAL
                                syncInterval
                            )
                        }
                    } else {
@@ -398,6 +406,13 @@ class AccountDetailsFragment : Fragment() {
            return result
        }

        private fun provideSyncInterval(type: String, fallback: Long): Long {
            if (type == GOOGLE_ACCOUNT_TYPE) {
                return GOOGLE_ACCOUNT_DEFAULT_SYNC_PERIOD_IN_S
            }
            return fallback
        }

        private fun insertService(
            db: AppDatabase,
            accountName: String,
+3 −1
Original line number Diff line number Diff line
@@ -152,6 +152,8 @@
    <string name="settings_sync_interval_tasks">مدة مزامنة المهام</string>
    <string-array name="settings_sync_interval_names">
        <item>يدوياً فقط</item>
        <item>كل 2 دقيقة</item>
        <item>كل 5 دقيقة</item>
        <item>كل 15 دقيقة</item>
        <item>كل 30 دقيقة</item>
        <item>كل ساعة</item>
+3 −1
Original line number Diff line number Diff line
@@ -138,6 +138,8 @@
    <string name="settings_sync_interval_tasks">Период за синхронизиране на задачи</string>
    <string-array name="settings_sync_interval_names">
        <item>Само изрично</item>
        <item>Всеки 2 минути</item>
        <item>Всеки 5 минути</item>
        <item>Всеки 15 минути</item>
        <item>На половин час</item>
        <item>Всеки час</item>
+2 −0
Original line number Diff line number Diff line
@@ -85,6 +85,8 @@
  <string name="settings_sync_summary_manually">Només a mà</string>
  <string-array name="settings_sync_interval_names">
    <item>Només a mà</item>
    <item>Cada 2 minuts</item>
    <item>Cada 5 minuts</item>
    <item>Cada 15 minuts</item>
    <item>Cada 30 minuts</item>
    <item>Cada hora</item>
+1 −0
Original line number Diff line number Diff line
@@ -158,6 +158,7 @@
  <string-array name="settings_sync_interval_names">
    <item>Kun manuelt</item>
    <item>Hvert andet minut</item>
    <item>Hvert 5. minut</item>
    <item>Hvert 15. minut</item>
    <item>Hver halve time</item>
    <item>Hver time</item>
Loading