Commit graph

1994 commits

Author SHA1 Message Date
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
Ricki Hirner d9ddfafbf9 IntroActivity: get IntroPageFactory over Hilt 2024-03-09 14:37:33 +01:00
Ricki Hirner c5adc93d1a Bump version to 4.3.15-alpha.1 2024-03-09 14:27:37 +01:00
Ricki Hirner 42f99e644d
Rewrite intro pages to Compose (dropping all Fragments) (#626) 2024-03-09 14:25:24 +01:00
Arnau Mora 1cbfedc9e4
Rewrite PermissionsActivity, PermissionsFragment to Compose (#583)
* Migrated `PermissionsFragment` to Compose

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

* Migrated `PermissionsActivity` to Compose

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

* Removed preview

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

* Removed TODO

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

* Don't show unavailable permissions, explicitly pass Activity model, minor changes

* Added status text

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

* Increased margins

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

* Button uppercase, safeguard Keep Permissions launch

* Moved tasks app availability to viewmodel

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

* Added tasks watcher back

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

* Removed unnecessary livedata

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

* Cleanup

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

---------

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-03-08 16:35:29 +01:00
Ricki Hirner 962dab7cf2
Rewrite AccountActivity to Compose (#617)
* [WIP] Add AccountActivity2 in Compose

* Make paging collections work when data changes

* [WIP] Add ProgressIndicator TODO

* [WIP] CardDAV: add swipe-to-refresh

* [WIP] Correctly use Pager

* [WIP] Only show Webcal tab when there are subscriptions

* [WIP] Implement collection properties dialog

* Implement "create collection" and "show only personal collection"

* [WIP] Add collection overflow menu items

* Show color as left border, max. 2 icons per row

* [WIP] Delete collection dialog

* Add "delete collection"

* Implement "Force read-only"

* Delete old XML classes and resources

* Add permissions warning

* Implement "Rename account"

* Case-insensitive sorting, minor changes

* Horizontal arrangement

* Less integration of Webcal subscriptions (other layout)

* Accessibility

* Collection list: provide ID als key for lazy list

* Only show "Create addressbook/calendar" when there's at least one writable homeset
2024-03-08 16:32:55 +01:00
Arnau Mora 2e669812b1
Rewrite WebdavMountsActivity to Compose (#607)
* Migrated to Compose

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

* Text hides when there are mounts

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

* Fixed todo

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

* Migrated to Compose

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

* Text hides when there are mounts

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

* Fixed todo

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

* Removed vertical scroll

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

* Added action for ClickableText

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

* Fixed indentation

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

* Changed layout

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

* Removed overflow preferences

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

* Fixed padding

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

* Changed link color

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

* Fixed preview

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

* Fixed back arrow

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

* Require explicit Context for helpUrl to make it work in Compose preview

---------

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-03-08 16:29:16 +01:00
Ricki Hirner 7e743f2dbd Move SyncComponent to syncadapter package 2024-03-05 16:09:55 +01:00
Ricki Hirner f06eef2e72 Fetch translations from Transifex 2024-03-04 14:19:47 +01:00
Ricki Hirner f06d396dd8 Bump version to 4.3.14 2024-03-04 14:16:50 +01:00
Ricki Hirner b511c04493 Bump version to 4.3.14-beta.2 2024-03-02 00:00:59 +01:00
Ricki Hirner e3485ec3ec
Use gradle-managed device for testing (#609) 2024-03-01 20:15:45 +01:00
Ricki Hirner 6b9395c254
Adapt WelcomeFragment for smaller devices (#606) 2024-02-29 00:18:58 +01:00
Arnau Mora e24543a298
Rewrite WelcomeFragment to Compose (#582)
* Migrated to Jetpack Compose

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

* Simplify layout, remove animations

---------

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-02-28 17:35:14 +01:00
Ricki Hirner 334fdb5953
Disable periodic sync workers that don't exist anymore (#602)
* Disable old periodic worker when renaming accounts

* Periodic sync worker now disables itself when an account is not available anymore

* Add test
2024-02-28 13:38:45 +01:00
Sunik Kupfer 86742f5b18
Don't upload event when calendar is read only (#587)
* Make readOnly a LocalCollection property

* Move readOnly detection to SyncManager

* Add readOnly state access to LocalCalendar

* Add not implemented error to readOnly state access of LocalJtxCollection

* Handle read-only state of calendar at dirty events upload

* Handle read-only state of calendar at processing of locally deleted events

* Remove todo and update kdoc

* Fix indenting

* Add read-only prop to LocalTestCollection

* Add read-only state access to LocalTaskList

* LocalTestCollection: don't set read-only

* Update ical4android (for new KDoc)

* Make LocalCollection readOnly-API read only and take value from content provider during populate()

* SyncManager: use readOnly direct from localCollection

* Lift resetDeleted up to LocalResource

* Override and use resetDeleted for LocalEvent

* Add resetDeleted to LocalJtxICalObject

* Add resetDeleted to LocalTask

* Add resetDeleted to LocalTask

* Add resetDeleted to LocalTestResource

* Provide default access level

---------

Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-02-27 13:00:40 +01:00
Arnau Mora df2b7d2bd0
Fixed span styles for URL annotations (#598)
* Fixed span styles

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

* Pushing initial style to builder

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

---------

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
2024-02-26 15:44:19 +01:00
Arnau Mora be309e15b3
Rewrite BatteryOptimizationsFragment to Compose (#580)
* Migrated to Jetpack Compose

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

* Added `observeBoolean`

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

* Simplified settings interaction

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

* Migrated to Jetpack Compose

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

* Added `observeBoolean`

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

* Simplified settings interaction

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

* Use SafeAndroidUriHandler instead of UiUtils.launchUri

* Removed animation for manufacturerWarning

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

* Removed animation for manufacturerWarning

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

* Added `getBooleanLive`

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

* Using `getBooleanLive`

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

* Moved UI definitions to file scope

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

* Don't use specific times for waiting in tests

* Renamed function

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

* More exact naming

---------

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-02-23 14:12:02 +01:00
Ricki Hirner 6b1367d6dc
Reflect ical4android tasks API changes 2024-02-22 12:16:10 +01:00
Ricki Hirner 774fced9e8
Fetch translations from Transifex 2024-02-22 12:07:32 +01:00
Ricki Hirner dd9681e75a
Bump version to 4.3.14-beta.1 2024-02-22 12:06:23 +01:00
Ricki Hirner cae1ed5efb
More correct usage of expedited workers (#566)
* Add foreground notification type to expedited workers (required for Android 14)

* Make SyncWorker a long-running worker

* Don't use expedited SyncWorker for everything; handle foreground service launch restriction

* AddressBookSyncer: only request expedited for sub-jobs when parent job is expedited, too

* RefreshCollectionsWorker is not long-running -> no foreground service type needed

* Fix tests

* Don't use foreground service type in ForegroundInfo

* Make SyncWorker not long-running
2024-02-22 11:56:44 +01:00
Ricki Hirner e5cf7610ad
OpenSourceFragment: use correct string resource 2024-02-21 16:47:56 +01:00
Arnau Mora 0253cd3d89
Migrate to Kotlin DSL (#586)
* Migrated to Kotlin DSL

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

* Migrated to Kotlin DSL

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

* Update versions, suppress nofications for libs we don't want to upgrade

---------

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-02-20 11:48:02 +01:00
Ricki Hirner 30bb981975 Don't filter translators by role (but exclude "bitfire" user) (bitfireAT/davx5#532) 2024-02-20 10:00:03 +01:00
Arnau Mora f6ac4e02d6
Rewrite OpenSourceFragment to Compose (#581)
* Migrated to Jetpack Compose

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

* Removed layout file

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

* Adapt paddings and font size

* Added check for non-available browsers

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

* Add SafeAndroidUriHandler

---------

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-02-19 19:09:49 +01:00
Arnau Mora 8ac95e0796
Use gradle version catalog (#564)
* Using version catalog

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

* Fixed library names

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

* Remove lifecycle-ext

* Rename, reorder

* Remove unnecessary entries

* Use BOM for Compose again

* Try to fix BOM

---------

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-02-15 11:21:09 +01:00
Ricki Hirner 5a5023bf54
Bump version to 4.3.13.1 2024-02-14 17:09:50 +01:00
Ricki Hirner ea6e520c93
Drop foreground service (#569)
* Remove foreground service permissions

* Remove foreground service + setting

* Remove unused setting name and notification IDs
2024-02-14 17:05:53 +01:00
Arnau Mora a7f6192177
Rewrite CreateAddressBookActivity to Compose (#559)
* Added initial layout

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

* Improved UI

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

* Replaced autofill with radio buttons

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

* Got rid of unnecessary errors

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

* Got rid of null indicators

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

* Added default home set selection

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

* Minor UI changes

* Drop displayNameError

---------

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-02-12 13:28:11 +01:00
Sunik Kupfer 3dd63df5c8
Rewrite RenameAccountFragment to compose (closes #478) (#561)
* Rewrite RenameAccountFragment to compose

* Add padding to text field, disable RENAME button when old name = new name

---------

Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-02-12 11:40:27 +01:00