* Do not show existing password when changing
* Use PasswordTextField for password input dialogs
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
* 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>
* 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)
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
- 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
* [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
* Refactoring
* Better live handling of (un)installed task apps
* Minor changes
* SettingsManager: explicitly mark possibility of null LiveData values
* Fix tests
* 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
* 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>
* [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
* 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>
* 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>
* 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>
* 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
* 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>
* 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>
* 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
* Make ranged GET requests cancellable; reduce notification update frequency
* Include original exception as a cause in WebDAV ErrnoException
* Add KDoc for threading
* 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>
* 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>
* 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>
* 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>
* 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
* 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>
* Added `CardWithImage`
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Added `RadioWithSwitch`
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Migrating to Compose
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Added observers
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Fixed functions signature
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Added kdoc
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Removed layout
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Color for disabled
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Added "don't show" behaviour
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Added all tasks providers
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Moved checkbox to correct location
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Fixed don't need behaviour
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Added theme
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Added todo
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Added support for link annotations
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Added support for annotated strings and urls
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Added tests for HTML annotation
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Extracted `linkStyle`
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Removed observers for requested
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Removed more observers
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Added multiple links test
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Moved `installApp` to `TasksCard`
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Moved all model calls to composable
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Removed preview since not usable
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Got rid of TasksFragment
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Fixed import
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Switched link color to orange
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Added missing copyright information
Signed-off-by: Arnau Mora <arnyminerz@proton.me>
* Use HtmlCompat and existing Spanned.toAnnotatedString
* Added default content
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Renamed image content description
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Got rid of empty content
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Made summary of RadioWithSwitch composable
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Added missing entry point annotation
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Added click handling for tasks org
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Got rid of the preview provider
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
* Minor changes
---------
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>