@@ -84,10 +84,13 @@ fun AccountSettingsScreen(
84
84
// Sync settings
85
85
canAccessWifiSsid = canAccessWifiSsid,
86
86
onSyncWifiOnlyPermissionsAction = onNavWifiPermissionsScreen,
87
+ hasContactsSync = uiState.hasContactsSync,
87
88
contactsSyncInterval = uiState.syncIntervalContacts,
88
89
onUpdateContactsSyncInterval = model::updateContactsSyncInterval,
90
+ hasCalendarsSync = uiState.hasCalendarsSync,
89
91
calendarSyncInterval = uiState.syncIntervalCalendars,
90
92
onUpdateCalendarSyncInterval = model::updateCalendarSyncInterval,
93
+ hasTasksSync = uiState.hasTasksSync,
91
94
tasksSyncInterval = uiState.syncIntervalTasks,
92
95
onUpdateTasksSyncInterval = model::updateTasksSyncInterval,
93
96
syncOnlyOnWifi = uiState.syncWifiOnly,
@@ -127,10 +130,13 @@ fun AccountSettingsScreen(
127
130
// Sync settings
128
131
canAccessWifiSsid : Boolean ,
129
132
onSyncWifiOnlyPermissionsAction : () -> Unit ,
133
+ hasContactsSync : Boolean ,
130
134
contactsSyncInterval : Long? ,
131
135
onUpdateContactsSyncInterval : ((Long ) -> Unit ) = {},
136
+ hasCalendarsSync : Boolean ,
132
137
calendarSyncInterval : Long? ,
133
138
onUpdateCalendarSyncInterval : ((Long ) -> Unit ) = {},
139
+ hasTasksSync : Boolean ,
134
140
tasksSyncInterval : Long? ,
135
141
onUpdateTasksSyncInterval : ((Long ) -> Unit ) = {},
136
142
syncOnlyOnWifi : Boolean ,
@@ -199,10 +205,13 @@ fun AccountSettingsScreen(
199
205
// Sync settings
200
206
canAccessWifiSsid = canAccessWifiSsid,
201
207
onSyncWifiOnlyPermissionsAction = onSyncWifiOnlyPermissionsAction,
208
+ hasContactsSync = hasContactsSync,
202
209
contactsSyncInterval = contactsSyncInterval,
203
210
onUpdateContactsSyncInterval = onUpdateContactsSyncInterval,
211
+ hasCalendarsSync = hasCalendarsSync,
204
212
calendarSyncInterval = calendarSyncInterval,
205
213
onUpdateCalendarSyncInterval = onUpdateCalendarSyncInterval,
214
+ hasTasksSync = hasTasksSync,
206
215
taskSyncInterval = tasksSyncInterval,
207
216
onUpdateTaskSyncInterval = onUpdateTasksSyncInterval,
208
217
syncOnlyOnWifi = syncOnlyOnWifi,
@@ -228,7 +237,7 @@ fun AccountSettingsScreen(
228
237
229
238
// CardDav Settings
230
239
contactGroupMethod = contactGroupMethod,
231
- onUpdateContactGroupMethod = onUpdateContactGroupMethod,
240
+ onUpdateContactGroupMethod = onUpdateContactGroupMethod
232
241
)
233
242
}
234
243
}
@@ -241,10 +250,13 @@ fun AccountSettings_FromModel(
241
250
// Sync settings
242
251
canAccessWifiSsid : Boolean ,
243
252
onSyncWifiOnlyPermissionsAction : () -> Unit ,
253
+ hasContactsSync : Boolean ,
244
254
contactsSyncInterval : Long? ,
245
255
onUpdateContactsSyncInterval : ((Long ) -> Unit ) = {},
256
+ hasCalendarsSync : Boolean ,
246
257
calendarSyncInterval : Long? ,
247
258
onUpdateCalendarSyncInterval : ((Long ) -> Unit ) = {},
259
+ hasTasksSync : Boolean ,
248
260
taskSyncInterval : Long? ,
249
261
onUpdateTaskSyncInterval : ((Long ) -> Unit ) = {},
250
262
syncOnlyOnWifi : Boolean ,
@@ -276,10 +288,13 @@ fun AccountSettings_FromModel(
276
288
SyncSettings (
277
289
canAccessWifiSsid = canAccessWifiSsid,
278
290
onSyncWifiOnlyPermissionsAction = onSyncWifiOnlyPermissionsAction,
291
+ hasContactsSync = hasContactsSync,
279
292
contactsSyncInterval = contactsSyncInterval,
280
293
onUpdateContactsSyncInterval = onUpdateContactsSyncInterval,
294
+ hasCalendarsSync = hasCalendarsSync,
281
295
calendarSyncInterval = calendarSyncInterval,
282
296
onUpdateCalendarSyncInterval = onUpdateCalendarSyncInterval,
297
+ hasTasksSync = hasTasksSync,
283
298
taskSyncInterval = taskSyncInterval,
284
299
onUpdateTaskSyncInterval = onUpdateTaskSyncInterval,
285
300
syncOnlyOnWifi = syncOnlyOnWifi,
@@ -320,10 +335,13 @@ fun AccountSettings_FromModel(
320
335
fun SyncSettings (
321
336
canAccessWifiSsid : Boolean ,
322
337
onSyncWifiOnlyPermissionsAction : () -> Unit ,
338
+ hasContactsSync : Boolean ,
323
339
contactsSyncInterval : Long? ,
324
340
onUpdateContactsSyncInterval : ((Long ) -> Unit ) = {},
341
+ hasCalendarsSync : Boolean ,
325
342
calendarSyncInterval : Long? ,
326
343
onUpdateCalendarSyncInterval : ((Long ) -> Unit ) = {},
344
+ hasTasksSync : Boolean ,
327
345
taskSyncInterval : Long? ,
328
346
onUpdateTaskSyncInterval : ((Long ) -> Unit ) = {},
329
347
syncOnlyOnWifi : Boolean ,
@@ -338,21 +356,21 @@ fun SyncSettings(
338
356
Text (stringResource(R .string.settings_sync))
339
357
}
340
358
341
- if (contactsSyncInterval != null )
359
+ if (hasContactsSync )
342
360
SyncIntervalSetting (
343
361
icon = Icons .Default .Contacts ,
344
362
name = R .string.settings_sync_interval_contacts,
345
363
syncInterval = contactsSyncInterval,
346
364
onUpdateSyncInterval = onUpdateContactsSyncInterval
347
365
)
348
- if (calendarSyncInterval != null )
366
+ if (hasCalendarsSync )
349
367
SyncIntervalSetting (
350
368
icon = Icons .Default .Event ,
351
369
name = R .string.settings_sync_interval_calendars,
352
370
syncInterval = calendarSyncInterval,
353
371
onUpdateSyncInterval = onUpdateCalendarSyncInterval
354
372
)
355
- if (taskSyncInterval != null )
373
+ if (hasTasksSync )
356
374
SyncIntervalSetting (
357
375
icon = Icons .Outlined .Task ,
358
376
name = R .string.settings_sync_interval_tasks,
@@ -431,15 +449,15 @@ fun SyncSettings(
431
449
fun SyncIntervalSetting (
432
450
icon : ImageVector ,
433
451
@StringRes name : Int ,
434
- syncInterval : Long ,
452
+ syncInterval : Long? ,
435
453
onUpdateSyncInterval : (Long ) -> Unit
436
454
) {
437
455
var showSyncIntervalDialog by remember { mutableStateOf(false ) }
438
456
Setting (
439
457
icon = icon,
440
458
name = stringResource(name),
441
459
summary =
442
- if (syncInterval == AccountSettings .SYNC_INTERVAL_MANUALLY )
460
+ if (syncInterval == null || syncInterval == AccountSettings .SYNC_INTERVAL_MANUALLY )
443
461
stringResource(R .string.settings_sync_summary_manually)
444
462
else
445
463
stringResource(R .string.settings_sync_summary_periodically, syncInterval / 60 ),
@@ -693,10 +711,13 @@ fun AccountSettingsScreen_Preview() {
693
711
// Sync settings
694
712
canAccessWifiSsid = true ,
695
713
onSyncWifiOnlyPermissionsAction = {},
714
+ hasContactsSync = true ,
696
715
contactsSyncInterval = 80000L ,
697
716
onUpdateContactsSyncInterval = {},
717
+ hasCalendarsSync = true ,
698
718
calendarSyncInterval = 50000L ,
699
719
onUpdateCalendarSyncInterval = {},
720
+ hasTasksSync = true ,
700
721
tasksSyncInterval = 900000L ,
701
722
onUpdateTasksSyncInterval = {},
702
723
syncOnlyOnWifi = true ,
0 commit comments