bitfireAT / davx5-ose

DAVx⁵ is an open-source CalDAV/CardDAV suite and sync app for Android. You can also access your online files (WebDAV) with it.
https://www.davx5.com
GNU General Public License v3.0
1.3k stars 70 forks source link

AccountActivity: swipe-down gesture should start sync #442

Closed rfc2822 closed 7 months ago

rfc2822 commented 8 months ago

Currently, the swipe-down gesture refreshes the collection list.

Suggestion: use swipe-down for sync instead. This would unify behavior with ICSx⁵ (later the Webcal subscriptions activity). Also, the gesture should do the "more common" operation, which is clearly sync.

For refreshing the collection list, there's still a secondary FAB + the menu entries.

sunkup commented 7 months ago

@rfc2822

This leaves the question whether the spinner should shown while syncing? It's a bit too much in my opinion :)

Pics # AccountsActivity ![image](https://github.com/bitfireAT/davx5-ose/assets/8227414/28e5dcfb-77ba-4227-8a6e-a1d59b034b44) # AccountActivity ![image](https://github.com/bitfireAT/davx5-ose/assets/8227414/6532f116-b66f-4fc4-b9d3-5765f44ca998)
rfc2822 commented 7 months ago

Hmm the spinner was for service detection, right? Should we leave it as it is – progress bars for sync and spinners for detection? Or progress bars for everything including detection?

rfc2822 commented 7 months ago

Idea: only progress bars, but when sync is initiated by swipe, show a snackbar

mbiebl commented 7 months ago

Spinners are more commonly used by Android apps, especially for the swipe down animation. That said, for AccountsActivity, progress bars for individual accounts works better than a single spinner.

So my suggestion would be: AccountsActivity: Swipe down triggers a snackbar which says that a sync for all accounts has been scheduled and the individual accounts all show a progressbar. No spinner.

AccountActivity: Always use a spinner. I would even go as far and say that the separation between update collections and sync is confusing, and you should always do both. This would make the UI simpler, as you would have a single sync button and you could drop the "Refresh address book list" menu entry.

rfc2822 commented 7 months ago

Current plan: