Commit Graph

2024 Commits

Author SHA1 Message Date
Ricki Hirner
0552bcab4a Version bump to 4.3.17-alpha.4 2024-05-09 21:28:38 +02:00
Ricki Hirner
3681507582
Inject SyncDispatcher over Hilt (#784)
* Inject SyncDispatcher over Hilt

* Use setWorkerFactory for TestListenableWorkerBuilder

* Correctly inject SyncDispatcher over an AssistedFactory
2024-05-09 21:20:38 +02:00
Arnau Mora
364f372a8b
Rewrite TasksIntroPage to M3 (#760)
* Migrated to M3

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Fixed theme

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Moved Composables and Model to individual files

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Move AppTheme to screen composable

* Fixed model name

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Minor re-ordering

---------

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-05-09 18:51:38 +02:00
Ricki Hirner
857309c451 Correctly handle DeadObjectException (bitfireAT/davx5#578, #591)
* Soft fail sync on DeadObjectException so that it is retried without immediate error message

* Handle DeadObjectException (→ retries sync); Syncer: generalize all-catch
2024-05-09 13:52:50 +02:00
Sunik Kupfer
ad24dd54c7
Fix login detail pages loosing user changes on rotation / re-creation (closes #775) (#778)
Inject view models in composables using hilt
2024-05-07 10:17:25 +02:00
Ricki Hirner
952cb52b95
Don't listen for account changes all the time (#780)
* Delete account: don't rely on cleanup worker

* Don't list for account changes all the time
2024-05-04 20:52:50 +02:00
Ricki Hirner
1ad8e892b6
Intro pages: use Hilt for dependency injection (#779)
* Accounts: move syncAll to model; better Hilt usage

* Move calculation of whether IntroActivity is shown into AccountsModel

* Intro pages: inject dependencies with Hilt

* Fix preview
2024-05-04 20:10:36 +02:00
Arnau Mora
4cffbe7b40
Rewrite PermissionsIntroPage to M3 (#758)
* Migrated to M3

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Replaced preview theme

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Fixed theme

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Forced all sets to be private

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Moved Composables and Model to individual files

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Fixed naming

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Theme / M3 changes

* Observe lifecycle from within Screen

* Minor changes

---------

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-05-04 13:46:32 +02:00
Ricki Hirner
e6eb90861e
Use hiltViewModel for creating ViewModels with parameters in new Screen architecture (#776)
* Add hilt-navigation-compose dependency

* AccountScreen: use hiltViewModel

* Use hiltViewModel for CollectionScreen and CreateCollectionScreens
2024-05-03 14:46:46 +02:00
Arnau Mora
a7c04c2bf7
Replace DavUtils.lastSegmentOfUrl by UrlUtils.lastSegment (#767)
* Added `ReplaceWith` to `lastSegmentOfUrl`

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Replaced all usages

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Rollback replacement

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Added tests for UrlUtils

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Got rid of `DavUtils.lastSegmentOfUrl`

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Turned into variable

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Fixed method call

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Fixed method call

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

---------

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-05-03 11:29:05 +02:00
Sunik Kupfer
9c6c95a249
Start at LoginDetails page if logging in via intent (#772)
* Start at LoginDetails page if login via intent has data

* Ignore intent on re-creation
2024-05-02 12:43:08 +02:00
Sunik Kupfer
aafcb2e94a
Pre-select per-contact categories for login type NextcloudLogin (#774)
* Pre-select per-contact categories for login type NextcloudLogin

* Update the group method unconditionally to suggested group method
2024-05-02 12:32:23 +02:00
Arnau Mora
e40fa6e0fb
Switched CalDAV and CardDAV tab positions (#769)
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
2024-05-02 11:18:30 +02:00
Arnau Mora
c9fd66bd63
Rewrite OpenSourcePage to M3 (#755)
Migrated to M3

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
2024-05-02 11:11:51 +02:00
Arnau Mora
99cf0eca7a
Migrated to M3 (#754)
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
2024-05-02 11:08:37 +02:00
Ricki Hirner
2b2476b4bc
Rewrite RenameAccountDialog to M3 (#768) 2024-04-30 14:37:12 +02:00
Arnau Mora
81834ca0db
AccountsScreen: move navigation drawer to foreground so that it overlays FABs when open (#765)
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
2024-04-30 14:20:52 +02:00
Ricki Hirner
0a4a06a50a Minor lint 2024-04-30 11:49:01 +02:00
Ricki Hirner
40795bf5c0 Version bump to 4.3.17-alpha.3 2024-04-30 11:40:40 +02:00
Ricki Hirner
b13c6b0e6f
Rewrite AccountActivity to M3 (#752)
* [WIP] Separate AccountScreen, use M3 elements

* [WIP] Use UseCases for complex flow calculations

* [WIP] Move account deletion logic into AccountRepository

* Move rename operation to repository

* Adapt FABs

* Don't use snackbars to show when the collection list is refreshed

* New collection list layout (bitfireAT/davx5#159)

* [WIP] Create AccountModel from within screen

* [WIP] Clean up AccountScreen

* [WIP] CreateAddressBook

* [WIP] Create address book / calendar screen

* [WIP] Begin CollectionScreen

* [WIP] CollectionScreen

* Error handling

* String resources

* Optimizations, remove unnecessary things
2024-04-30 11:25:29 +02:00
Ricki Hirner
c33ea84c77
Rewrite AccountsActivity to M3 (#749)
* [WIP] Rewrite AccountsActivity to M3

* [WIP] AccountsScreen: FAB, previews

* [WIP] Warning cards

* Adapt FABs
2024-04-26 11:20:55 +02:00
Ricki Hirner
0c748ebe73 Provide snackbar to LoginTypesProvider (backport of bitfireAT/davx5#576) 2024-04-24 10:31:46 +02:00
Ricki Hirner
fda96ac653 Version bump to 4.3.17-alpha.2 2024-04-23 17:42:07 +02:00
Ricki Hirner
597c572f24 Login: allow changing account name when suggestions are expanded (bitfireAT/davx5#573) 2024-04-23 17:42:03 +02:00
Ricki Hirner
71b0912494 Login: allow "Couldn't create account" snackbar more than once (bitfireAT/davx5#572) 2024-04-23 17:41:59 +02:00
Ricki Hirner
f853019f47 LoginScreenModel: initialize account name over setter (bitfireAT/davx5#571) 2024-04-23 17:41:54 +02:00
Ricki Hirner
0b212fc6bd
WebDAV Mounts UI: M3, refactoring (#736)
* WebDavMountsScreen: M3, refactoring

* [WIP] AddWebDavMount

* Use M3 pull-to-refresh

* AddWebDavMount, move logic to WebDavMountRepository

* Show loading state in LinearProgressBar

* Add WebDAV mount: IME action and focus requester

* Move "test WebDAV" logic from model to repository

* Move "refresh quota" logic to repository

* Move querying and deleting mounts to repository; IME navigation

* KDoc

* Move hasWebDav tests to repository
2024-04-23 17:34:20 +02:00
Sunik Kupfer
3fbffc4a72
RefreshCollectionsWorker causes app to crash when the service is invalid (#743)
* RefreshCollectionsWorker: Ignore requests with invalid service IDs

* Update KDoc
2024-04-22 17:31:55 +02:00
Ricki Hirner
b17c39c370 Version bump to 4.3.17-alpha.1; fix LoginActivity upwards navigation 2024-04-21 16:51:16 +02:00
Ricki Hirner
019dde6ef9 Rewrite login to M3 and with better UI states (bitfireAT/davx5#567)
* [WIP] Rewrite login to M3 and better UI states

* Use AccountRepository to create account

* LoginModel is SSOT for page navigation

* Support forced group method

* Show progress bar when account is being created

* Make account name suggestions work again

* Use M3 text field supportText for errors

* Refactor: login by URL, login by email, advanced login

* Refactor Nextcloud login, move login flow logic to separate class

* Refactor Google login, move OAuth logic to separate class

* Fix errors when navigating back after successful resource detection

* Make PasswordTextField M3

* ManagedLogin: M3, UiState

* Updated theme; managed login functionality

* Improve back navigation
2024-04-21 16:27:54 +02:00
Ricki Hirner
34b88c3ad8
Add M3 theme and apply to AboutActivity (#731)
* Rename AppTheme to M2Theme, add M3 theme

* Rewrite AboutActivity to M3

* Apply M3 theme; minor optimizations

* Use M3 version of AboutLibraries

* Use material3 instead of material3-android dependency

* Use reversed theme
2024-04-19 11:05:39 +02:00
Ricki Hirner
a1d85c4c9b Version bump to 4.3.16.1 2024-04-17 13:25:52 +02:00
Ricki Hirner
8c12300be3 Update dav4jvm to support relaxed parsing (bitfireAT/davx5#563)
* Update dav4jvm

* Add test
2024-04-17 13:25:48 +02:00
Ricki Hirner
a3a4a72012 Fix test_observerFlow_updatedValue (use Set instead of List) 2024-04-15 11:12:02 +02:00
Ricki Hirner
a165c97166 Version bump to 4.3.16 2024-04-14 21:55:33 +02:00
Arnau Mora
bd93c86e2c
Adjusted paddings (#707)
* Adjusted paddings

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Unify intro card padding to 8 dp

* Minor changes in Composable calls

---------

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-04-14 21:42:52 +02:00
Ricki Hirner
ab4244a533
Allow to specify export flags for broadcast receivers; log incoming broadcasts (#729) 2024-04-14 21:17:19 +02:00
Ricki Hirner
0a58f0a269
Always use provider.use to automatically close content provider clients (#726) 2024-04-13 22:03:42 +02:00
Ricki Hirner
f6d71ffb98 Fetch translations from Transifex 2024-04-13 21:19:42 +02:00
Ricki Hirner
0ff24a8ce2 Version bump to 4.3.16-rc.1 2024-04-13 21:05:32 +02:00
Ricki Hirner
114084f405
Use LocalContentColor for ClickableTextWithLink (#725) 2024-04-12 18:02:25 +02:00
Ricki Hirner
c3b3dd4e35
Add non-Compose colorBackground for AppIntro (#724) 2024-04-12 17:29:55 +02:00
Ricki Hirner
ee36753e1a
TasksActivity: use defaultValue=true for HINT_OPENTASKS_NOT_INSTALLED (#723) 2024-04-12 17:08:37 +02:00
Ricki Hirner
c0570549c9
Use broadcastReceiverFlow instead of BroadcastReceivers (#722)
* [WIP] Use broadcastReceiverFlow and packageReceiverFlow

to make sure that broadcast receivers are unregistered

* Rewrite remaining BroadcastReceivers to use broadcastReceiverFlow

* TasksAppWatcher: minor coroutine changes

* KDoc

* TasksActivity: use Compose state instead of LiveData
2024-04-12 16:52:23 +02:00
Sunik Kupfer
72320b30f7
Check if keep-permissions changed when user comes back from settings app (#715)
* Check if keep-permissions changed when user comes back from settings app

* Use one model only

* Use mutable state flows

* Use compose mutable state

* [CI] Improve caching behavior

* Freshly created model can never be null

---------

Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-04-10 14:06:48 +02:00
Ricki Hirner
b88c35169e
SettingsManager: use Flows instead of LiveData (#714)
* SettingsManager: use flows instead of LiveData

* Fix tests
2024-04-10 12:10:03 +02:00
Ricki Hirner
74e89bde9b Version bump to 4.3.16-beta.2 2024-04-09 17:56:41 +02:00
Ricki Hirner
3023a935a8
Detect WebDAV-Push support (#716)
* Detect WebDAV-Push support

- detect and save supportsWebPush and pushTopic to database

* Collection info: show Push support + subscription time
2024-04-09 17:31:02 +02:00
Ricki Hirner
2c5292a52b Update dependencies 2024-04-09 15:38:41 +02:00
Ricki Hirner
a4ce1f93f0
Nextcloud Login Flow: improved handling of back (#712)
* Use Compose state instead of LiveData; reset token before starting Login flow

* [WIP] Reset state variables when needed

* Always run postForJson in IO dispatcher; show progress when polling for login data

* Reset login URL in onReturnFromBrowser
2024-04-09 11:52:49 +02:00
Ricki Hirner
e638f5debc
Create account: user feedback when account name is already taken (#701)
* Show snackbar when account can't be created without known reason; show error when account name is taken

* Don't crash on empty account name
2024-04-04 13:36:27 +02:00
Ricki Hirner
3385e5ddb7 Fix tests 2024-04-02 10:58:37 +02:00
Ricki Hirner
44d2446d22 Better handling of address book accounts without main account (closes #694) 2024-04-01 21:26:02 +02:00
Ricki Hirner
6b88052e10
DeleteCollectionDialog: handle case that result may contain null value (#697) 2024-04-01 21:10:53 +02:00
Ricki Hirner
6d462ea9e4 Update gradle, Hilt 2024-04-01 13:32:50 +02:00
Ricki Hirner
10b007bd15 Version bump to 4.3.16-beta.1 2024-03-28 14:26:57 +01:00
Sunik Kupfer
6ff0ebc7e2
Do not show existing password on password change (#689)
* Do not show existing password when changing

* Use PasswordTextField for password input dialogs

---------

Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-03-28 13:34:32 +01:00
Ricki Hirner
9b47427b66
SettingsLiveData: post initial value even when it's null (#686) 2024-03-28 09:44:19 +01:00
Ricki Hirner
d0e5bbc0ad
Update copyright; upgrade dependencies (#687) 2024-03-27 17:32:35 +01:00
Ricki Hirner
f825abca27 Login screen: increase padding of login options minimally 2024-03-27 17:27:46 +01:00
Arnau Mora
7b12a53616
Create a native Material theme and get rid of XML styles (#675)
* Added custom Compose theme

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Got rid of accompanist theme adapter

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Removed unused import

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Added actionbar to the activities that didn't have one

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Theme now always hides actionbar

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Added back string

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Got rid of all color definitions

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Moved color definition to drawable

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Using Compose colors

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Using AppCompat theme

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Removed XML theme

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Moved color definition

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Added bars coloring in Compose

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Added dark theme

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Added custom Compose theme

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Got rid of accompanist theme adapter

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Removed unused import

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Added actionbar to the activities that didn't have one

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Theme now always hides actionbar

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Added back string

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Got rid of all color definitions

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Moved color definition to drawable

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Using Compose colors

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Using AppCompat theme

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Removed XML theme

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Moved color definition

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Added bars coloring in Compose

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Added dark theme

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Changed content description

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Using `onSupportNavigateUp`

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Changed color on top of primary green

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Added up navigation

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Made `onSupportNavigateUp` optional

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Typo

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Got rid of edge-to-edge

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Added back some XML styles

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Simplify TasksCard calling

* Move theme colors to flavor-specific ThemeColors file

* Remove global AppTheme paddings for now

* Optimize imports

---------

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-03-27 17:21:02 +01:00
Ricki Hirner
8507c64be1
OpenSourcePage: make "dontShow" LiveData (#683) 2024-03-27 14:42:44 +01:00
Sunik Kupfer
557b5653e5 Don't show empty suggested account names dropdown (bitfireAT/davx5#555)
* Don't show empty suggested account names dropdown

* Hide the trailing dropdown icon if suggested account names list is empty
2024-03-27 13:04:50 +01:00
Ricki Hirner
7760cbaa72
Show Pending state in AccountsActivity, too; remove obsolete code (#680) 2024-03-27 10:13:52 +01:00
Sunik Kupfer
14ef74e231 Don't move focus downward without reason (bitfireAT/davx5-ose#553) 2024-03-26 10:20:45 +01:00
Ricki Hirner
78c148615a Fix ProGuard rules 2024-03-24 21:45:44 +01:00
Ricki Hirner
b63cd67e9c Backport changes from build variants 2024-03-24 21:30:08 +01:00
Ricki Hirner
079c3efdfd
Rewrite login activity to Compose (#672)
* Remove unnecessary layout files

* [WIP] Rewrite LoginActivity to Compose

* [WIP] Login type

* [WIP] Login by URL, Google, Nextcloud

* Remove unnecessary files and kapt

* More renaming and removing of unnecessary files

* Login with email, URL

* Login type: Advanced

* Drop "known base URLs"

* "Detect resources" and "Create account" page

* Introduce LoginTypesProvider interface
2024-03-24 18:25:30 +01:00
Michael Biebl
014c94a031
Do not show extended proxy details in App Settings if proxy type is system or none (#661)
Fixes: #660
2024-03-21 11:44:03 +01:00
Arnau Mora
58b02c04ef
Replaced icons with auto-mirrored version when possible (#666)
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
2024-03-21 11:41:47 +01:00
Ricki Hirner
06e7eeb391
Don't use Gradle build and configuration cache for releases (#662)
* Don't use Gradle build and configuration cache for releases

- don't enable Gradle build and configuration cache for the project, but recommend it for the developer
- explicitly enable Gradle build and configuration cache for CI test jobs
- let AboutLibraries generate lib definitions itself again
- also don't archive test results (sometimes fails and we never use the results)

* Add encryption key for gradle cache

* Only warn on configuration cache problems (caused by AboutLibraries)
2024-03-20 15:29:21 +01:00
Michael Biebl
6c882877d0
Remove unused string resources (#651)
The list was computed in an automated way and includes:

intro_battery_not_whitelisted
intro_battery_whitelisted
permissions_jtx_status_off
permissions_jtx_status_on
about_flavor_info
about_translations_thanks
install_email_client
accounts_global_sync_disabled
accounts_global_sync_enable
app_settings_tasks_provider_synchronizing_with
account_no_address_books
account_no_calendars
account_no_webcals
account_swipe_down
account_create_new_address_book
account_create_new_calendar
settings_title
settings_enter_username
settings_enter_password
settings_key_default_alarm
certificate_notification_connection_security
trust_certificate_unknown_certificate_found
2024-03-20 15:24:00 +01:00
Ricki Hirner
d8e6f82104 Fix import 2024-03-20 15:17:20 +01:00
Arnau Mora
28ddf5c86a
Provide a widget option (#643)
* Added Glance dependency

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Defined Glance widget

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Replaced with new worker

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Rename ui/widget to ui/composable, move sync widget into ui/widget; adapt strings

---------

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-03-20 12:37:57 +01:00
Arnau Mora
d37718c58a
Rewrite CreateCalendarActivity to Compose (#645)
* Added color picker dialog

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Removed title

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Migrated to Jetpack Compose

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Removed unused layouts

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Fixed activity name

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Fixed duplicated title

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Cleanup

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Error tweaks

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>

* Rewrite Create address book, Create collection, Delete collection

* [WIP] Create calendar: more properties; use own color picker (other one was M3)

* [WIP] Create calendar

* Add missing properties for calendars

* Support color, remove comments

---------

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-03-20 11:40:03 +01:00
Ricki Hirner
fea33ab60a Version bump to 4.3.15 2024-03-16 15:18:33 +01:00
Ricki Hirner
3ab278a315
Better handling of tasks app changes (#652)
* Fix task sync update when new app is selected by user or TasksWatcher
* Minor refactoring, KDoc
2024-03-16 12:16:23 +01:00
Ricki Hirner
322a7565b0 TaskUtils: take updateSyncSettings into account 2024-03-16 00:26:15 +01:00
Ricki Hirner
732d925b4c Show pending syncs in AccountActivity again 2024-03-15 12:08:40 +01:00
Ricki Hirner
a43dbb5cff Have network/WiFi check in both PeriodicSyncWorker and OneTimeSyncWorker; add tests
- OneTimeSyncWorker is also started by sync framework, so it should take network restrictions into consideration
- add "manual" flag for manual syncs that ignore network restrictions
2024-03-15 11:30:54 +01:00
Ricki Hirner
fe833759ee Fetch translations from Transifex 2024-03-15 10:38:37 +01:00
Ricki Hirner
53bf342822 Version bump to 4.3.15-beta.1 2024-03-14 20:24:36 +01:00
Ricki Hirner
30122a79f3
Periodic workers directly run sync (#648)
* [WIP] Don't create a separate SyncWorker for every sync (run directly within onetime/periodic sync instead)

* [WIP] address books

* Account(s)Activity: don't show pending workers

* Migration to set new periodic sync worker tags

* Fix tests

* ContactsSyncAdapter issues address book sync on main account (not contacts sync)

* SyncAdapterService: optimize blocking with Flow instead of LiveData
2024-03-14 20:08:38 +01:00
Ricki Hirner
a16fd468fd TasksIntroPage: fix "Dont show again" 2024-03-13 17:19:23 +01:00
Ricki Hirner
76df2b320d Account settings UI: fix "sync only manually" summary 2024-03-13 17:03:50 +01:00
Ricki Hirner
d6ff27fcc8 Fix up navigation 2024-03-13 17:02:27 +01:00
Ricki Hirner
2e780a890b
Rewrite AccountSettingsActivity to Compose (#646)
* AccountSettings: rewrite Sync settings
* Authentication
* CalDAV, CardDAV settings
2024-03-12 20:48:06 +01:00
Ricki Hirner
45d6b33023 Add stats parameters for Web site calls, rename AccountActivity2 back to AccountActivity 2024-03-12 15:41:50 +01:00
Ricki Hirner
4486c0862a Move "Community" to "Support the project", remove obsolete code 2024-03-12 15:41:41 +01:00
Ricki Hirner
33e726a7b0
Rewrite navigation drawer to Compose (#644)
(sync bitfireAT/davx5#545)
2024-03-12 12:55:38 +01:00
Ricki Hirner
75a0c77b5f
Rewrite WifiPermissionsActivity to Compose (#640) 2024-03-11 16:23:25 +01:00
Ricki Hirner
06b4cf9477
Refactor Tasks app detection (and settings update when tasks apps change) (#637)
* Refactoring

* Better live handling of (un)installed task apps

* Minor changes

* SettingsManager: explicitly mark possibility of null LiveData values

* Fix tests
2024-03-11 13:51:46 +01:00
Ricki Hirner
cb56132994
Make LinearProgressIndicators orange (#636) 2024-03-10 23:08:22 +01:00
Ricki Hirner
9742913a3e App settings: show "Battery optimizations" dialog even when DAVx5 is already exempted 2024-03-10 22:44:52 +01:00
Ricki Hirner
ea66838cd6 Version bump to 4.3.15-alpha.2 2024-03-10 20:52:33 +01:00
Ricki Hirner
377c0344da
Improve homepage URL launching (#632)
* Move homepage and other Web URLs to Constants; minor refactoring

* Use AppTheme with built-in safe LocalUriHandler instead of MdcTheme; minor refactoring

* Account settings: add TODO for Compose rewrite

* Use UriHandler instead of UiUtils.launch when possible
2024-03-10 20:51:40 +01:00
Ricki Hirner
c8a0128842
Rewrite app settings to Compose (#628)
* [WIP] Rewrite app settings to Compose

* Optical changes

* Add Help button

* Fix URL, preferences LiveData: handle null value

* Fix tests
2024-03-10 19:20:11 +01:00
Arnau Mora
66f0075cc9
Rewrite AddWebdavMountActivity to Compose (#630)
* Migrated AddWebdavMountActivity to Compose

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

* Minor changes, use PasswordTextField

---------

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-03-10 18:33:22 +01:00
Ricki Hirner
3edcc02a21 Minor classes refactoring 2024-03-09 17:42:38 +01:00
Ricki Hirner
77ab1801fa Move Hilt SyncComponent 2024-03-09 16:29:55 +01:00