Commit graph

1861 commits

Author SHA1 Message Date
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
Ricki Hirner ba084255c0 Fetch translations from Transifex 2024-02-11 20:47:26 +01:00
Ricki Hirner 847d452884 Bump version to 4.3.13 2024-02-11 20:46:21 +01:00
Ricki Hirner b2d67a5dfb
Version bump to 4.3.13-rc.1 2024-02-07 21:08:01 +01:00
Ricki Hirner 55c499fbe9
prepareForUpload: use UID from data class instead of querying it explicitly from content provider (#555) 2024-02-06 14:22:29 +01:00
Ricki Hirner 4ee6bfe276
Update dependencies (including ical4android) 2024-02-01 19:53:04 +01:00
Ricki Hirner 6817c17686
Nextcloud Login Flow: use Saved State for low memory conditions (#553) 2024-01-31 17:12:41 +01:00
Ricki Hirner d108ea8a7b
Use ksp (instead of kapt) for Hilt (bitfireAT/davx5#521) 2024-01-31 14:03:56 +01:00
Ricki Hirner d2de737857
Version bump to 4.3.13-beta.2 2024-01-31 13:40:27 +01:00
Ricki Hirner 37e0605f9e
Fetch translations from Transifex 2024-01-31 13:17:59 +01:00
Ricki Hirner 95d098541f
Lint (#551)
* Lint

* Optimize imports

* Icon
2024-01-31 13:09:15 +01:00
Ricki Hirner b2d06a491d
Fix Nextcloud Login Flow "IllegalStateException: OffsetMapping.originalToTransformed" (#550)
* Move State out of Composable

* Disable text field instead of making it read-only during progress
2024-01-31 12:46:08 +01:00
Ricki Hirner 09b15c1e75
Android 14 Compatibility (#545)
* Increase target SDK level to 34

* ForegroundService: specify "data sync" foreground service type
2024-01-31 12:09:10 +01:00
Ricki Hirner dd036b91fc
Add battery saver warning (#542)
* Show battery saver warning in account list and debug info

* Move app warnings to model class

* Debug info: more verbose text

* Restore previous strings for sync enqueued/started
2024-01-30 15:50:03 +01:00
Ricki Hirner fbed5c7d67
WebDAV performance optimizations (#543)
* Make ranged GET requests cancellable; reduce notification update frequency

* Include original exception as a cause in WebDAV ErrnoException

* Add KDoc for threading
2024-01-30 11:55:59 +01:00
Ricki Hirner f0eb140777
Update dependencies (including ical4android) 2024-01-26 13:05:25 +01:00
Patrick Lang dcba94ac70
jtxBoard: added localCollection.updateLastSync() in post-processing (bitfireAT/davx5#505)
* added localCollection.updateLastSync() in post-processing

* Update build.gradle

updated ical4android version

* Update build.gradle

* Update build.gradle

---------

Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-01-25 15:46:58 +01:00
Arnau Mora 202a91a7a4
LocalEvent: synchronize UID handling with ical4android (#541)
* Got rid of uid writes

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

* Using new ical4android version

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

* Changed commit id

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

* Updated ical4android

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>
2024-01-24 19:43:38 +01:00
Ricki Hirner a313ace66d Fetch translations from Transifex 2024-01-20 13:42:05 +01:00
Ricki Hirner bdbab77f5e Version bump to 4.3.13-beta.1 2024-01-20 13:40:53 +01:00
Arnau Mora 88e41d1eed Update dav4jvm and other dependencies (bitfireAT/davx5#518)
* Upgrade Compose Compiler to 1.5.8

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

* Upgrade Kotlin to 1.9.22

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

* Upgrade KSP to 1.0.17

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

* Upgrade dav4jvm 93dddcd

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

* Upgrade ViewModel to 2.7.0

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

* Updated imports

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

* Updated imports

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

* Updated imports

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

---------

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
2024-01-20 12:40:38 +01:00
Sunik Kupfer ea5fc54003
Validate email before starting google oauth flow (#535)
* Validate email before starting auth flow (see #525, fixes #534)

* Simplify expression (minor change)

---------

Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-01-18 13:11:08 +01:00
Arnau Mora 0c834a5c42
Tasks intro page: "I don't need tasks" checkbox not visible in landscape mode (#530)
* Added optional modifier

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

* Fixed model argument name

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

* Added bottom padding for bottom bar

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

---------

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
2024-01-16 23:11:39 +01:00
Arnau Mora 2ac81b6342
Darkened colors of accounts screen background image for dark mode (#529)
* Moved all colors to resources

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

* Darkened colors for night mode

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

---------

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
2024-01-15 09:45:46 +01:00
Arnau Mora b8f4b9af30
Migrate DebugInfoActivity to Compose (#509)
* Gave more flexibility

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

* Migrated to Compose

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

* Adjusted paddings

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

* Added missing observer

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

* CardWithImagE: add another preview with subtitle, icon and content

* Made buttons uppercase

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

* Adjusted spacings

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

* Changed snackbar host state

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

* Changed nullable expression

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

* Using shareFile for zip

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

* Minor changes (comments/formatting)

* Switched to view instead of sharing files

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

* Adapted image height for landscape

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

* CardView: allow to pass image alignment; use card_theme_max_height

* DebugInfoActivity: paddings, images

---------

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-01-11 17:31:08 +01:00
Ricki Hirner 3c4601f7a1 WebDAV memory cache: store values using SoftReference (bitfireAT/davx5#515)
so that the values can be free if there's not enough memory
2024-01-11 13:48:18 +01:00
Ricki Hirner 357cf09be7
WebDAV: refactor paging and caches (bitfireAT/davx5#502)
* WebDAV: don't try to load 0-byte segments

* Extracted segmentation logic to SegmentedReader for testability

* Reorganize and simplify caches

* Refactor thumbnail cache

* Use coroutines with Dispatchers.IO instead of custom Executor

* Remove obsolete classes

* Fix tests, simplify DiskCache

* Paging reader: cache current page

* PagingReader tests

* Thumbnails: timeout for generation and not only for waiting

* openDocumentThumbnail: actually cancel HTTP request when method is cancelled

* Better KDoc

* Add further tests
2024-01-10 14:59:57 +01:00
darealdemayo 6ce0d35e6d
Add purelymail.com (#521) 2024-01-10 14:28:52 +01:00
Sunik Kupfer 24401cc990 Fix ProGuard issue with javax.xml.namespace.QName; update AGP (bitfireAT/davx5#512)
* Update to AGP 8.2.1
* Add keep rule for javax.xml.namespace.QName

See #511
Closes bitfireAT/davx5#499
2024-01-08 15:00:19 +01:00
Ricki Hirner cf0c3040fc
Run uploadDirty() regardless of processLocallyDeleted() result (bitfireAT/davx5#510)
Run uploadDirty() regardless of whether processLocallyDeleted() did something or not
2024-01-05 11:16:50 +01:00
Arnau Mora 6b660c2be6
Rename LoginCredentialsFragmentFactory to LoginFragmentFactory (bitfireAT/davx5#507)
* Renamed LoginCredentialsFragmentFactory to LoginFragmentFactory

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

* Fixed fragment name

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

* Rename LoginInitFragment (managed) to ManagedLoginInitFragment

---------

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-01-05 11:16:47 +01:00
Sunik Kupfer 20652b9325
NextcloudLoginFlowFragment: minor changes (sync bitfireAT/davx5#501)
---------

Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2024-01-03 11:25:32 +01:00
Ricki Hirner e5c73bead5
Downgrade AGP to 8.1.4 (fixes bitfireAT/davx5-ose#511) 2023-12-25 15:51:25 +01:00
Ricki Hirner 581622272c
Bump version to 4.3.12.1 2023-12-25 15:51:18 +01:00