Ricki Hirner
2ce9b83356
Fix core instrumentation tests
2026-02-06 10:57:01 +01:00
Ricki Hirner
47b4ecd705
Add OpenID AppAuth library
2026-02-05 20:06:37 +01:00
Ricki Hirner
bced7e5ee5
Update test configuration
...
- Add managed device for testing
- Set device to "Pixel 3" with API level 34
- Use AOSP system image source
2026-02-05 20:00:17 +01:00
Ricki Hirner
360c2249cf
Update test workflows
2026-02-05 19:55:42 +01:00
Ricki Hirner
53791871c6
Split core and app-ose
2026-02-05 18:16:35 +01:00
Ricki Hirner
9bddf4e8d4
Rename "app" subproject to core
2026-02-05 17:30:18 +01:00
Ricki Hirner
eab054d1c3
Move OSE code to separate package ( #1974 )
...
- Move DebugInfoCrashHandler.kt to com.davx5.ose
- Move StandardLoginTypePage.kt to com.davx5.ose.ui.setup
- Move StandardLoginTypesProvider.kt to com.davx5.ose.ui.setup
- Move CustomCertManagerModule.kt to com.davx5.ose.di
- Move OseIntroPageFactory.kt to com.davx5.ose.ui.intro
- Move OseColorSchemesModule.kt to com.davx5.ose.di
- Move OseFlavorModule.kt to com.davx5.ose.di
- Move OpenSourceLicenseInfoProvider.kt to com.davx5.ose.ui.about
- Move OseTheme.kt to com.davx5.ose.ui
2026-02-05 17:21:57 +01:00
Ricki Hirner
5e84648fb4
Replace BuildConfig.allowCustomCerts by DI ( #1971 )
...
* Update IntroScreen colors
- Replace M3ColorScheme with MaterialTheme.colorScheme
- Update background and icon colors to use MaterialTheme
* Update color scheme references
- Replace `M3ColorScheme.primaryLight` with `MaterialTheme.colorScheme.primary` in `WelcomePage.kt` and `AccountsDrawerHandler.kt`.
* Update AppTheme to accept custom color schemes
- Add `lightColorScheme` and `darkColorScheme` parameters
- Replace hardcoded color schemes with the new parameters
* Add color scheme dependency injection
- Add `LightColorScheme` and `DarkColorScheme` qualifiers
- Create `OseColorSchemes` module for providing color schemes
- Update `AppTheme` to use injected color schemes
* Update glance material dependency to material3
- Update `androidx.glance.material` to `androidx.glance.material3`
- Adjust imports and usage in `IconSyncButtonWidget.kt` and `LabeledSyncButtonWidget.kt` to use `GlanceTheme` and `ColorProviders` for color schemes
- Replace deprecated `ColorProvider` with `GlanceTheme.colors` for primary and onPrimary colors
* Refactor widget receivers and widgets to use dependency injection more properly
- Update `LabeledSyncButtonWidgetReceiver` and `IconSyncButtonWidgetReceiver` to use Hilt for dependency injection.
- Inject `SyncWidgetModel`, `LightColorScheme`, and `DarkColorScheme` into both widget receivers.
- Remove the use of `EntryPoint` and `EntryPointAccessors` from `LabeledSyncButtonWidget` and `IconSyncButtonWidget`.
- Pass injected dependencies directly to the widget constructors.
* Rename ThemeColors to OseTheme
- Update imports and references to use OseTheme
- Rename object M3ColorScheme to OseTheme
* Move AppTheme to ui.composable package because it's a reusable Composable
* Update AboutApp to use dynamic version info instead of BuildConfig
- Pass versionName and versionCode from AboutModel to AboutApp
- Remove dependency on BuildConfig in AboutApp
- Update AboutApp_Preview with sample version info
* Update URI statistics parameters
- Update `withStatParams` to include package name and version
- Replace `BuildConfig.APPLICATION_ID` with `context.packageName`
- Add context parameter to `withStatParams` in various activities
* Don't depend on BuildConfig for application name and version
- Introduce `ProductIds` for managing product IDs and User-Agent
- Update various classes to use `ProductIds` for product ID generation
- Move `TextTable` class from `at.bitfire.davdroid` to `at.bitfire.davdroid.util`
* Refactor OAuth classes for dependency injection
- Convert `OAuthFastmail` and `OAuthGoogle` to injectable classes
- Update `FastmailLoginModel` and `GoogleLoginModel` to use injected instances
- Move `redirectUri` initialization to `OAuthIntegration` constructor
* Adapt DI
- Move CustomCertManagerModule to ose configuration
- Move coroutine scopes to scope package
* minor changes
* Remove custom certificate build config
- Remove `allowCustomCerts` build config field
- Replace `@Singleton` with `@Reusable` in CustomCertManagerModule
* Update imports and LogcatHandler initialization
- Update imports to use scoped dispatchers
- Replace BuildConfig.APPLICATION_ID with javaClass.name in LogcatHandler initialization
2026-02-05 13:59:31 +01:00
Ricki Hirner
490abcb88a
Reduce BuildConfig dependencies ( #1969 )
...
* Update IntroScreen colors
- Replace M3ColorScheme with MaterialTheme.colorScheme
- Update background and icon colors to use MaterialTheme
* Update color scheme references
- Replace `M3ColorScheme.primaryLight` with `MaterialTheme.colorScheme.primary` in `WelcomePage.kt` and `AccountsDrawerHandler.kt`.
* Update AppTheme to accept custom color schemes
- Add `lightColorScheme` and `darkColorScheme` parameters
- Replace hardcoded color schemes with the new parameters
* Add color scheme dependency injection
- Add `LightColorScheme` and `DarkColorScheme` qualifiers
- Create `OseColorSchemes` module for providing color schemes
- Update `AppTheme` to use injected color schemes
* Update glance material dependency to material3
- Update `androidx.glance.material` to `androidx.glance.material3`
- Adjust imports and usage in `IconSyncButtonWidget.kt` and `LabeledSyncButtonWidget.kt` to use `GlanceTheme` and `ColorProviders` for color schemes
- Replace deprecated `ColorProvider` with `GlanceTheme.colors` for primary and onPrimary colors
* Refactor widget receivers and widgets to use dependency injection more properly
- Update `LabeledSyncButtonWidgetReceiver` and `IconSyncButtonWidgetReceiver` to use Hilt for dependency injection.
- Inject `SyncWidgetModel`, `LightColorScheme`, and `DarkColorScheme` into both widget receivers.
- Remove the use of `EntryPoint` and `EntryPointAccessors` from `LabeledSyncButtonWidget` and `IconSyncButtonWidget`.
- Pass injected dependencies directly to the widget constructors.
* Rename ThemeColors to OseTheme
- Update imports and references to use OseTheme
- Rename object M3ColorScheme to OseTheme
* Move AppTheme to ui.composable package because it's a reusable Composable
* Update AboutApp to use dynamic version info instead of BuildConfig
- Pass versionName and versionCode from AboutModel to AboutApp
- Remove dependency on BuildConfig in AboutApp
- Update AboutApp_Preview with sample version info
* Update URI statistics parameters
- Update `withStatParams` to include package name and version
- Replace `BuildConfig.APPLICATION_ID` with `context.packageName`
- Add context parameter to `withStatParams` in various activities
* Don't depend on BuildConfig for application name and version
- Introduce `ProductIds` for managing product IDs and User-Agent
- Update various classes to use `ProductIds` for product ID generation
- Move `TextTable` class from `at.bitfire.davdroid` to `at.bitfire.davdroid.util`
* Refactor OAuth classes for dependency injection
- Convert `OAuthFastmail` and `OAuthGoogle` to injectable classes
- Update `FastmailLoginModel` and `GoogleLoginModel` to use injected instances
- Move `redirectUri` initialization to `OAuthIntegration` constructor
2026-02-05 12:20:21 +01:00
Ricki Hirner
cca12e79d8
[UI] Properly provide color schemes over DI ( #1966 )
...
* Update IntroScreen colors
- Replace M3ColorScheme with MaterialTheme.colorScheme
- Update background and icon colors to use MaterialTheme
* Update color scheme references
- Replace `M3ColorScheme.primaryLight` with `MaterialTheme.colorScheme.primary` in `WelcomePage.kt` and `AccountsDrawerHandler.kt`.
* Update AppTheme to accept custom color schemes
- Add `lightColorScheme` and `darkColorScheme` parameters
- Replace hardcoded color schemes with the new parameters
* Add color scheme dependency injection
- Add `LightColorScheme` and `DarkColorScheme` qualifiers
- Create `OseColorSchemes` module for providing color schemes
- Update `AppTheme` to use injected color schemes
* Update glance material dependency to material3
- Update `androidx.glance.material` to `androidx.glance.material3`
- Adjust imports and usage in `IconSyncButtonWidget.kt` and `LabeledSyncButtonWidget.kt` to use `GlanceTheme` and `ColorProviders` for color schemes
- Replace deprecated `ColorProvider` with `GlanceTheme.colors` for primary and onPrimary colors
* Refactor widget receivers and widgets to use dependency injection more properly
- Update `LabeledSyncButtonWidgetReceiver` and `IconSyncButtonWidgetReceiver` to use Hilt for dependency injection.
- Inject `SyncWidgetModel`, `LightColorScheme`, and `DarkColorScheme` into both widget receivers.
- Remove the use of `EntryPoint` and `EntryPointAccessors` from `LabeledSyncButtonWidget` and `IconSyncButtonWidget`.
- Pass injected dependencies directly to the widget constructors.
* Rename ThemeColors to OseTheme
- Update imports and references to use OseTheme
- Rename object M3ColorScheme to OseTheme
* Move AppTheme to ui.composable package because it's a reusable Composable
* Always use Light Color Scheme for certain intro UI
- Inject `lightColorScheme` in `IntroActivity`
- Pass `lightColorScheme` to `IntroScreen`
- Use `lightColorScheme` for background and color in `IntroScreen` and `WelcomePage`
* Minor syntax
2026-02-05 11:43:55 +01:00
Ricki Hirner
915cf73027
Update version to 4.5.9
2026-02-04 10:58:57 +01:00
Ricki Hirner
53773eaf83
Go back to 4.5.9-rc.2 (4.5.9 with version code 405090003 was never released)
2026-02-03 16:00:55 +01:00
Ricki Hirner
9cd685982d
Update synctools to correctly process tel: URIs in vCards ( #1963 )
2026-02-03 15:59:46 +01:00
Sunik Kupfer
d4902e84ce
[synctools] Tasks rewrite: Use reader/writer ( #1959 )
...
* Update synctools; Use writer/reader
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update synctools
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2026-02-03 15:22:15 +01:00
dependabot[bot]
ec485fcfa5
Bump the app-dependencies group with 8 updates ( #1961 )
...
Bumps the app-dependencies group with 8 updates:
| Package | From | To |
| --- | --- | --- |
| gradle-wrapper | `9.3.0` | `9.3.1` |
| androidx.activity:activity-compose | `1.12.2` | `1.12.3` |
| androidx.compose:compose-bom | `2026.01.00` | `2026.01.01` |
| androidx.paging:paging-runtime-ktx | `3.3.6` | `3.4.0` |
| androidx.paging:paging-compose | `3.3.6` | `3.4.0` |
| androidx.work:work-runtime-ktx | `2.11.0` | `2.11.1` |
| androidx.work:work-testing | `2.11.0` | `2.11.1` |
| [com.google.devtools.ksp](https://github.com/google/ksp ) | `2.3.4` | `2.3.5` |
Updates `gradle-wrapper` from 9.3.0 to 9.3.1
Updates `androidx.activity:activity-compose` from 1.12.2 to 1.12.3
Updates `androidx.compose:compose-bom` from 2026.01.00 to 2026.01.01
Updates `androidx.paging:paging-runtime-ktx` from 3.3.6 to 3.4.0
Updates `androidx.paging:paging-compose` from 3.3.6 to 3.4.0
Updates `androidx.paging:paging-compose` from 3.3.6 to 3.4.0
Updates `androidx.work:work-runtime-ktx` from 2.11.0 to 2.11.1
Updates `androidx.work:work-testing` from 2.11.0 to 2.11.1
Updates `androidx.work:work-testing` from 2.11.0 to 2.11.1
Updates `com.google.devtools.ksp` from 2.3.4 to 2.3.5
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.3.4...2.3.5 )
---
updated-dependencies:
- dependency-name: gradle-wrapper
dependency-version: 9.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.activity:activity-compose
dependency-version: 1.12.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.compose:compose-bom
dependency-version: 2026.01.01
dependency-type: direct:production
dependency-group: app-dependencies
- dependency-name: androidx.paging:paging-runtime-ktx
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.paging:paging-compose
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.paging:paging-compose
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.work:work-runtime-ktx
dependency-version: 2.11.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.work:work-testing
dependency-version: 2.11.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.work:work-testing
dependency-version: 2.11.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.google.devtools.ksp
dependency-version: 2.3.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-03 14:57:10 +01:00
Ricki Hirner
5709aaa2e5
Bump version to 4.5.9
2026-02-03 12:12:05 +01:00
Ricki Hirner
a19c397ef6
Sync files with davx5 repo ( #1958 )
...
* Sync changes with davx5 repo
* Remove unnecessary test launcher icons
2026-02-02 12:30:04 +01:00
Ricki Hirner
dad4298dd5
Bump version to 4.5.9-rc.1
2026-02-02 10:12:52 +01:00
Weblate (bot)
8e78e6e3ac
Translations update from Hosted Weblate ( #1955 )
...
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/pt_BR/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/zh_Hans/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/et/
* Translated using Weblate (Dutch)
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/nl/
* Added translation using Weblate (Lithuanian)
* Translated using Weblate (Lithuanian)
Currently translated at 7.6% (33 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/lt/
* Translated using Weblate (Georgian)
Currently translated at 84.6% (364 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/ka/
* Translated using Weblate (Romanian)
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/ro/
* Translated using Weblate (Italian)
Currently translated at 88.1% (379 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/it/
* Translated using Weblate (Italian)
Currently translated at 100.0% (4 of 4 strings)
Translation: davx5/DAVx⁵ app metadata (for F-Droid)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-fastlane/it/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (437 of 437 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/et/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (437 of 437 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/zh_Hans/
* Translated using Weblate (Dutch)
Currently translated at 100.0% (437 of 437 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/nl/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (437 of 437 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/pt_BR/
---------
Co-authored-by: LucasMZ <git@lucasmz.dev >
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org >
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org >
Co-authored-by: Stephan Paternotte <stephan@paternottes.net >
Co-authored-by: Vaclovas Intas <Gateway_31@protonmail.com >
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com >
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com >
Co-authored-by: Alì Mortacci <newscpq@vivaldi.net >
2026-02-02 10:12:10 +01:00
Ricki Hirner
fc878d519f
Update synctools to process phone numbers with VALUE=URI ( #1956 )
2026-02-02 10:11:40 +01:00
Ricki Hirner
45d5d809fc
Bump version to 4.5.9-alpha.2
2026-01-29 14:17:59 +01:00
Ricki Hirner
ef1d90f740
Cache SSLSocketFactories to allow okhttp HTTPS connection reuse ( #1942 )
...
* Reuse CustomCertManager
- Update bitfire-cert4android to 75cc6913fd
- Refactor HttpClientBuilder to use Optional for customTrustManager and customHostnameVerifier
- Add CustomCertManagerModule for dependency injection
* Implement connection security manager for HTTP client
- Introduce `ConnectionSecurityManager` and `ConnectionSecurityContext` classes
- Refactor `HttpClientBuilder` to use the new security manager for SSL context setup
* [WIP] Cache SSLContext by certificate alias
- Add context cache using Guava CacheBuilder
- Cache SSLContext in getContext method
* Update comments in HttpClientBuilder.kt for clarity
* Update ConnectionSecurityManager to use SSLSocketFactory caching
* Refactor socket factory caching logic for better clarity
* Add tests
* Refactor socket factory cache to store only SSLSocketFactory
* Minor changes
- Change socketFactoryCache to use LinkedHashMap instead of ConcurrentHashMap
- Update cache key handling to use String? instead of Optional<String>
* Add tests for caching
* Add logging
* Indenting
* Minor simplification
* Fix tests
2026-01-29 14:09:09 +01:00
Arnau Mora
5efcbfc5a3
Set Calendars.IS_PRIMARY to 0 by default ( #1945 )
...
* Start setting `IS_PRIMARY`
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Set `IS_PRIMARY` to `0`
* Remove unused injection
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Improve explanation
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2026-01-29 12:30:23 +01:00
Sunik Kupfer
4f3ff69b43
Update synctools ( #1952 )
...
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2026-01-29 12:18:29 +01:00
Ricki Hirner
afe00c275e
Update CODEOWNERS ( #1949 )
2026-01-28 13:18:28 +01:00
Sunik Kupfer
03c4aa9938
Ignore AccountSettingsMigration21Test.testCancelsSyncAndClearsPendingState with flaky behaviour in CI ( #1948 )
...
Ignore test with flaky behaviour in CI
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2026-01-28 11:25:00 +01:00
dependabot[bot]
63a5359c06
Bump the app-dependencies group with 7 updates ( #1944 )
...
Bumps the app-dependencies group with 7 updates:
| Package | From | To |
| --- | --- | --- |
| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor ) | `3.3.3` | `3.4.0` |
| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) | `3.3.3` | `3.4.0` |
| [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor ) | `3.3.3` | `3.4.0` |
| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor ) | `3.3.3` | `3.4.0` |
| [io.mockk:mockk](https://github.com/mockk/mockk ) | `1.14.7` | `1.14.9` |
| [io.mockk:mockk-android](https://github.com/mockk/mockk ) | `1.14.7` | `1.14.9` |
| [org.robolectric:robolectric](https://github.com/robolectric/robolectric ) | `4.16` | `4.16.1` |
Updates `io.ktor:ktor-client-content-negotiation` from 3.3.3 to 3.4.0
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.3.3...3.4.0 )
Updates `io.ktor:ktor-client-core` from 3.3.3 to 3.4.0
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.3.3...3.4.0 )
Updates `io.ktor:ktor-client-okhttp` from 3.3.3 to 3.4.0
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.3.3...3.4.0 )
Updates `io.ktor:ktor-serialization-kotlinx-json` from 3.3.3 to 3.4.0
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.3.3...3.4.0 )
Updates `io.ktor:ktor-client-core` from 3.3.3 to 3.4.0
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.3.3...3.4.0 )
Updates `io.ktor:ktor-client-okhttp` from 3.3.3 to 3.4.0
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.3.3...3.4.0 )
Updates `io.ktor:ktor-serialization-kotlinx-json` from 3.3.3 to 3.4.0
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.3.3...3.4.0 )
Updates `io.mockk:mockk` from 1.14.7 to 1.14.9
- [Release notes](https://github.com/mockk/mockk/releases )
- [Commits](https://github.com/mockk/mockk/compare/1.14.7...1.14.9 )
Updates `io.mockk:mockk-android` from 1.14.7 to 1.14.9
- [Release notes](https://github.com/mockk/mockk/releases )
- [Commits](https://github.com/mockk/mockk/compare/1.14.7...1.14.9 )
Updates `io.mockk:mockk-android` from 1.14.7 to 1.14.9
- [Release notes](https://github.com/mockk/mockk/releases )
- [Commits](https://github.com/mockk/mockk/compare/1.14.7...1.14.9 )
Updates `org.robolectric:robolectric` from 4.16 to 4.16.1
- [Release notes](https://github.com/robolectric/robolectric/releases )
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.16...robolectric-4.16.1 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: io.ktor:ktor-client-core
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: io.ktor:ktor-client-okhttp
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: io.ktor:ktor-client-core
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: io.ktor:ktor-client-okhttp
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: io.mockk:mockk
dependency-version: 1.14.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: io.mockk:mockk-android
dependency-version: 1.14.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: io.mockk:mockk-android
dependency-version: 1.14.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: org.robolectric:robolectric
dependency-version: 4.16.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-26 17:26:59 +01:00
Weblate (bot)
89a7cd2885
Translations update from Hosted Weblate ( #1943 )
...
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/pt_BR/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/zh_Hans/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/et/
* Translated using Weblate (Dutch)
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/nl/
* Added translation using Weblate (Lithuanian)
* Translated using Weblate (Lithuanian)
Currently translated at 7.6% (33 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/lt/
* Translated using Weblate (Georgian)
Currently translated at 84.6% (364 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/ka/
* Translated using Weblate (Romanian)
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/ro/
* Translated using Weblate (Italian)
Currently translated at 88.1% (379 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/it/
* Translated using Weblate (Italian)
Currently translated at 100.0% (4 of 4 strings)
Translation: davx5/DAVx⁵ app metadata (for F-Droid)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-fastlane/it/
---------
Co-authored-by: LucasMZ <git@lucasmz.dev >
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org >
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org >
Co-authored-by: Stephan Paternotte <stephan@paternottes.net >
Co-authored-by: Vaclovas Intas <Gateway_31@protonmail.com >
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com >
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com >
Co-authored-by: Alì Mortacci <newscpq@vivaldi.net >
2026-01-25 18:14:56 +01:00
Ricki Hirner
db25570581
Bump version to 4.5.9-alpha.1
2026-01-25 17:52:15 +01:00
Arnau Mora
3de34e53d0
Migrate translation contributors credits to Weblate ( #1918 )
...
* Update loading method for Weblate
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Add fetch script
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Add test function
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Add credits from Transifex
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Add workflow for updating Weblate credits
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Improve styling
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Add line break at the end
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Filter Ricki in translation contributions
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Display Transifex translations
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Modify PRs, not the base branch
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fix paddings
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Rename weblateTranslations flow and loadWeblateTranslations function
* Rename variables and functions from `translations` to `translators`
* - Move AboutActivity.Model class to AboutModel
* Rename translators files
* Minor renaming
* Refactor sorting logic into `sortTranslators` function
* Rename script to fetch Weblate translators
* - Remove `AboutActivityTest` class
- Move `loadTransifexTranslators` function to `AboutModel`
- Update `loadWeblateTranslators` function in `AboutModel`
* Update Weblate workflow
* - Combine Weblate and Transifex translators into a single list
- Update AboutActivity to use the combined list
- Add tests for the new functionality
* Merge Transifex and Weblate translators by username, don't show language, add Engage widget
* Extract TranslationsTab
* AboutModel: update tests
* Add thanks message for translation contributors
* Move translation credits to Weblate
- Update `OpenSourceLicenseInfoProvider` path
- Add new strings for translations credits
- Update `TranslationsTab` with new strings
* Add Accept-Language, update Context
* Update Weblate Translators Workflow
- Allow workflow to run on specific branch for testing
- Remove unnecessary fetch-depth comment
* Update Weblate Translators Workflow (2)
* Remove workflow
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2026-01-25 17:51:34 +01:00
Ricki Hirner
af084fb5d0
Add "Backups reminder" intro screen ( #1937 )
...
* Add BackupsPage to intro UI
* Add BackupsPage UI
- Implement BackupsPage composable with UI elements
- Add strings for backups reminder and acceptance
* Add to "Reset hints"
* Add another paragraph
* Update backup screen hints
- Update backups reminder text
- Remove redundant versioning note
- Update acceptance message
2026-01-25 17:48:09 +01:00
Ricki Hirner
47685e6693
[WebDAV] Rewrite COPY/MOVE (including rename) to Ktor ( #1940 )
...
* [WebDAV] Refactor RenameDocumentOperation to Ktor
- Update imports to use Ktor-based classes
- Refactor `RenameDocumentOperation` to use Ktor HTTP client
- Add support for both HttpException types in `throwForDocumentProvider`
* Rewrite CopyDocumentOperation.kt to Ktor
* Refactor URLBuilder usage
- Update URLBuilder usage in RenameDocumentOperation.kt
- Update URLBuilder usage in CopyDocumentOperation.kt
- Update URLBuilder usage in MoveDocumentOperation.kt
* - Pass `ioDispatcher` to `runBlocking` in WebDAV operations
- Refactor timeout configuration in HttpClientBuilder for reusability
* Add logging to DocumentProviderUtils
- Introduce a logger instance
- Log URI when notifying folder changes
2026-01-24 19:28:50 +01:00
Ricki Hirner
2c7b36ecd5
Use Ktor for Push registration ( #1930 )
...
* Replace OkHttp with Ktor for push notifications
* Use Ktor HttpHeaders for Location and Expires
2026-01-23 10:27:16 +01:00
Ricki Hirner
cf80b11808
[WebDAV] Rewrite OpenDocumentThumbnailOperation to Ktor ( #1931 )
...
* Add Ktor HTTP client support
- Introduce `buildKtor` method in `DavHttpClientBuilder` for creating Ktor HTTP clients.
- Update `OpenDocumentThumbnailOperation` to use Ktor for downloading and creating thumbnails.
* Refactor HttpClientBuilder creation
- Extract common logic into `createBuilder` method
- Update `build` and `buildKtor` methods to use `createBuilder`
* Refactor OpenDocumentThumbnailOperation
- Remove unnecessary `withContext` call
- Use `HttpHeaders.Accept` and `ContentType.Image.Any` for HTTP header
- Simplify the function structure
* Refactor thumbnail generation
- Remove redundant `accessScope`
- Simplify and encapsulate thumbnail creation logic
- Ensure proper cancellation handling
* Update OpenDocumentThumbnailOperation logging
- Enhance cancellation log message with document ID
- Improve URL conversion warning message
* Update WebDAV operations and document handling
- Add `@MustBeClosed` annotation to `buildKtor` method in `DavHttpClientBuilder`
- Remove unnecessary imports and update URL conversion in `OpenDocumentThumbnailOperation`
- Add `toKtorUrl` method in `WebDavDocument` for URL conversion
* Use streaming bitmap decoding
* Add comments to OpenDocumentThumbnailOperation for future improvements
---------
Co-authored-by: Arnau Mora <arnyminerz@proton.me >
2026-01-22 17:05:32 +01:00
Sunik Kupfer
18649f711a
DmfsTaskList refactoring ( #1934 )
...
* DmfsTaskList refactoring
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update synctools
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2026-01-21 13:17:34 +01:00
Sunik Kupfer
377a159e75
Ignore test with flaky behaviour in CI ( #1936 )
...
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2026-01-21 13:17:23 +01:00
Ricki Hirner
393d22f720
AGP 9.0: update Hilt, remove Kotlin Android plugin ( #1935 )
...
- Remove `android.builtInKotlin` from `gradle.properties`
- Update Hilt version to 2.59
- Remove Kotlin Android plugin from `libs.versions.toml` and build scripts
2026-01-21 11:28:40 +01:00
dependabot[bot]
5b12ecf6b6
Bump the app-dependencies group across 1 directory with 2 updates ( #1933 )
...
Bumps the app-dependencies group with 2 updates in the / directory: androidx.compose:compose-bom and [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava ).
Updates `androidx.compose:compose-bom` from 2025.12.01 to 2026.01.00
Updates `dnsjava:dnsjava` from 3.6.3 to 3.6.4
- [Release notes](https://github.com/dnsjava/dnsjava/releases )
- [Changelog](https://github.com/dnsjava/dnsjava/blob/master/Changelog )
- [Commits](https://github.com/dnsjava/dnsjava/compare/v3.6.3...v3.6.4 )
---
updated-dependencies:
- dependency-name: androidx.compose:compose-bom
dependency-version: 2026.01.00
dependency-type: direct:production
dependency-group: app-dependencies
- dependency-name: dnsjava:dnsjava
dependency-version: 3.6.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-20 16:34:51 +01:00
Ricki Hirner
f8f6134640
Update AGP to 9.0.0 ( #1929 )
...
* Update gradle wrapper
* Update AGP to 9.0.0 (legacy mode) and synctools (which now also uses AGP 9.0.0)
2026-01-20 12:45:58 +01:00
Ricki Hirner
0f7908da23
Remove Transifex config/scripts ( #1924 )
2026-01-19 10:59:34 +01:00
Weblate (bot)
40741f52e1
Translations update from Hosted Weblate ( #1928 )
...
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/pt_BR/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/zh_Hans/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/et/
* Translated using Weblate (Dutch)
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/nl/
* Added translation using Weblate (Lithuanian)
* Translated using Weblate (Lithuanian)
Currently translated at 7.6% (33 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/lt/
* Translated using Weblate (Georgian)
Currently translated at 84.6% (364 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/ka/
---------
Co-authored-by: LucasMZ <git@lucasmz.dev >
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org >
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org >
Co-authored-by: Stephan Paternotte <stephan@paternottes.net >
Co-authored-by: Vaclovas Intas <Gateway_31@protonmail.com >
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com >
2026-01-19 09:48:24 +01:00
Ricki Hirner
210a03bd1a
Bump version to 4.5.8
2026-01-19 09:35:38 +01:00
Ricki Hirner
714c92b8d9
Bump version to 4.5.8-rc.2
2026-01-16 15:45:48 +01:00
Ricki Hirner
5ea937a0f9
Update dav4jvm to catch URLDecodeException when converting String to Ktor Url ( #1923 )
2026-01-16 15:43:54 +01:00
Ricki Hirner
126b742887
Decode data URIs of vCard 3 PHOTOs ( #1921 )
...
* Rename ResourceDownloader to ResourceRetriever (because it should support `data` URLs that don't have to be downloaded)
* Update `ResourceRetriever` to handle data URIs and HTTP/HTTPS URLs
* Handle invalid data URIs
2026-01-16 11:52:49 +01:00
Weblate (bot)
2de7e09c82
Translations update from Hosted Weblate ( #1917 )
...
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/pt_BR/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/zh_Hans/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/et/
---------
Co-authored-by: LucasMZ <git@lucasmz.dev >
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org >
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org >
2026-01-14 12:03:49 +01:00
Ricki Hirner
0312f59aab
Bump version to 4.5.8-rc.1
2026-01-14 12:00:05 +01:00
Weblate (bot)
b3682ded1a
Translations update from Hosted Weblate ( #1915 )
...
* Update translation files
Updated by "Cleanup translation files" add-on in Weblate.
Translation: davx5/DAVx⁵ strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/pt_BR/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/zh_Hans/
* Translated using Weblate (Catalan)
Currently translated at 100.0% (4 of 4 strings)
Translation: davx5/DAVx⁵ app metadata (for F-Droid)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-fastlane/ca/
---------
Co-authored-by: LucasMZ <git@lucasmz.dev >
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org >
Co-authored-by: Arnau Mora <arnyminer.z@gmail.com >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2026-01-13 16:00:16 +01:00
Weblate (bot)
529378000a
Translations update from Hosted Weblate ( #1913 )
...
* Update translation files
Updated by "Cleanup translation files" add-on in Weblate.
Translation: davx5/DAVx⁵ Main Strings
Translate-URL: https://hosted.weblate.org/projects/davx5/davx-main-strings/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (430 of 430 strings)
Translation: davx5/DAVx⁵ Main Strings
Translate-URL: https://hosted.weblate.org/projects/davx5/davx-main-strings/zh_Hans/
---------
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org >
2026-01-13 12:41:45 +01:00
Ricki Hirner
8644c94c34
[Backport from davx5] Remove empty fa-rIR translations
2026-01-13 12:07:08 +01:00
Ricki Hirner
5357bdefb8
Fastlane app descriptions: use fr-FR translation for French ( #1912 )
2026-01-12 14:43:36 +01:00
Arnau Mora
07b646e4e7
Remove r from lang names as per Fastlane requirement ( #1897 )
...
* Remove `r` from lang names as per Fastlane requirement
* Add `lang_map` to fastlane resources
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2026-01-12 14:31:09 +01:00
Sunik Kupfer
77cb3e659d
Improve pagination ( #1911 )
...
* Cache paging data flow in view model
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Replace let with early return
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Move only-personal filtering decision to repository
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Move companion object to the end of class
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Use default dispatcher for account settings interaction
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add androidx prefixes
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add kdoc
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Move cachedIn to use-case
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update kdoc
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2026-01-12 13:48:02 +01:00
Ricki Hirner
42d65c872e
Explain clear-text traffic in network security policy ( bitfireAT/davx5#760 )
...
Allow clear-text traffic for all variants; more documentation
2026-01-12 10:43:29 +01:00
Sunik Kupfer
c3fd28f820
Return null when owner account does not exist to skip flaky test ( #1908 )
...
Return null when owner account does not exist
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2026-01-08 12:18:37 +01:00
Ricki Hirner
9ad98e4a16
Enable HTTP connection reuse for okhttp ( #1907 )
...
* Enable HTTP connection reuse
- Create a shared OkHttpClient instance for connection pooling
- Utilize sharedOkHttpClient.newBuilder() for new client instances
* Add test
* KDoc clarification
2026-01-06 13:28:48 +01:00
dependabot[bot]
27c1be948f
Bump org.unifiedpush.android:connector from 3.1.2 to 3.2.0 in the app-dependencies group ( #1906 )
...
Bump org.unifiedpush.android:connector in the app-dependencies group
Bumps the app-dependencies group with 1 update: org.unifiedpush.android:connector.
Updates `org.unifiedpush.android:connector` from 3.1.2 to 3.2.0
---
updated-dependencies:
- dependency-name: org.unifiedpush.android:connector
dependency-version: 3.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-05 16:50:08 +01:00
Ricki Hirner
ac7ef1a7e5
Update README and CONTRIBUTING ( #1905 )
2026-01-05 14:26:10 +01:00
Ricki Hirner
e0eb13f57b
CodeQL: run for main branch PRs ( #1904 )
...
CodeQL: run for main branch PRs, adapt build command
2026-01-05 12:27:25 +01:00
dependabot[bot]
85c4fc76f2
Bump the app-dependencies group across 1 directory with 5 updates ( #1902 )
...
Bumps the app-dependencies group with 5 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| androidx.activity:activity-compose | `1.12.1` | `1.12.2` |
| androidx.compose:compose-bom | `2025.12.00` | `2025.12.01` |
| [com.mikepenz:aboutlibraries-compose-m3](https://github.com/mikepenz/AboutLibraries ) | `13.1.0` | `13.2.1` |
| com.mikepenz.aboutlibraries.plugin.android | `13.1.0` | `13.2.1` |
| [com.google.devtools.ksp](https://github.com/google/ksp ) | `2.3.3` | `2.3.4` |
Updates `androidx.activity:activity-compose` from 1.12.1 to 1.12.2
Updates `androidx.compose:compose-bom` from 2025.12.00 to 2025.12.01
Updates `com.mikepenz:aboutlibraries-compose-m3` from 13.1.0 to 13.2.1
- [Release notes](https://github.com/mikepenz/AboutLibraries/releases )
- [Commits](https://github.com/mikepenz/AboutLibraries/compare/13.1.0...13.2.1 )
Updates `com.mikepenz.aboutlibraries.plugin.android` from 13.1.0 to 13.2.1
Updates `com.google.devtools.ksp` from 2.3.3 to 2.3.4
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.3.3...2.3.4 )
Updates `com.mikepenz.aboutlibraries.plugin.android` from 13.1.0 to 13.2.1
---
updated-dependencies:
- dependency-name: androidx.activity:activity-compose
dependency-version: 1.12.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.compose:compose-bom
dependency-version: 2025.12.01
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.mikepenz:aboutlibraries-compose-m3
dependency-version: 13.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.mikepenz.aboutlibraries.plugin.android
dependency-version: 13.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.google.devtools.ksp
dependency-version: 2.3.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.mikepenz.aboutlibraries.plugin.android
dependency-version: 13.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-04 12:38:52 +01:00
Ricki Hirner
6bd9422f3b
[CI] Don't require build cache secrets ( #1900 )
...
* Don't require build cache secrets
* Use our labels for Dependabot PRs
2026-01-04 12:06:28 +01:00
Ricki Hirner
9754770238
[CI] Fix pre-populating configuration cache
2025-12-18 10:36:29 +01:00
Ricki Hirner
6be15fd366
[CI] Actually use configuration cache ( #1891 )
...
* Cache configurations per job
* Use separate job for Dependency submission
* Use GRADLE_OPTS to enable build and configuration cache
* Test .android
* Cache .android for configuration cache
* Disable CodeQL for PRs
* Fix AVD path
2025-12-18 10:27:01 +01:00
Ricki Hirner
0cb27f0c2f
[CI] Add gradle remote build cache ( bitfireAT/davx5#752 )
...
* [CI] Add gradle remote build cache
* Update workflow
* Don't cache local build cache; pre-populate configuration cache
* Allow configuration caching of tasks
* Free some disk space before running instrumented tests; cache whole .android (not only .android/avd)
* Allow branches to update configuration cache
* Use dry run to pre-populate configuration cache
* Test runs: don't cache
* Fix remote build cache configuration for non-CI builds
* Add comment
2025-12-17 18:06:17 +01:00
Sunik Kupfer
776305bd12
Rename dismissInvalidResource to dismissCollectionError ( #1887 )
...
Rename method for clarity
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-12-17 13:14:06 +01:00
dependabot[bot]
01f54df3c0
[CI] Bump actions/cache from 4 to 5 in the ci-actions group ( #1886 )
...
Bumps the ci-actions group with 1 update: [actions/cache](https://github.com/actions/cache ).
Updates `actions/cache` from 4 to 5
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](https://github.com/actions/cache/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: ci-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-16 13:38:54 +01:00
Ricki Hirner
4944ce59b1
Version bump to 4.5.8-alpha.1
2025-12-12 15:32:30 +01:00
Sunik Kupfer
0e455d8371
LocalTaskList: Stop subclassing DmfsTaskList ( #1882 )
...
* LocalTaskList: Stop subclassing DmfsTaskList
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
# Conflicts:
# gradle/libs.versions.toml
* Dont touch agp
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update synctools
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-12-11 16:22:02 +01:00
Ricki Hirner
a938b511cd
Nextcloud Login Flow: handle non-success status codes ( #1878 )
...
* Nextcloud Login Flow: handle non-success status codes
* Update error message to use class name when localized message is null
* Update dav4jvm to get HTTP reason phrases in HttpException
2025-12-11 15:30:32 +01:00
Ricki Hirner
d32b86789b
Update AGP
2025-12-11 15:13:15 +01:00
Sunik Kupfer
84d58f73db
Assume initial state for test updatesOwnerAccount ( #1874 )
...
* Assume initial state
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Enhance comment
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Don't pass provider
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-12-11 14:16:03 +01:00
dependabot[bot]
cc43998148
Bump the app-dependencies group with 4 updates ( #1867 )
...
* Bump the app-dependencies group with 4 updates
Bumps the app-dependencies group with 4 updates: androidx.activity:activity-compose, androidx.compose:compose-bom, [io.mockk:mockk](https://github.com/mockk/mockk ) and [io.mockk:mockk-android](https://github.com/mockk/mockk ).
Updates `androidx.activity:activity-compose` from 1.12.0 to 1.12.1
Updates `androidx.compose:compose-bom` from 2025.11.01 to 2025.12.00
Updates `io.mockk:mockk` from 1.14.5 to 1.14.7
- [Release notes](https://github.com/mockk/mockk/releases )
- [Commits](https://github.com/mockk/mockk/compare/1.14.5...1.14.7 )
Updates `io.mockk:mockk-android` from 1.14.5 to 1.14.7
- [Release notes](https://github.com/mockk/mockk/releases )
- [Commits](https://github.com/mockk/mockk/compare/1.14.5...1.14.7 )
Updates `io.mockk:mockk-android` from 1.14.5 to 1.14.7
- [Release notes](https://github.com/mockk/mockk/releases )
- [Commits](https://github.com/mockk/mockk/compare/1.14.5...1.14.7 )
---
updated-dependencies:
- dependency-name: androidx.activity:activity-compose
dependency-version: 1.12.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.compose:compose-bom
dependency-version: 2025.12.00
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: io.mockk:mockk
dependency-version: 1.14.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: io.mockk:mockk-android
dependency-version: 1.14.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: io.mockk:mockk-android
dependency-version: 1.14.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
* Override SDK level
* Suppress lint warnings for LaunchedEffect / Context.getString
* Suppress lint warnings for other Context.getStrings (or replace by stringResource if possible)
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnau Mora Gras <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-12-11 11:27:37 +01:00
Sunik Kupfer
b354bfebc2
LocalTask: Don't subclass DmfsTask ( #1862 )
...
* LocalTask: Don't subclass DmfsTask
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Adapt usages
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update synctools
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-12-10 14:37:23 +01:00
Sunik Kupfer
29240ea16f
Skip flaky test when not moving into anticipated forever pending sync state ( #1872 )
...
* Assume we moved into forever pending sync state
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update comment
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-12-10 10:25:58 +01:00
Ricki Hirner
e7b88f9aa8
Version bump to 4.5.7.1
2025-12-09 11:49:50 +01:00
Arnau Mora
4d71517cde
Delegate fileName into DmfsTask.syncId ( #1871 )
...
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-12-09 10:40:22 +01:00
Ricki Hirner
0d4f154baf
Use Ktor for Nextcloud Login Flow ( #1817 )
...
* [WIP] Use Ktor for Nextcloud login flow
- Replace OkHttp with Ktor for HTTP requests
- Update URL handling to use Ktor's `Url` class
- Adjust `postForJson` method to use Ktor's HTTP client
- Refactor URL building logic for login flow initiation
* Use Ktor for Nextcloud login flow
- Migrate to Ktor's ContentNegotiation plugin for JSON handling
- Update dependencies and configuration for Ktor serialization
- Refactor `NextcloudLoginFlow` to use Ktor's JSON serialization
* Add tests
* Allow unit tests that mock/use HttpClient without Conscrypt
* KDoc
* Minor fixes
* Use toUrlOrNull from dav4jvm
* Don't change strings in this PR
* Update dav4jvm and synctools
2025-12-08 15:40:39 +01:00
Ricki Hirner
9eb70a5564
Bump version to 4.5.7
2025-12-08 12:19:38 +01:00
Ricki Hirner
24e0a864bd
Update AVD caching in CI workflow ( #1865 )
...
- Split AVD cache handling into restore and save steps
- Add condition to save AVD cache only if restore misses
2025-12-05 16:25:25 +01:00
Ricki Hirner
10ec0c3b6d
Fetch translations from Transifex
2025-12-05 15:20:46 +01:00
Ricki Hirner
bd3349cc38
Bump version to 4.5.7-rc.1
2025-12-05 15:19:43 +01:00
Ricki Hirner
c7bc2b317b
Update synctools ( #1864 )
...
* Update synctools (fixes #1797 , closes #1859 )
* Use `com.github.bitfireAT:synctools` because `com.github.bitfireat:synctools` is not available on Jitpack for this commit
2025-12-05 15:16:29 +01:00
Sunik Kupfer
2d10cbb07d
Improve closing of content provider in verify account owner test ( #1838 )
...
* Optimize imports
* Remove the ignore annotation
* Move provider use out of verify method
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Remove unnecessary provider.use blocks
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add spaces
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Rename lambda param provider to client in LocalDataStore implementations
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Enhance kdoc
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Improve provider client usage
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Replace calling apply with assignment
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Remove whitespace
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add nullable returns even though they never return null
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Apply WillNotClose annotation to client parameter instead of method
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-12-02 10:34:39 +01:00
dependabot[bot]
88928792af
Bump the app-dependencies group with 2 updates ( #1860 )
...
Bumps the app-dependencies group with 2 updates: [io.ktor:ktor-client-core](https://github.com/ktorio/ktor ) and [io.ktor:ktor-client-okhttp](https://github.com/ktorio/ktor ).
Updates `io.ktor:ktor-client-core` from 3.3.2 to 3.3.3
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.3.2...3.3.3 )
Updates `io.ktor:ktor-client-okhttp` from 3.3.2 to 3.3.3
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.3.2...3.3.3 )
Updates `io.ktor:ktor-client-okhttp` from 3.3.2 to 3.3.3
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.3.2...3.3.3 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
dependency-version: 3.3.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: io.ktor:ktor-client-okhttp
dependency-version: 3.3.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: io.ktor:ktor-client-okhttp
dependency-version: 3.3.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-01 18:36:53 +01:00
Sunik Kupfer
b5e8c80db1
Try to fix pending sync state test failures by using a hot flow ( #1839 )
...
* Remove the ignore annotation
* Turn inPendingState in to a hot state flow for the test duration
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Rename methods registering the sync state observer
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-12-01 14:40:52 +01:00
Ricki Hirner
6f09f55e1a
Update synctools (ignores DTEND < DTSTART and inverts negative event durations) ( #1858 )
2025-12-01 12:02:42 +01:00
Ricki Hirner
b08f10a98f
HttpClientBuilder: clarify documentation for authDomain (#1857 )
...
* Update authentication domain parameter
- Rename `onlyHost` to `authDomain` in `fromAccount`
- Update `authenticate` method to use `domain` instead of `host`
- Clarify documentation for `authDomain` parameter
* More KDoc
* Fix other calls / tests
2025-12-01 11:54:36 +01:00
Sunik Kupfer
a3a952d875
LocalTaskList/LocalTask: Consume fields provided by synctools ( #1811 )
...
* Move companion object to end of class
* Update synctools
* Make DmfsTaskList final
* Use DmfsTaskList SyncState
* Drop fields now provided in DmfsTask and adapt constructors
* Use column constants from DmfsTask instead
* Use DmfsTask column constants
* Update synctools
* Don't handle scheduleTag
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update synctools
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-11-27 16:35:17 +01:00
Ricki Hirner
e9fc570895
Extract ResourceDownloader from ContactsSyncManager, add tests ( #1849 )
...
* Add ResourceDownloader and tests
- Introduce `ResourceDownloader` class for downloading external resources
- Add unit tests for `ResourceDownloader`
- Refactor `ContactsSyncManager` to use `ResourceDownloader`
* KDoc
- Add detailed documentation for `download` method
- Clarify authentication handling and return behavior
* Minor changes
2025-11-27 16:10:33 +01:00
Ricki Hirner
098b7d5b12
Log warning instead of throwing exception on multiple build calls ( #1847 )
...
Log warning instead of throwing IllegalStateException on multiple build calls
- Change `build()` to log a warning instead of throwing an exception on subsequent calls.
- Change `buildKtor()` to log a warning instead of throwing an exception on subsequent calls.
2025-11-27 16:08:52 +01:00
Ricki Hirner
a38dc29cca
Update WebDAV property names ( #1841 )
...
* Update WebDAV property names according to new dav4jvm naming scheme
* Use new supported-report-set; fix `MaxResourceSize` property reference in CalendarSyncManager
* Remove comment
2025-11-27 11:46:10 +01:00
Ricki Hirner
84b9a14ba1
Update version to 4.5.6.1
2025-11-27 11:15:39 +01:00
Arnau Mora
cda95dc789
Fix HTTP Client provider for contact resource sync from URL ( #1844 )
...
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-11-27 11:15:06 +01:00
dependabot[bot]
f64882ca2a
Bump the app-dependencies group with 15 updates ( #1840 )
...
Bumps the app-dependencies group with 15 updates:
| Package | From | To |
| --- | --- | --- |
| androidx.activity:activity-compose | `1.11.0` | `1.12.0` |
| androidx.lifecycle:lifecycle-runtime-compose | `2.9.4` | `2.10.0` |
| androidx.lifecycle:lifecycle-viewmodel-ktx | `2.9.4` | `2.10.0` |
| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.4` | `2.10.0` |
| androidx.compose:compose-bom | `2025.11.00` | `2025.11.01` |
| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp ) | `5.3.0` | `5.3.2` |
| [com.squareup.okhttp3:okhttp-brotli](https://github.com/square/okhttp ) | `5.3.0` | `5.3.2` |
| [com.squareup.okhttp3:logging-interceptor](https://github.com/square/okhttp ) | `5.3.0` | `5.3.2` |
| [com.squareup.okhttp3:mockwebserver](https://github.com/square/okhttp ) | `5.3.0` | `5.3.2` |
| androidx.room:room-ktx | `2.8.3` | `2.8.4` |
| androidx.room:room-compiler | `2.8.3` | `2.8.4` |
| androidx.room:room-paging | `2.8.3` | `2.8.4` |
| androidx.room:room-runtime | `2.8.3` | `2.8.4` |
| androidx.room:room-testing | `2.8.3` | `2.8.4` |
| [com.google.devtools.ksp](https://github.com/google/ksp ) | `2.3.2` | `2.3.3` |
Updates `androidx.activity:activity-compose` from 1.11.0 to 1.12.0
Updates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.4 to 2.10.0
Updates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.4 to 2.10.0
Updates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0
Updates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.4 to 2.10.0
Updates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.4 to 2.10.0
Updates `androidx.compose:compose-bom` from 2025.11.00 to 2025.11.01
Updates `com.squareup.okhttp3:okhttp` from 5.3.0 to 5.3.2
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.3.0...parent-5.3.2 )
Updates `com.squareup.okhttp3:okhttp-brotli` from 5.3.0 to 5.3.2
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.3.0...parent-5.3.2 )
Updates `com.squareup.okhttp3:logging-interceptor` from 5.3.0 to 5.3.2
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.3.0...parent-5.3.2 )
Updates `com.squareup.okhttp3:mockwebserver` from 5.3.0 to 5.3.2
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.3.0...parent-5.3.2 )
Updates `com.squareup.okhttp3:okhttp-brotli` from 5.3.0 to 5.3.2
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.3.0...parent-5.3.2 )
Updates `com.squareup.okhttp3:logging-interceptor` from 5.3.0 to 5.3.2
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.3.0...parent-5.3.2 )
Updates `com.squareup.okhttp3:mockwebserver` from 5.3.0 to 5.3.2
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.3.0...parent-5.3.2 )
Updates `androidx.room:room-ktx` from 2.8.3 to 2.8.4
Updates `androidx.room:room-compiler` from 2.8.3 to 2.8.4
Updates `androidx.room:room-paging` from 2.8.3 to 2.8.4
Updates `androidx.room:room-runtime` from 2.8.3 to 2.8.4
Updates `androidx.room:room-testing` from 2.8.3 to 2.8.4
Updates `androidx.room:room-compiler` from 2.8.3 to 2.8.4
Updates `androidx.room:room-paging` from 2.8.3 to 2.8.4
Updates `androidx.room:room-runtime` from 2.8.3 to 2.8.4
Updates `androidx.room:room-testing` from 2.8.3 to 2.8.4
Updates `com.google.devtools.ksp` from 2.3.2 to 2.3.3
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.3.2...2.3.3 )
---
updated-dependencies:
- dependency-name: androidx.activity:activity-compose
dependency-version: 1.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.lifecycle:lifecycle-runtime-compose
dependency-version: 2.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-ktx
dependency-version: 2.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-compose
dependency-version: 2.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-ktx
dependency-version: 2.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-compose
dependency-version: 2.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.compose:compose-bom
dependency-version: 2025.11.01
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:okhttp
dependency-version: 5.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:okhttp-brotli
dependency-version: 5.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:logging-interceptor
dependency-version: 5.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:mockwebserver
dependency-version: 5.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:okhttp-brotli
dependency-version: 5.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:logging-interceptor
dependency-version: 5.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:mockwebserver
dependency-version: 5.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-ktx
dependency-version: 2.8.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-compiler
dependency-version: 2.8.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-paging
dependency-version: 2.8.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-runtime
dependency-version: 2.8.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-testing
dependency-version: 2.8.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-compiler
dependency-version: 2.8.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-paging
dependency-version: 2.8.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-runtime
dependency-version: 2.8.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-testing
dependency-version: 2.8.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.google.devtools.ksp
dependency-version: 2.3.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-24 18:42:28 +01:00
Ricki Hirner
7c2dcf3d70
Comment out failing tests ( #1836 )
2025-11-24 16:00:53 +01:00
dependabot[bot]
66a34ebd9f
[CI] Bump actions/checkout from 5 to 6 in the ci-actions group ( #1837 )
...
Bumps the ci-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout ).
Updates `actions/checkout` from 5 to 6
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: ci-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-24 16:00:24 +01:00
Ricki Hirner
365364aa89
Update version to 4.5.6
2025-11-24 13:26:18 +01:00
Ricki Hirner
114543f4c5
Fetch translations from Transifex
2025-11-24 13:22:09 +01:00
Ricki Hirner
3bd3f56e1b
Fix DeadObjectException handling in SyncManager and Syncer ( #1834 )
...
- Update SyncManager to handle LocalStorageException with DeadObjectException cause
- Refactor Syncer to catch all exceptions and handle specific cases
2025-11-24 13:14:40 +01:00
Ricki Hirner
5263172376
[Ktor] Add MustBeClosed annotation to buildKtor method ( #1829 )
...
Add @MustBeClosed annotation to buildKtor method
This commit adds the `@MustBeClosed` annotation to the `buildKtor` method in `HttpClientBuilder.kt` to indicate that the returned `HttpClient` instance must be closed by the caller. It also updates the test in `HttpClientBuilderTest.kt` to use the `use` function to ensure proper resource management.
2025-11-21 12:48:04 +01:00
Ricki Hirner
babd52cfb1
Bump version to 4.5.6-rc.1
2025-11-20 16:45:40 +01:00
Ricki Hirner
3d4d533b92
Update synctools ( #1825 )
...
* Update synctools
* Update commit ID
2025-11-20 16:42:40 +01:00
Ricki Hirner
76fc024ef6
Lower default minimum log level from INFO to FINE ( #1827 )
...
* Increase logging level
* Adjust log levels for visibility in non-verbose logs
- Change log level from FINER to FINE in StreamingFileDescriptor
- Update log level from FINER to FINE in AccountSettingsMigration8
- Add note about log levels in LogManager documentation
* Fix KDoc typo
* Update comment
2025-11-20 11:37:24 +01:00
Sunik Kupfer
794b4c1c7f
DebugInfo: Support viewing jtx Board resources ( #1818 )
...
* Support viewing jtxBoard resources from debug info
* Correct value of EXTRA_LOCAL_RESOURCE_URI
* Correct comment
* Use the same intent for journals, notes, calendar and tasks
* State working task authorities explicitly
* Use edit action to not crash opentasks
* Use getViewIntentUriFor for jtx Board tasks
* Remove explicit tasks authority for jtx Board
* Remove explicit tasks authority for jtx Board
* Remove early return statement
* Dont handle jtxBoard tasks in LocalTask which is only for Dmfs tasks
* Add some kdoc to LocalTask and LocalJtxICalObject
* Use when with in list
* Add FLAG_GRANT_READ_URI_PERMISSION to the correct intent
* Correct line endings to from CRLF to LF
2025-11-20 09:33:24 +01:00
Ricki Hirner
aac6356722
Delete app/src/main/kotlin/at/bitfire/davdroid/network/HttpClient.kt
...
Remove empty file
2025-11-19 16:52:35 +01:00
Ricki Hirner
9bc46d4194
Update dependencies, including our libs ( #1822 )
2025-11-19 15:35:06 +01:00
Ricki Hirner
a3aac44775
Ignore failing test: testVerifySyncAlwaysPending_wrongBehaviour_android14 ( #1824 )
...
Comment out test
2025-11-19 15:14:41 +01:00
Arnau Mora
084ba3b630
Update dav4jvm to new okhttp package ( #1786 )
...
* Upgrade dav4jvm
* Exclude ktor from dav4jvm
* Fix imports and fix usages
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fix imports for instrumented tests
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fix imports
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Upgrade dav4jvm
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Do not exclude ktor in dav4jvm
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Upgrade dav4jvm
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-11-17 13:38:10 +01:00
Ricki Hirner
28dcf90775
Refactor default reminder builder to dedicated class + unit tests ( #1815 )
...
* [WIP] Move default reminder builder to dedicated class + unit tests
* Add tests
* Just turn off Conscrypt for now
* Fix library name
2025-11-17 10:34:36 +01:00
Ricki Hirner
70766affd9
[Ktor] Allow building a Ktor client ( #1810 )
...
* Add Ktor dependency
* Add buildKtor method
* Add test and deprecation notice
* KDoc
2025-11-17 09:38:08 +01:00
Ricki Hirner
d00292f421
Only use cert4android when needed ( #1802 )
...
* Refactor ClientCertKeyManager and HttpClientBuilder
- Add logging to `ClientCertKeyManager` for better error handling.
- Update `HttpClientBuilder` to conditionally use custom trust manager and hostname verifier based on `allowCustomCerts` flag.
- Rename `customCertsUI` to `allowCustomCerts` in build configuration.
* Update trust manager and hostname verifier selection logic
- Improve logging and error handling in `ClientCertKeyManager`
* App settings: hide certificate settings when custom certificates are not allowed
* Typo
2025-11-12 11:04:13 +01:00
dependabot[bot]
6b5c4f191a
Bump the app-dependencies group with 2 updates ( #1803 )
...
Bumps the app-dependencies group with 2 updates: androidx.compose:compose-bom and [com.google.devtools.ksp](https://github.com/google/ksp ).
Updates `androidx.compose:compose-bom` from 2025.10.01 to 2025.11.00
Updates `com.google.devtools.ksp` from 2.3.0 to 2.3.2
- [Release notes](https://github.com/google/ksp/releases )
- [Commits](https://github.com/google/ksp/compare/2.3.0...2.3.2 )
---
updated-dependencies:
- dependency-name: androidx.compose:compose-bom
dependency-version: 2025.11.00
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.google.devtools.ksp
dependency-version: 2.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-10 17:28:43 +01:00
Sunik Kupfer
5c7b792e7f
Support sync adapter pending sync indication on Android 14+ ( #1676 )
...
* Add AccountSettingsMigration21 to cancel pending address book syncs
* Add application context annotation
* Add log statement
* Increase account settings current version
* Add and update kdoc
* Call cancelSync via integration
* Optimize imports
* Update kdoc
* Updating log statement
* Also cancel calendar syncs
* Don't infer authority from account type
* Update kdoc
* Cancel only on Android 14+
* Cancel for all authorities and update kdoc
* Use cancelSync directly in migration
* Enable forever pending sync workaround by canceling sync adapter framework syncs on Android 14+
* Stop always returning false for pending sync state of sync adapter framework
* Cancel by request and empty bundle
* Cancel syncs for calendar, tasks, and contacts separately
* Minor edits to log statement and kdoc
* Add migration test; Update migration
* Log all extras instead of just upload flag
* Use lazy on syncFrameworkIntegration injection
* Multiple changes
- don't cancel address book accounts of all main accounts
- merge loops
* Add authority to log statement
* Replace complex state verification logic by status changed flow
* Cancel syncs account wide across all authorities
* Add some delay to allow dummy sync requests to be created
* Reduce wait until pending
* Drop Thread.sleep()
* Use a callback flow instead of mutable state flow
* Shorten first true filter
* Shorten remaining first true filter
2025-11-10 15:46:58 +01:00
Ricki Hirner
c9da496142
Bump version to 4.5.6-beta.1
2025-11-06 14:30:07 +01:00
Ricki Hirner
ee098c4a83
Explicitly integrate Conscrypt ( #1796 )
...
* Merge HttpClient and HttpClientBuilder
- Remove `HttpClient` class and replace with `OkHttpClient`
- Update all references to `HttpClient` to use `OkHttpClient`
- Add new `HttpClientBuilder` class for building `OkHttpClient` instances
- Update all builder usages to use the new `HttpClientBuilder` class
* KDoc
* Integrate Conscrypt for TLS
- Add Conscrypt dependency
- Initialize Conscrypt in HttpClientBuilder
- Create ConscryptIntegration utility
* KDoc
* Make object a class, better test
* Update cert4android to the latest version (doesn't bundle Conscrypt anymore)
2025-11-06 10:07:40 +01:00
Ricki Hirner
a8bd296520
Merge HttpClient and HttpClientBuilder ( #1795 )
...
* Merge HttpClient and HttpClientBuilder
- Remove `HttpClient` class and replace with `OkHttpClient`
- Update all references to `HttpClient` to use `OkHttpClient`
- Add new `HttpClientBuilder` class for building `OkHttpClient` instances
- Update all builder usages to use the new `HttpClientBuilder` class
* KDoc
2025-11-05 13:20:02 +01:00
Sunik Kupfer
0959624dee
Update Calendars.OWNER_ACCOUNT when renaming an account ( #1751 )
...
* Fix typo
* Also set OWNER_ACCOUNT when updating calendar because renaming account
* Add test
* Update comment clarifying content values
* Assume calendar provider is present and drop null checks
2025-11-05 12:40:34 +01:00
Ricki Hirner
bd13d27e38
HttpClient: remove unnecessary close() ( #1792 )
...
* Remove unnecessary AutoCloseable implementations and client.close() calls
- Remove AutoCloseable from NextcloudLoginFlow and DavResourceFinder
- Remove client.close() calls in various classes and tests
- Update HttpClient to remove close() method
* Fix test
* Fix annotations / KDoc
2025-11-04 16:38:22 +01:00
dependabot[bot]
85548163ca
Bump the app-dependencies group with 4 updates ( #1790 )
...
Bumps the app-dependencies group with 4 updates: [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp ), [com.squareup.okhttp3:okhttp-brotli](https://github.com/square/okhttp ), [com.squareup.okhttp3:logging-interceptor](https://github.com/square/okhttp ) and [com.squareup.okhttp3:mockwebserver](https://github.com/square/okhttp ).
Updates `com.squareup.okhttp3:okhttp` from 5.2.1 to 5.3.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.2.1...parent-5.3.0 )
Updates `com.squareup.okhttp3:okhttp-brotli` from 5.2.1 to 5.3.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.2.1...parent-5.3.0 )
Updates `com.squareup.okhttp3:logging-interceptor` from 5.2.1 to 5.3.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.2.1...parent-5.3.0 )
Updates `com.squareup.okhttp3:mockwebserver` from 5.2.1 to 5.3.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.2.1...parent-5.3.0 )
Updates `com.squareup.okhttp3:okhttp-brotli` from 5.2.1 to 5.3.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.2.1...parent-5.3.0 )
Updates `com.squareup.okhttp3:logging-interceptor` from 5.2.1 to 5.3.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.2.1...parent-5.3.0 )
Updates `com.squareup.okhttp3:mockwebserver` from 5.2.1 to 5.3.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.2.1...parent-5.3.0 )
---
updated-dependencies:
- dependency-name: com.squareup.okhttp3:okhttp
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:okhttp-brotli
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:logging-interceptor
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:mockwebserver
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:okhttp-brotli
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:logging-interceptor
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:mockwebserver
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 16:07:44 +01:00
Ricki Hirner
026750eca3
Bump version to 4.5.6-alpha.2
2025-11-01 21:56:47 +01:00
Ricki Hirner
d365a504e8
Refactor sequence handling in calendar sync ( #1789 )
...
* Refactor sequence handling in calendar sync
- Move sequence update logic to SequenceUpdater
- Update LocalCalendar to use new SequenceUpdater
- Remove redundant methods from LocalCalendar
- Update tests and dependencies
* Minor KDoc
2025-11-01 21:55:28 +01:00
Ricki Hirner
c64cb1e7ec
Remove okhttp caching ( bitfireAT/davx5#715 )
...
* Remove okhttp caching
* Simplification
2025-11-01 12:38:26 +01:00
Ricki Hirner
837b5e5d50
Bump version to 4.5.6-alpha.1
2025-10-30 14:29:29 +01:00
Ricki Hirner
98aefc4fee
Synchronize without Event data class ( #1783 )
...
* [WIP] Proof of concept for syncing without `Event` data class
* Replace AndroidEvent2 with EventsContract
* Update synctools, refactor upload logic in `CalendarSyncManager`
* KDoc
* Update UID immediately in `ContactsSyncManager`, `CalendarSyncManager`, and `TasksSyncManager`
- Remove `OnSuccessContext.uid` from `GeneratedResource`
* Minor changes
* Handle multiple events in a single iCalendar
- Rename `processVEvent` to `processICalendar`
- Add default alarm for non-full-day events again
- Prevent NPE on null flags (used for debug info)
* Fix tests
2025-10-30 14:28:05 +01:00
Ricki Hirner
a8c8a8d2e0
Refactor SEQUENCE and UID handling on successful uploads ( #1785 )
...
* Define interfaces
* [WIP] Refactor sequence and UID handling in event uploads
- Refactor `generateUpload` method to return `GeneratedResource`.
- Update `SyncManager` to handle `GeneratedResource`.
- Implement sequence and UID management in `CalendarSyncManager`.
- Remove redundant `prepareForUpload` method from `LocalEvent`.
* Refactor sequence handling in uploads
- Move UID validation to `DavUtils.isGoodFileBaseName`
- Update sequence directly in iCalendar for group-scheduled events
- Rename `resourceBaseName` to `suggestedBaseName` for clarity
* Refactor sequence / UID handling in contact uploads
- Update `LocalAddress` interface to include `updateUid` method
- Modify `ContactsSyncManager` to handle UID generation and update
- Remove redundant UID handling in `LocalContact` and `LocalGroup`
- Adjust code style settings for right margin
* Remove redundant UID update from `ContactsSyncManager` and `CalendarSyncManager`
* Implement UID handling in `TasksSyncManager` for uploads
* Update JtxSyncManager
- Update `JtxSyncManager.kt` to implement the `generateUpload` function.
- Update `LocalJtxICalObject.kt` to include the `updateUid` method for updating UIDs in the collection.
* Remove deprecated `prepareForUpload` method from `LocalResource`
- Remove `prepareForUpload` implementations from `LocalContact`, `LocalEvent`, `LocalGroup`, and `LocalTask`
* Rename `isGoodFileBaseName` to `isGoodFileName` in `DavUtils`
* Fix tests
* Move UID generation logic to `DavUtils.generateUidIfNecessary`
- Use `DavUtils.fileNameFromUid` for generating file names
- Update `ContactsSyncManager`, `CalendarSyncManager`, `TasksSyncManager`, and `JtxSyncManager` to use new utility methods
* Add tests for DavUtils
* Some tests
* Refactor onSuccessfulUpload
* Update KDoc
* Logging
* Remove unnecessary LocalEvent method
* KDoc
2025-10-29 17:57:34 +01:00
Ricki Hirner
b839cbfe7f
Simplify LocalResource interface ( #1784 )
...
* Simplify LocalResource interface
- Remove generic parameter from LocalResource interface
- Update all implementations to reflect the change
- Adjust related test cases and exception handling
* Fix tests
2025-10-29 08:50:09 +01:00
Ricki Hirner
f0f9f58e49
Bump version to 4.5.5
2025-10-28 11:20:00 +01:00
Ricki Hirner
66f6e48e3b
Fetch translations from Transifex
2025-10-28 11:18:54 +01:00
Ricki Hirner
d6feda1142
Fix OkHttp3 crash in release builds ( bitfireAT/davx5#712 )
...
- Add ProGuard rules to keep OkHttp3 IDN mapping classes
2025-10-28 11:12:51 +01:00
Ricki Hirner
05f058ab3f
Version bump to 4.5.5-rc.1
2025-10-27 11:16:51 +01:00
Sunik Kupfer
4e4c0f5e31
Move debug info notification action to debug info screen button ( #1730 )
...
* Update view item on sync error string
* Remove view item action from notification
* Show button in debug info screen to jump to problematic event resource
* Move companion object to the end of activity class
* Add local resource dump to intent
* Add kdoc
* Add some comments for not yet implemented resources
* Don't export DebugInfoActivity
* Send intent instead of URI and launch from DebugInfoActivity
* Add option to view problematic contact
* Extract intent builder logic to another method
* Add option to view problematic contact
* Minor changes for readability
* Extract dump string creation to interface method
* Pass Uri instead of intent and create view local resource intent in DebugInfoActivity
* Use androids existing getContactLookupUri method
* Remove extra variable
* Remove obsolete val declaration
* Rename dump to summary
* Refactor code structure for local resource URI handling
* Update code structure to use getDebugSummary for local resource summaries
* Update exception handling in SyncNotificationManager
Change the catch block to handle all `Throwable` exceptions instead of just `OutOfMemoryError`. This ensures that any potential issues arising from providing information about the local resource are caught and ignored.
* Add "copy remote URL" action
* Use string resource
* Truncate contact, task, and event strings to 1000 characters
* Fix tests
* Minor changes
- Replace `ContactsContract.RawContacts` with `RawContacts` in `LocalContact.kt`
- Remove unnecessary newline in `LocalJtxICalObject.kt`
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-10-27 11:15:21 +01:00
Arnau Mora
0304d7168a
Migrate to SecureTextField ( #1191 )
...
* Using `SecureTextField`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* `OutlinedSecureTextField` doesn't support `readOnly`
* fixed string conversions
* - Update AddWebdavMountScreen to use enabled instead of readOnly
- Ensure onKeyboardAction checks canContinue before proceeding
- Update UrlLogin and EmailLogin to ensure onKeyboardAction checks canContinue before proceeding
- Update InputDialogs to ensure confirmEnabled is checked before proceeding
* Use get() for deriving things from a mutable state
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-10-27 11:15:11 +01:00
Ricki Hirner
19458aa95c
Delete .github/workflows/dependent-issues.yml
...
Obsoleted by https://github.blog/changelog/2025-08-21-dependencies-on-issues/
2025-10-26 12:23:31 +01:00
dependabot[bot]
4412617079
Bump the app-dependencies group across 1 directory with 7 updates ( #1778 )
...
Bumps the app-dependencies group with 7 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| androidx.work:work-runtime-ktx | `2.10.5` | `2.11.0` |
| androidx.work:work-testing | `2.10.5` | `2.11.0` |
| androidx.room:room-ktx | `2.8.2` | `2.8.3` |
| androidx.room:room-compiler | `2.8.2` | `2.8.3` |
| androidx.room:room-paging | `2.8.2` | `2.8.3` |
| androidx.room:room-runtime | `2.8.2` | `2.8.3` |
| androidx.room:room-testing | `2.8.2` | `2.8.3` |
Updates `androidx.work:work-runtime-ktx` from 2.10.5 to 2.11.0
Updates `androidx.work:work-testing` from 2.10.5 to 2.11.0
Updates `androidx.work:work-testing` from 2.10.5 to 2.11.0
Updates `androidx.room:room-ktx` from 2.8.2 to 2.8.3
Updates `androidx.room:room-compiler` from 2.8.2 to 2.8.3
Updates `androidx.room:room-paging` from 2.8.2 to 2.8.3
Updates `androidx.room:room-runtime` from 2.8.2 to 2.8.3
Updates `androidx.room:room-testing` from 2.8.2 to 2.8.3
Updates `androidx.room:room-compiler` from 2.8.2 to 2.8.3
Updates `androidx.room:room-paging` from 2.8.2 to 2.8.3
Updates `androidx.room:room-runtime` from 2.8.2 to 2.8.3
Updates `androidx.room:room-testing` from 2.8.2 to 2.8.3
---
updated-dependencies:
- dependency-name: androidx.work:work-runtime-ktx
dependency-version: 2.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.work:work-testing
dependency-version: 2.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.work:work-testing
dependency-version: 2.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.room:room-ktx
dependency-version: 2.8.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-compiler
dependency-version: 2.8.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-paging
dependency-version: 2.8.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-runtime
dependency-version: 2.8.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-testing
dependency-version: 2.8.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-compiler
dependency-version: 2.8.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-paging
dependency-version: 2.8.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-runtime
dependency-version: 2.8.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-testing
dependency-version: 2.8.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-26 11:04:22 +01:00
Ricki Hirner
76277dbfd5
Update Kotlin and KSP versions ( #1776 )
...
- Update Kotlin version to 2.2.21
- Update KSP version to 2.3.0
- Remove specific Kotlin and KSP dependencies from Dependabot ignore list
2025-10-26 10:20:57 +01:00
Ricki Hirner
b0b99de56b
Update Compose BOM and use PrimaryTabRow ( #1772 )
...
- Update Compose BOM version to 2025.10.01
- Replace `TabRow` with `PrimaryTabRow`
2025-10-25 11:15:01 +02:00
Ricki Hirner
b33c4750bb
Bump version to 4.5.5-beta.1
2025-10-18 09:15:58 +02:00
Sunik Kupfer
25b749dd1b
Rename account on background thread ( #1727 )
...
* Change context to default dispatcher on updating automatic sync when renaming account
* Minor changes
- add worker thread annotations
- use injected defaultDispatcher
* Add tests
* Apply withContext with default dispatcher on the whole rename method
2025-10-18 09:13:26 +02:00
Ricki Hirner
39a0fe3f98
Update AboutLibraries and other dependencies ( #1760 )
...
Update dependencies and modify AboutActivity to use dynamic library loading
- Remove outdated aboutlibraries.json
- Update AboutActivity to dynamically load libraries using LocalContext
- Replace InvalidRemoteResourceException with InvalidICalendarException in sync managers
- Bump dependency versions for various libraries including mikepenz-aboutLibraries, okhttp, and unifiedpush
- Adjust build.gradle.kts and gradle/libs.versions.toml for new plugin and library versions
2025-10-18 09:12:41 +02:00
Arnau Mora
dd798f8380
Update implementation to match guidelines ( #1747 )
2025-10-15 11:20:30 +02:00
Sunik Kupfer
47d380de62
Fix unreachable code possibly causing foreign key constraint violation exception ( #1740 )
...
* Add test
* Fix unreachable code possibly causing foreign key constraint violation exception
* Make code easier to understand
* Add comments
* Split up tests and add mockk verify
2025-10-14 10:57:15 +02:00
dependabot[bot]
019d32a9b7
[CI] Bump github/codeql-action from 3 to 4 in the ci-actions group ( #1749 )
...
Bumps the ci-actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action ).
Updates `github/codeql-action` from 3 to 4
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: ci-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-13 20:04:01 +02:00
Sunik Kupfer
0acabd9c80
Update http error message strings ( #1745 )
2025-10-13 10:41:00 +02:00
dependabot[bot]
aa23980a59
Bump the app-dependencies group across 1 directory with 13 updates ( #1744 )
...
* Bump the app-dependencies group across 1 directory with 13 updates
Bumps the app-dependencies group with 13 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| androidx.compose:compose-bom | `2025.09.01` | `2025.10.00` |
| [io.mockk:mockk](https://github.com/mockk/mockk ) | `1.14.5` | `1.14.6` |
| [io.mockk:mockk-android](https://github.com/mockk/mockk ) | `1.14.5` | `1.14.6` |
| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp ) | `5.1.0` | `5.2.0` |
| [com.squareup.okhttp3:okhttp-brotli](https://github.com/square/okhttp ) | `5.1.0` | `5.2.0` |
| [com.squareup.okhttp3:logging-interceptor](https://github.com/square/okhttp ) | `5.1.0` | `5.2.0` |
| [com.squareup.okhttp3:mockwebserver](https://github.com/square/okhttp ) | `5.1.0` | `5.2.0` |
| androidx.room:room-ktx | `2.8.1` | `2.8.2` |
| androidx.room:room-compiler | `2.8.1` | `2.8.2` |
| androidx.room:room-paging | `2.8.1` | `2.8.2` |
| androidx.room:room-runtime | `2.8.1` | `2.8.2` |
| androidx.room:room-testing | `2.8.1` | `2.8.2` |
| org.unifiedpush.android:connector | `3.0.10` | `3.1.0` |
Updates `androidx.compose:compose-bom` from 2025.09.01 to 2025.10.00
Updates `io.mockk:mockk` from 1.14.5 to 1.14.6
- [Release notes](https://github.com/mockk/mockk/releases )
- [Commits](https://github.com/mockk/mockk/compare/1.14.5...1.14.6 )
Updates `io.mockk:mockk-android` from 1.14.5 to 1.14.6
- [Release notes](https://github.com/mockk/mockk/releases )
- [Commits](https://github.com/mockk/mockk/compare/1.14.5...1.14.6 )
Updates `io.mockk:mockk-android` from 1.14.5 to 1.14.6
- [Release notes](https://github.com/mockk/mockk/releases )
- [Commits](https://github.com/mockk/mockk/compare/1.14.5...1.14.6 )
Updates `com.squareup.okhttp3:okhttp` from 5.1.0 to 5.2.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.1.0...parent-5.2.0 )
Updates `com.squareup.okhttp3:okhttp-brotli` from 5.1.0 to 5.2.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.1.0...parent-5.2.0 )
Updates `com.squareup.okhttp3:logging-interceptor` from 5.1.0 to 5.2.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.1.0...parent-5.2.0 )
Updates `com.squareup.okhttp3:mockwebserver` from 5.1.0 to 5.2.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.1.0...parent-5.2.0 )
Updates `com.squareup.okhttp3:okhttp-brotli` from 5.1.0 to 5.2.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.1.0...parent-5.2.0 )
Updates `com.squareup.okhttp3:logging-interceptor` from 5.1.0 to 5.2.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.1.0...parent-5.2.0 )
Updates `com.squareup.okhttp3:mockwebserver` from 5.1.0 to 5.2.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.1.0...parent-5.2.0 )
Updates `androidx.room:room-ktx` from 2.8.1 to 2.8.2
Updates `androidx.room:room-compiler` from 2.8.1 to 2.8.2
Updates `androidx.room:room-paging` from 2.8.1 to 2.8.2
Updates `androidx.room:room-runtime` from 2.8.1 to 2.8.2
Updates `androidx.room:room-testing` from 2.8.1 to 2.8.2
Updates `androidx.room:room-compiler` from 2.8.1 to 2.8.2
Updates `androidx.room:room-paging` from 2.8.1 to 2.8.2
Updates `androidx.room:room-runtime` from 2.8.1 to 2.8.2
Updates `androidx.room:room-testing` from 2.8.1 to 2.8.2
Updates `org.unifiedpush.android:connector` from 3.0.10 to 3.1.0
---
updated-dependencies:
- dependency-name: androidx.compose:compose-bom
dependency-version: 2025.10.00
dependency-type: direct:production
dependency-group: app-dependencies
- dependency-name: io.mockk:mockk
dependency-version: 1.14.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: io.mockk:mockk-android
dependency-version: 1.14.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: io.mockk:mockk-android
dependency-version: 1.14.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:okhttp
dependency-version: 5.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:okhttp-brotli
dependency-version: 5.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:logging-interceptor
dependency-version: 5.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:mockwebserver
dependency-version: 5.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:okhttp-brotli
dependency-version: 5.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:logging-interceptor
dependency-version: 5.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: com.squareup.okhttp3:mockwebserver
dependency-version: 5.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.room:room-ktx
dependency-version: 2.8.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-compiler
dependency-version: 2.8.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-paging
dependency-version: 2.8.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-runtime
dependency-version: 2.8.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-testing
dependency-version: 2.8.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-compiler
dependency-version: 2.8.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-paging
dependency-version: 2.8.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-runtime
dependency-version: 2.8.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-testing
dependency-version: 2.8.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: org.unifiedpush.android:connector
dependency-version: 3.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
* Downgrade mockk version to 1.14.5
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-10-09 13:10:31 +02:00
Sunik Kupfer
5674d6b954
ExceptionInfoDialog: show explanation on http 405 and others ( #1739 )
...
* Show explanation on http 405
* Also show message for http 5xx
* Correct spelling
2025-10-09 12:05:31 +02:00
dependabot[bot]
df56c8628a
[CI] Bump gradle/actions from 4 to 5 in the ci-actions group ( #1736 )
...
Bumps the ci-actions group with 1 update: [gradle/actions](https://github.com/gradle/actions ).
Updates `gradle/actions` from 4 to 5
- [Release notes](https://github.com/gradle/actions/releases )
- [Commits](https://github.com/gradle/actions/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: gradle/actions
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: ci-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 17:08:39 +02:00
dependabot[bot]
af4ecd3a1d
Bump the app-dependencies group with 12 updates ( #1732 )
...
Bumps the app-dependencies group with 12 updates:
| Package | From | To |
| --- | --- | --- |
| androidx.work:work-runtime-ktx | `2.10.4` | `2.10.5` |
| androidx.work:work-testing | `2.10.4` | `2.10.5` |
| androidx.compose:compose-bom | `2025.09.00` | `2025.09.01` |
| [com.google.dagger:hilt-android](https://github.com/google/dagger ) | `2.57.1` | `2.57.2` |
| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger ) | `2.57.1` | `2.57.2` |
| [com.google.dagger:hilt-android-testing](https://github.com/google/dagger ) | `2.57.1` | `2.57.2` |
| [com.google.dagger.hilt.android](https://github.com/google/dagger ) | `2.57.1` | `2.57.2` |
| androidx.room:room-ktx | `2.8.0` | `2.8.1` |
| androidx.room:room-compiler | `2.8.0` | `2.8.1` |
| androidx.room:room-paging | `2.8.0` | `2.8.1` |
| androidx.room:room-runtime | `2.8.0` | `2.8.1` |
| androidx.room:room-testing | `2.8.0` | `2.8.1` |
Updates `androidx.work:work-runtime-ktx` from 2.10.4 to 2.10.5
Updates `androidx.work:work-testing` from 2.10.4 to 2.10.5
Updates `androidx.work:work-testing` from 2.10.4 to 2.10.5
Updates `androidx.compose:compose-bom` from 2025.09.00 to 2025.09.01
Updates `com.google.dagger:hilt-android` from 2.57.1 to 2.57.2
- [Release notes](https://github.com/google/dagger/releases )
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/google/dagger/compare/dagger-2.57.1...dagger-2.57.2 )
Updates `com.google.dagger:hilt-android-compiler` from 2.57.1 to 2.57.2
- [Release notes](https://github.com/google/dagger/releases )
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/google/dagger/compare/dagger-2.57.1...dagger-2.57.2 )
Updates `com.google.dagger:hilt-android-testing` from 2.57.1 to 2.57.2
- [Release notes](https://github.com/google/dagger/releases )
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/google/dagger/compare/dagger-2.57.1...dagger-2.57.2 )
Updates `com.google.dagger.hilt.android` from 2.57.1 to 2.57.2
- [Release notes](https://github.com/google/dagger/releases )
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/google/dagger/compare/dagger-2.57.1...dagger-2.57.2 )
Updates `com.google.dagger:hilt-android-compiler` from 2.57.1 to 2.57.2
- [Release notes](https://github.com/google/dagger/releases )
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/google/dagger/compare/dagger-2.57.1...dagger-2.57.2 )
Updates `com.google.dagger:hilt-android-testing` from 2.57.1 to 2.57.2
- [Release notes](https://github.com/google/dagger/releases )
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/google/dagger/compare/dagger-2.57.1...dagger-2.57.2 )
Updates `androidx.room:room-ktx` from 2.8.0 to 2.8.1
Updates `androidx.room:room-compiler` from 2.8.0 to 2.8.1
Updates `androidx.room:room-paging` from 2.8.0 to 2.8.1
Updates `androidx.room:room-runtime` from 2.8.0 to 2.8.1
Updates `androidx.room:room-testing` from 2.8.0 to 2.8.1
Updates `androidx.room:room-compiler` from 2.8.0 to 2.8.1
Updates `androidx.room:room-paging` from 2.8.0 to 2.8.1
Updates `androidx.room:room-runtime` from 2.8.0 to 2.8.1
Updates `androidx.room:room-testing` from 2.8.0 to 2.8.1
Updates `com.google.dagger.hilt.android` from 2.57.1 to 2.57.2
- [Release notes](https://github.com/google/dagger/releases )
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/google/dagger/compare/dagger-2.57.1...dagger-2.57.2 )
---
updated-dependencies:
- dependency-name: androidx.work:work-runtime-ktx
dependency-version: 2.10.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.work:work-testing
dependency-version: 2.10.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.work:work-testing
dependency-version: 2.10.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.compose:compose-bom
dependency-version: 2025.09.01
dependency-type: direct:production
dependency-group: app-dependencies
- dependency-name: com.google.dagger:hilt-android
dependency-version: 2.57.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.google.dagger:hilt-android-compiler
dependency-version: 2.57.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.google.dagger:hilt-android-testing
dependency-version: 2.57.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.google.dagger.hilt.android
dependency-version: 2.57.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.google.dagger:hilt-android-compiler
dependency-version: 2.57.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.google.dagger:hilt-android-testing
dependency-version: 2.57.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-ktx
dependency-version: 2.8.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-compiler
dependency-version: 2.8.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-paging
dependency-version: 2.8.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-runtime
dependency-version: 2.8.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-testing
dependency-version: 2.8.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-compiler
dependency-version: 2.8.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-paging
dependency-version: 2.8.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-runtime
dependency-version: 2.8.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.room:room-testing
dependency-version: 2.8.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.google.dagger.hilt.android
dependency-version: 2.57.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 22:15:39 +02:00
Arnau Mora
701e292ab5
Use IntentCompat for account fetching from intent extras ( #1731 )
2025-09-28 10:51:57 +02:00
Ricki Hirner
5da7d9e292
Add CODEOWNERS file ( #1729 )
2025-09-24 14:11:40 +02:00
Ricki Hirner
e6256764ac
Bump version to 4.5.5-alpha.2
2025-09-24 14:00:30 +02:00
Ricki Hirner
e63f815416
Update synctools to work around eventStatus=null update problem ( #1728 )
...
Update synctools to work around eventStatus=null update problem; add synctools to Dependabot-ignore
2025-09-24 13:59:12 +02:00
Ricki Hirner
374dadfaaa
Bump version to 4.5.5-alpha.1
2025-09-23 11:15:07 +02:00
Ricki Hirner
f6ef13f9fe
Update synctools (new uses event builders/processors) and Kotlin/KSP ( #1726 )
2025-09-23 11:07:41 +02:00
dependabot[bot]
a88cfd2acf
Bump the app-dependencies group with 4 updates ( #1724 )
...
Bumps the app-dependencies group with 4 updates: androidx.lifecycle:lifecycle-runtime-compose, androidx.lifecycle:lifecycle-viewmodel-ktx, androidx.lifecycle:lifecycle-viewmodel-compose and [com.google.guava:guava](https://github.com/google/guava ).
Updates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.3 to 2.9.4
Updates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.3 to 2.9.4
Updates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.3 to 2.9.4
Updates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.3 to 2.9.4
Updates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.3 to 2.9.4
Updates `com.google.guava:guava` from 33.4.8-android to 33.5.0-android
- [Release notes](https://github.com/google/guava/releases )
- [Commits](https://github.com/google/guava/commits )
---
updated-dependencies:
- dependency-name: androidx.lifecycle:lifecycle-runtime-compose
dependency-version: 2.9.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-ktx
dependency-version: 2.9.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-compose
dependency-version: 2.9.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-ktx
dependency-version: 2.9.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-compose
dependency-version: 2.9.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: com.google.guava:guava
dependency-version: 33.5.0-android
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-22 18:40:14 +02:00
Michael Biebl
98fc946594
Remove duplicate lines in .gitignore ( #1725 )
2025-09-22 18:20:50 +02:00
Ricki Hirner
00523d9bc8
Fix state matching logic in AndroidSyncFrameworkTest ( #1708 )
...
* Fix state matching logic in AndroidSyncFrameworkTest
- Add `fullMatch` parameter to control whether all expected states must be present
* Ensure non-optional expected state matches actual state
* Remove unused rule / variable
* Adapt test
- Update `onStatusChanged` to override the interface method.
- Replace custom assertion with `assertTrue` for state comparison.
2025-09-16 10:42:11 +02:00
dependabot[bot]
53d338d03e
Bump the app-dependencies group with 12 updates ( #1714 )
...
Bumps the app-dependencies group with 12 updates:
| Package | From | To |
| --- | --- | --- |
| androidx.activity:activity-compose | `1.10.1` | `1.11.0` |
| androidx.hilt:hilt-compiler | `1.2.0` | `1.3.0` |
| androidx.hilt:hilt-navigation-compose | `1.2.0` | `1.3.0` |
| androidx.hilt:hilt-work | `1.2.0` | `1.3.0` |
| androidx.work:work-runtime-ktx | `2.10.3` | `2.10.4` |
| androidx.work:work-testing | `2.10.3` | `2.10.4` |
| androidx.compose:compose-bom | `2025.08.01` | `2025.09.00` |
| androidx.room:room-ktx | `2.7.2` | `2.8.0` |
| androidx.room:room-compiler | `2.7.2` | `2.8.0` |
| androidx.room:room-paging | `2.7.2` | `2.8.0` |
| androidx.room:room-runtime | `2.7.2` | `2.8.0` |
| androidx.room:room-testing | `2.7.2` | `2.8.0` |
Updates `androidx.activity:activity-compose` from 1.10.1 to 1.11.0
Updates `androidx.hilt:hilt-compiler` from 1.2.0 to 1.3.0
Updates `androidx.hilt:hilt-navigation-compose` from 1.2.0 to 1.3.0
Updates `androidx.hilt:hilt-work` from 1.2.0 to 1.3.0
Updates `androidx.hilt:hilt-navigation-compose` from 1.2.0 to 1.3.0
Updates `androidx.hilt:hilt-work` from 1.2.0 to 1.3.0
Updates `androidx.work:work-runtime-ktx` from 2.10.3 to 2.10.4
Updates `androidx.work:work-testing` from 2.10.3 to 2.10.4
Updates `androidx.work:work-testing` from 2.10.3 to 2.10.4
Updates `androidx.compose:compose-bom` from 2025.08.01 to 2025.09.00
Updates `androidx.room:room-ktx` from 2.7.2 to 2.8.0
Updates `androidx.room:room-compiler` from 2.7.2 to 2.8.0
Updates `androidx.room:room-paging` from 2.7.2 to 2.8.0
Updates `androidx.room:room-runtime` from 2.7.2 to 2.8.0
Updates `androidx.room:room-testing` from 2.7.2 to 2.8.0
Updates `androidx.room:room-compiler` from 2.7.2 to 2.8.0
Updates `androidx.room:room-paging` from 2.7.2 to 2.8.0
Updates `androidx.room:room-runtime` from 2.7.2 to 2.8.0
Updates `androidx.room:room-testing` from 2.7.2 to 2.8.0
---
updated-dependencies:
- dependency-name: androidx.activity:activity-compose
dependency-version: 1.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.hilt:hilt-compiler
dependency-version: 1.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.hilt:hilt-navigation-compose
dependency-version: 1.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.hilt:hilt-work
dependency-version: 1.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.hilt:hilt-navigation-compose
dependency-version: 1.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.hilt:hilt-work
dependency-version: 1.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.work:work-runtime-ktx
dependency-version: 2.10.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.work:work-testing
dependency-version: 2.10.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.work:work-testing
dependency-version: 2.10.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: app-dependencies
- dependency-name: androidx.compose:compose-bom
dependency-version: 2025.09.00
dependency-type: direct:production
dependency-group: app-dependencies
- dependency-name: androidx.room:room-ktx
dependency-version: 2.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.room:room-compiler
dependency-version: 2.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.room:room-paging
dependency-version: 2.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.room:room-runtime
dependency-version: 2.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.room:room-testing
dependency-version: 2.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.room:room-compiler
dependency-version: 2.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.room:room-paging
dependency-version: 2.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.room:room-runtime
dependency-version: 2.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
- dependency-name: androidx.room:room-testing
dependency-version: 2.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: app-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-12 10:35:17 +02:00
Ricki Hirner
0424999225
Update dav4jvm ( #1709 )
...
- Replace `code` with `statusCode` in multiple files to align with the updated library
- Add `dav4jvm` to Dependabot ignores
2025-09-12 10:25:26 +02:00
Ricki Hirner
fa09a0560f
Use SensitiveString for passwords ( #1692 )
...
* Use SensitiveString for passwords to prevent them from being logged by `toString()`
* Add test
* Fix other tests
* Credentials: equals / hashCode not needed anymore
* Add tests for equals
2025-09-10 10:31:24 +02:00
Ricki Hirner
f4aa55d482
Version bump to 4.5.4
2025-09-09 11:38:10 +02:00
Ricki Hirner
1bffd5efe1
Version bump to 4.5.4-rc.3
2025-09-06 13:14:48 +02:00
Ricki Hirner
4850f2a5a5
Update synctools to fix #1701 ( #1702 )
2025-09-06 13:01:56 +02:00
Ricki Hirner
53f38ce2ec
Rename Dependabot dependency group
2025-09-05 11:27:06 +02:00
Ricki Hirner
7cf6e30577
Bump version to 4.5.4-rc.2
2025-09-05 10:31:21 +02:00
Ricki Hirner
cec77c33cb
Fix KotlinNotImplementedError in LocalGroup update method ( #1696 )
...
- Remove scheduleTag assignment in LocalGroup update method
- Refactor LocalGroupTest to use @Before and @After annotations
- Add new test case for update method in LocalGroupTest
2025-09-05 10:27:10 +02:00
dependabot[bot]
6c98e6d501
Bump the lib-dependencies group across 1 directory with 9 updates ( #1695 )
...
Bumps the lib-dependencies group with 9 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| androidx.lifecycle:lifecycle-runtime-compose | `2.9.2` | `2.9.3` |
| androidx.lifecycle:lifecycle-viewmodel-ktx | `2.9.2` | `2.9.3` |
| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.2` | `2.9.3` |
| androidx.compose:compose-bom | `2025.08.00` | `2025.08.01` |
| [com.google.dagger:hilt-android](https://github.com/google/dagger ) | `2.57` | `2.57.1` |
| [com.google.dagger:hilt-android-compiler](https://github.com/google/dagger ) | `2.57` | `2.57.1` |
| [com.google.dagger:hilt-android-testing](https://github.com/google/dagger ) | `2.57` | `2.57.1` |
| [com.google.dagger.hilt.android](https://github.com/google/dagger ) | `2.57` | `2.57.1` |
| com.android.application | `8.12.1` | `8.13.0` |
Updates `androidx.lifecycle:lifecycle-runtime-compose` from 2.9.2 to 2.9.3
Updates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.2 to 2.9.3
Updates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.2 to 2.9.3
Updates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.2 to 2.9.3
Updates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.2 to 2.9.3
Updates `androidx.compose:compose-bom` from 2025.08.00 to 2025.08.01
Updates `com.google.dagger:hilt-android` from 2.57 to 2.57.1
- [Release notes](https://github.com/google/dagger/releases )
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/google/dagger/compare/dagger-2.57...dagger-2.57.1 )
Updates `com.google.dagger:hilt-android-compiler` from 2.57 to 2.57.1
- [Release notes](https://github.com/google/dagger/releases )
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/google/dagger/compare/dagger-2.57...dagger-2.57.1 )
Updates `com.google.dagger:hilt-android-testing` from 2.57 to 2.57.1
- [Release notes](https://github.com/google/dagger/releases )
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/google/dagger/compare/dagger-2.57...dagger-2.57.1 )
Updates `com.google.dagger.hilt.android` from 2.57 to 2.57.1
- [Release notes](https://github.com/google/dagger/releases )
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/google/dagger/compare/dagger-2.57...dagger-2.57.1 )
Updates `com.google.dagger:hilt-android-compiler` from 2.57 to 2.57.1
- [Release notes](https://github.com/google/dagger/releases )
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/google/dagger/compare/dagger-2.57...dagger-2.57.1 )
Updates `com.google.dagger:hilt-android-testing` from 2.57 to 2.57.1
- [Release notes](https://github.com/google/dagger/releases )
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/google/dagger/compare/dagger-2.57...dagger-2.57.1 )
Updates `com.android.application` from 8.12.1 to 8.13.0
Updates `com.google.dagger.hilt.android` from 2.57 to 2.57.1
- [Release notes](https://github.com/google/dagger/releases )
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/google/dagger/compare/dagger-2.57...dagger-2.57.1 )
---
updated-dependencies:
- dependency-name: androidx.lifecycle:lifecycle-runtime-compose
dependency-version: 2.9.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: lib-dependencies
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-ktx
dependency-version: 2.9.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: lib-dependencies
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-compose
dependency-version: 2.9.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: lib-dependencies
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-ktx
dependency-version: 2.9.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: lib-dependencies
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-compose
dependency-version: 2.9.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: lib-dependencies
- dependency-name: androidx.compose:compose-bom
dependency-version: 2025.08.01
dependency-type: direct:production
dependency-group: lib-dependencies
- dependency-name: com.google.dagger:hilt-android
dependency-version: 2.57.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: lib-dependencies
- dependency-name: com.google.dagger:hilt-android-compiler
dependency-version: 2.57.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: lib-dependencies
- dependency-name: com.google.dagger:hilt-android-testing
dependency-version: 2.57.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: lib-dependencies
- dependency-name: com.google.dagger.hilt.android
dependency-version: 2.57.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: lib-dependencies
- dependency-name: com.google.dagger:hilt-android-compiler
dependency-version: 2.57.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: lib-dependencies
- dependency-name: com.google.dagger:hilt-android-testing
dependency-version: 2.57.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: lib-dependencies
- dependency-name: com.android.application
dependency-version: 8.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: lib-dependencies
- dependency-name: com.google.dagger.hilt.android
dependency-version: 2.57.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: lib-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-05 10:25:31 +02:00
Ricki Hirner
a7cd1cd49f
Configure Dependabot for Gradle dependencies ( #1680 )
...
* Configure Dependabot for Gradle dependencies
Add Gradle dependency management configuration to Dependabot.
* Update dependabot.yml to ignore specific Kotlin and KSP dependencies
2025-09-05 09:26:30 +02:00
Ricki Hirner
0cc84dfd01
Update synctools ( #1690 )
2025-09-03 16:47:40 +02:00
Ricki Hirner
87239daaf6
Fix invalid translation
2025-09-03 15:53:43 +02:00
Ricki Hirner
81ceb57842
Version bump to 4.5.4-rc.1
2025-09-03 15:41:31 +02:00
Ricki Hirner
cd0b0c0804
Fetch translations from Transifex
2025-09-03 15:41:12 +02:00
Sunik Kupfer
48cbd4a05d
Disable pending sync indicator on Android 14+ ( #1689 )
...
* Disable pending sync indicator on Android 14+
* Disable forever pending sync workaround on Android 14+
2025-09-03 15:32:29 +02:00
Ricki Hirner
beccc7a0d4
Version bump to 4.5.4-beta.1
2025-09-01 11:09:52 +02:00
Sunik Kupfer
2b629c8b18
Add comments on foreign key constraint enforcement ( #1675 )
...
* Add comments on foreign key constraint enforcement
* Fix grammar
* Add foreign key constraint comment to AppDatabase
* Update kdoc with better description
2025-08-28 11:47:49 +02:00
Arnau Mora
cd725479cd
Handle null cases for Events.DIRTY ( #1663 )
...
* Handled nullity of `Calendar.dirty`
* Fixed ids
* Use multiline SQL queries
* Fix kdoc links
* Improve kdoc
* Fix capitalization
* Simplify kdoc
* Improved `LocalCalendarTest`
2025-08-28 11:25:57 +02:00
Ricki Hirner
44666d2138
Add groups section to dependabot configuration ( #1677 )
...
* Add groups section to dependabot configuration
* Fix patterns syntax in dependabot.yml
2025-08-27 15:56:34 +02:00
dependabot[bot]
8e67db7d54
[CI] Bump actions/setup-java from 4 to 5 ( #1672 )
...
Bumps [actions/setup-java](https://github.com/actions/setup-java ) from 4 to 5.
- [Release notes](https://github.com/actions/setup-java/releases )
- [Commits](https://github.com/actions/setup-java/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/setup-java
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-26 10:10:21 +02:00
Sunik Kupfer
a58e3b9036
Don't disable sync-ability of address books when set to manual only ( #1662 )
...
Only disable sync on content changes; but leave syncable
2025-08-25 10:15:56 +02:00
Ricki Hirner
d63918ff42
Update dependencies to latest versions (including AGP) ( #1665 )
2025-08-19 16:45:27 +02:00
dependabot[bot]
f21c3de94a
[CI] Bump actions/checkout from 4 to 5 ( #1664 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 13:54:15 +02:00
Ricki Hirner
24d4ba65e5
Fix NPE when Event._ID is larger than Integer.MAX_VALUE ( #1661 )
...
* Add test that reproduces NPE
* Fix NPE when Event ID is larger than Integer.MAX_VALUE
2025-08-14 17:19:04 +02:00
Arnau Mora
ae96f1ffbb
Using new suggested icons for tabs ( #1657 )
2025-08-14 10:20:08 +02:00
Arnau Mora
a08ecae635
Change "Account doesn't exist" toast message to "Account has been removed" for deleting accounts ( #1650 )
...
* Finish activity after deleting
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added proper toast for when the account is deleted
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Simplify logic
* Missing fix
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-08-13 08:55:26 +02:00
Ricki Hirner
eb4224780a
Update to Gradle 9.0 ( #1647 )
2025-08-07 09:30:37 +02:00
Ricki Hirner
0240e67dab
Bump version to 4.5.4-alpha.1
2025-08-06 16:42:10 +02:00
Ricki Hirner
0ccd9d5eb3
Update synctools for events as Entity and EventAndExceptions ( #1605 )
...
* [WIP] Refactor LocalResource interface and implementations to use immutable properties and add deleteLocal method
* Use `Optional` for `fileName` in `clearDirty` methods, update syncManagers
* Update synctools
* Refactor LocalCalendar to use AndroidRecurringCalendar for event operations
* Use AndroidCalendar.findEvent
* Update SyncManager to process fileName, eTag, scheduleTag and flags
* SyncManager: make ETag and Schedule-Tag processing more understandable
* Make upload handling more clear
* Update synctools
2025-08-06 15:38:38 +02:00
Sunik Kupfer
438f967152
[Sync Framework] Android 14+: Cancel forever pending address book account syncs ( #1643 )
...
* Also cancel sync for address books accounts
* Cancel known account directly
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-08-06 12:07:49 +02:00
Ricki Hirner
a093238864
Make "sync pending" work in AccountsScreen and AccountScreen ( #1615 )
...
* Add sync pending check for Android 14+
* Update sync pending UI logic to use selected authorities only
* Fix isSyncPending not handling multiple dataTypes
* Extract the accounts flow map to boolean flow logic
* Rename method
* Enhance kdoc
* Pass only one authority for pending check
* Update kdoc
* Update kdoc
* Update kdoc
* Fix whitespace
* Rename authority method to currentAuthority
* Update kdoc
---------
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at >
2025-08-06 12:04:24 +02:00
Arnau Mora
293daf1e82
Fix bottom bar color on custom tabs ( #1640 )
...
* Fix bottom bar color on custom tabs
* Removed themind
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-08-06 11:45:29 +02:00
Sunik Kupfer
3b50747ce9
Rename CollectionListRefresher to CollectionsWithoutHomeSetRefresher ( #1644 )
...
* CollectionListRefresher to CollectionsWithoutHomeSetRefresher
* Adapt tests
* Unify class/method naming
* Use "without homeset" wording when applicable
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-08-06 10:45:43 +02:00
Arnau Mora
51d6ed279a
Fetch translations from Transifex ( #1638 )
2025-08-04 11:50:15 +02:00
Arnau Mora
2c6842ac0c
Version bump to 4.5.3 ( #1637 )
...
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-08-04 11:38:40 +02:00
Ricki Hirner
0e6644305a
Bump version to 4.5.3-rc.2
2025-08-01 10:49:28 +02:00
Ricki Hirner
10e3b0a723
Update dependencies, including AGP ( #1632 )
2025-08-01 10:49:00 +02:00
Arnau Mora
2f45b705b3
Replaced Webcal tab icon in collections list ( #1628 )
...
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-08-01 10:43:09 +02:00
Ricki Hirner
be6c3311d7
WebDAV: remove notifications, timeout logic ( #1630 )
...
* Refactor openDocument operation to use OsConstants for mode parsing
* RandomAccessCallbackWrapper: refactor so that it's only purpose is to avoid the memory leak
* Use main looper instead of a new thread per RandomAccessCallback
* Remove WebDAV access notification
* Remove nsk90-kstatemachine dependency
* Simplify fileDescriptor() method
* Use dedicated I/O thread again; use Kotlin `copyTo` for copying
2025-08-01 10:38:24 +02:00
Ricki Hirner
755863778b
Bump version to 4.5.3-rc.1
2025-07-30 10:49:15 +02:00
Ricki Hirner
0e81866d3a
Fix ETag update logic in QueryChildDocumentsOperation ( #1626 )
2025-07-30 10:48:39 +02:00
Arnau Mora
93a256ee75
Icons next to CalDAV/CardDAV tab titles ( #1599 )
...
* Icons next to CalDAV/CardDAV tab titles
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Use shared element transitions
* Switch to `sharedBounds` to allow font size changes
* Update app/src/main/kotlin/at/bitfire/davdroid/ui/account/AccountScreen.kt
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Minor changes
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-07-30 10:30:16 +02:00
Arnau Mora
61e9d60b7c
Correctly handle SecurityException for acquireContentProvider ( #1622 )
...
* Handle `SecurityException` for `acquireContentProvider`
* Added optional `throwOnMissingPermissions` arg to `acquireContentProvider`
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Set `throwOnMissingPermissions` to `true`
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Adapt comments, remove now unnecessary try/catch in AccountSettingsMigration20
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-07-30 10:07:54 +02:00
Ricki Hirner
dc9fb7b608
AndroidSyncFrameworkTest: allow optional states (#1625 )
...
* Update sync state verification to allow optional states
* Refactor AndroidSyncFrameworkTest to use stateEquals for comparison
2025-07-30 09:42:16 +02:00
Ricki Hirner
44b52f65a2
[WebDAV] Implement command pattern, streamline lifecycle, remove WebdavScope ( #1617 )
...
* Remove WebdavScope as it is no longer needed
* [WIP] DavDocumentsProviderImpl
* [WIP] Move DavDocumentsProvider to BaseDavDocumentsProvider and implementation to DavDocumentsProvider
* Adapt tests and DI
* [WIP] Implement Command pattern
* Finish Command pattern, add deprecation notices
* Unify DavDocumentsProvider with wrapper again
* Get rid of DavDocumentsActor
* Add notes about lifecycle, remove shutdown
2025-07-29 10:17:05 +02:00
Sunik Kupfer
e13c140554
Extract refreshHomesetsAndTheirCollections to HomeSetRefresher ( #1606 )
...
* Extract refreshHomesetsAndTheirCollections to HomeSetRefresher
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add kdoc
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Minor changes
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-07-28 09:59:40 +02:00
Ricki Hirner
cdb50205f4
Don't warn on newer Commons versions
2025-07-24 18:12:06 +02:00
Sunik Kupfer
2ba4a2a510
Version bump to 4.5.3-alpha.1
2025-07-24 14:07:12 +02:00
Sunik Kupfer
38b2377760
Follow redirects when adding webdav mount ( #1582 )
...
* Follow redirects when adding webdav mount
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update dav4jvm version
* Remove unused null
* Fix tests
* Add Kdoc
* Add Kdoc
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-07-24 14:02:50 +02:00
Sunik Kupfer
10f6356a6e
Extract refreshPrincipals() to PrincipalsRefresher ( #1607 )
...
* Extract refreshPrincipals to PrincipalsRefresher
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Make method public
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-07-24 13:49:23 +02:00
Ricki Hirner
df4b6d3fbc
Use early entry point for sync adapter services ( #1610 )
2025-07-24 13:19:56 +02:00
Ricki Hirner
dab948730e
Choose real or fake (for tests) SyncAdapter over DI ( #1608 )
...
* Choose real or fake (for tests) SyncAdapter over DI
* Minor changes
* Rename SyncAdapterServicesTest.kt to RealSyncAdapterTest.kt
* Group sync adapter / sync framework classes into new package
* Cache SyncAdapter in SyncAdapterServices
* Add documentation to SyncAdapter interface and rename RealSyncAdapterTest to SyncAdapterImplTest
2025-07-24 12:19:54 +02:00
Sunik Kupfer
288583bfad
Extract discoverHomesets() to ServiceRefresher ( #1604 )
...
* Extract discoverHomesets to ServiceRefresher
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Move hiltRule to top; Add space
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Log every request with method and path
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-07-24 11:33:48 +02:00
Sunik Kupfer
98c0b0c36a
[Sync framework] Fix sync always pending on Android 14+ ( #1463 )
...
* Android 14 and 15 workaround: tell the sync framework to cancel any pending syncs
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add test which documents wrong pending sync check behaviour
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Exclude android 13 and below
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Cancel only own sync request
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Cancel only after enqueuing sync worker
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Move test to AndroidSyncFrameworkTest
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Reset master sync state
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Remove limited parallelism and increase test timeout
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Rename test method
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add assert message
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update comment
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add sdk suppress annotation
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Use runBlocking to be able to catch the timeout exception
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Extract pending sync cancellation to method
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Enhance sync framework tests for Android versions 9 to 16, verifying correct and incorrect pending states
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add tests for sync always pending behavior on Android 10 and 11
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Remove obsolete unmockkAll call
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Make tests a bit more reliable
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Extract cancelSync method call to utils to stub the call more easily
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Remove some unnecessary calls and update stub
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update expected states lists
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Move cancelSyncInSyncFramework to SyncFrameworkIntegration
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Pass the whole sync extras bundle when cancelling sync
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* [WIP] Initialize pending sync state reporting wrong behaviour
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Optimize SyncAdapterServicesTest
* Remove unused property
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Reset master sync state
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Revert "Reset master sync state"
This reverts commit 4bfe73a25a .
* Revert "Remove unused property"
This reverts commit 7c0fdbf392 .
* Reapply "Reset master sync state"
This reverts commit 5f7f0f9bce .
* Reapply "Remove unused property"
This reverts commit f1d5009f8a .
* Increase timeout to 2 min
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* [WIP] Optimize tests
* Optimize sync framework tests
* SyncAdapterServices FakeSyncAdapter: support interrupting
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-07-23 13:03:02 +02:00
Sunik Kupfer
ed7a477d3f
[UI] Use "(optional)" in labels to indicate optional textfields ( #1571 )
...
* Clarify optional fields in UI
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add icons to add webdav mount screen
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add title to group mount point address and name
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Use assistant composable
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-07-22 09:20:06 +02:00
Ricki Hirner
b0609fafb2
Update synctools for AndroidEvent2 ( #1601 )
...
* [WIP] Update synctools
* Refactor LocalEvent to use LegacyAndroidCalendar for event operations
* Refactor LocalEvent to use LegacyAndroidCalendar for event operations
* Update cert4android to get 16 kB page size support over Conscrypt 2.5.3 (#1581 )
* Move SyncState to resource package because it's not in the database (#1585 )
* Update dependencies, including dav4jvm that updates okhttp to 5.x (#1593 )
* Update dependencies, including dav4jvm that updates okhttp to 5.x
* Update mockk and okhttp
* Bump version to 4.5.2-beta.1
* Move Insert/update to DAO (#1587 )
* Move homeset insert/update logic from repository to DAO; add thread-safety test
* Rename insertOrUpdateByUrlRememberSync
* Fix exceptions being fetched as `Parcelable` instead of `Serializable` in `DebugInfoActivity` (#1597 )
Typo: replace `getParcelableExtra` with `getSerializableExtra`
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Bump version to 4.5.2
* Fetch translations from Transifex
* Add documentation and handle missing event in LocalEvent
* Minor changes
* Rename `event` to `getCachedEvent()` to make it more clear what it does
* Update SEQUENCE after successful event upload more explicitly
* Update sequence after successful calendar event upload
* Remove deprecated add() method from LocalResource
* Update KDoc
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Arnau Mora <arnyminerz@proton.me >
2025-07-22 09:15:10 +02:00
Ricki Hirner
94a85833bc
Bump version to 4.5.2.1
2025-07-21 18:13:31 +02:00
Ricki Hirner
4c5c8c3ed0
Don't disable AndroidX startup completely ( #1603 )
...
* Add test
* Update AndroidManifest.xml to configure Hilt/WorkManager integration and remove default WorkManagerInitializer
2025-07-21 18:09:37 +02:00
Ricki Hirner
4685ab6d0c
Revert "Update synctools" ( #1600 )
...
Revert "Update synctools (#1579 )"
This reverts commit 62a0ba3520 .
2025-07-21 11:57:34 +02:00
Ricki Hirner
62a0ba3520
Update synctools ( #1579 )
...
* [WIP] Update synctools
* Refactor LocalEvent to use LegacyAndroidCalendar for event operations
* Refactor LocalEvent to use LegacyAndroidCalendar for event operations
* Update cert4android to get 16 kB page size support over Conscrypt 2.5.3 (#1581 )
* Move SyncState to resource package because it's not in the database (#1585 )
* Update dependencies, including dav4jvm that updates okhttp to 5.x (#1593 )
* Update dependencies, including dav4jvm that updates okhttp to 5.x
* Update mockk and okhttp
* Bump version to 4.5.2-beta.1
* Move Insert/update to DAO (#1587 )
* Move homeset insert/update logic from repository to DAO; add thread-safety test
* Rename insertOrUpdateByUrlRememberSync
* Fix exceptions being fetched as `Parcelable` instead of `Serializable` in `DebugInfoActivity` (#1597 )
Typo: replace `getParcelableExtra` with `getSerializableExtra`
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Bump version to 4.5.2
* Fetch translations from Transifex
* Add documentation and handle missing event in LocalEvent
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Arnau Mora <arnyminerz@proton.me >
2025-07-21 11:54:20 +02:00
Ricki Hirner
71f3558b4b
Fetch translations from Transifex
2025-07-21 10:50:15 +02:00
Ricki Hirner
22d933096f
Bump version to 4.5.2
2025-07-21 10:24:22 +02:00
Arnau Mora
666b707854
Fix exceptions being fetched as Parcelable instead of Serializable in DebugInfoActivity ( #1597 )
...
Typo: replace `getParcelableExtra` with `getSerializableExtra`
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-07-21 10:03:19 +02:00
Ricki Hirner
39f6b82926
Move Insert/update to DAO ( #1587 )
...
* Move homeset insert/update logic from repository to DAO; add thread-safety test
* Rename insertOrUpdateByUrlRememberSync
2025-07-21 09:28:32 +02:00
Sunik Kupfer
b02fd23f0a
Bump version to 4.5.2-beta.1
2025-07-17 11:26:40 +02:00
Ricki Hirner
ca56380c29
Update dependencies, including dav4jvm that updates okhttp to 5.x ( #1593 )
...
* Update dependencies, including dav4jvm that updates okhttp to 5.x
* Update mockk and okhttp
2025-07-17 11:06:04 +02:00
Ricki Hirner
ba9eb1446b
Move SyncState to resource package because it's not in the database ( #1585 )
2025-07-16 12:06:34 +02:00
Ricki Hirner
055599c74f
Update cert4android to get 16 kB page size support over Conscrypt 2.5.3 ( #1581 )
2025-07-15 09:50:39 +02:00
Ricki Hirner
62db3da579
Update Android Gradle Plugin to 8.11.1 and AboutLibraries to 12.2.4
2025-07-14 10:58:22 +02:00
Ricki Hirner
76d8d5acbf
Sync davx5 / davx5-ose repos ( #1575 )
...
* Add custom certs UI build config field and use it in HttpClient; sync CollectionDao
* Backport max accounts setting
2025-07-10 16:49:07 +02:00
Ricki Hirner
dd294a4b03
Move external URIs from Constants to ExternalUris object ( #1574 )
...
* [WIP] Move external URIs from Constants to ExternalUris object
* Update external URIs to use class names or screen name for stat params
2025-07-10 16:14:09 +02:00
Sunik Kupfer
0efe6a7b9b
Bump version to 4.5.2-alpha.1
...
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-07-10 11:49:25 +02:00
Ricki Hirner
405b7abb39
[synctools] Use EventReader / EventWriter ( #1573 )
...
* Update synctools. Use Writer instead of ByteArrayOutputStream
* Update synctools
2025-07-10 10:57:45 +02:00
Ricki Hirner
4e2640ca01
Synctools: AndroidEvent companion object moved ( #1572 )
...
* Update synctools
* Refactor LocalCalendar to use Hilt
* Update synctools
2025-07-09 16:35:27 +02:00
Sunik Kupfer
904c8ba29b
[Sync framework] Disable contacts content change triggered syncs if sync interval set to manual only ( #1569 )
...
* Fix lint error
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Show manual sync interval setting in UI
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Disable contacts content change triggered syncs if set to manual; update kdoc
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update comments and kdoc
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Automatically close provider
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Explicitly handle special case
* Rename updateAutomaticSync to updateSyncFrameworkSetting; adjust comments
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-07-09 11:13:54 +02:00
Michael Biebl
62dc73c2a0
Use system defined line separator ( #1562 )
...
This fixes the test suite on Windows.
Windows uses CR LF, in contrast to Linux which uses LF. So do not
hard-code the value.
2025-07-07 17:42:24 +02:00
Ricki Hirner
58344099f7
AndroidCalendar refactoring ( #1560 )
...
* [WIP] Refactor calendar sync manager to use synctools library
* [WIP] Update synctools
* [WIP] Tests
* Remove test logger module and update calendar color methods
* Fix migrations
* Update libs.versions.toml
2025-07-03 22:12:21 +02:00
Ricki Hirner
b62c7eff0b
Update to synctools version that uses explicit parsing / splitting ( #1554 )
...
* Update to synctools version that uses explicit parsing / splitting
* Update synctools
2025-07-02 15:33:13 +02:00
Ricki Hirner
12cedd4010
Fetch translations from Transifex
2025-07-02 14:30:57 +02:00
Ricki Hirner
3a0221c749
Update version to 4.5.1
2025-07-02 14:30:07 +02:00
Ricki Hirner
f78e7868e8
Revert "Update to synctools version that uses explicit parsing / splitting ( #1554 )"
...
This reverts commit 5dbaedfa60 .
Reason: we don't want it in 4.5.1 yet
2025-07-02 14:28:57 +02:00
Ricki Hirner
5dbaedfa60
Update to synctools version that uses explicit parsing / splitting ( #1554 )
...
* Update to synctools version that uses explicit parsing / splitting
* Update synctools
2025-07-01 21:52:20 +02:00
Ricki Hirner
6187f92efd
Bump version to 4.5.1-rc.2
2025-06-29 16:33:51 +02:00
Ricki Hirner
82ccf6a2f9
Update workflows to use build cache; don't reduce error level for configuration cache problems anymore
2025-06-29 16:23:56 +02:00
Ricki Hirner
0f9c5027d4
Fetch translations from Transifex
2025-06-29 15:42:40 +02:00
Ricki Hirner
7b76df3e70
Bump version to 4.5.1-rc.1
2025-06-29 15:41:36 +02:00
Ricki Hirner
80cfe1013d
[CI] Don't generate a new discussion thread for every release
...
Updates will be posted in major release thread manually
2025-06-29 15:28:23 +02:00
Ricki Hirner
3e3c346019
Update dav4jvm
2025-06-29 14:58:12 +02:00
Ricki Hirner
1773dff8a4
Update synctools for R8 rules
2025-06-27 21:54:14 +02:00
Ricki Hirner
604b0aab98
Bump version to 4.5.1-alpha.1
2025-06-27 17:44:04 +02:00
Ricki Hirner
35cffa603b
LocalCalendar: don't subclass AndroidCalendar (#1552 )
...
* [WIP] Refactor LocalEvent to delegate to AndroidEvent
* Move tests
* Use test rules from synctools
* Add null check for content provider client in JtxSyncManagerTest
* Update dependencies, move OkhttpClientTest
* Refactor LocalCalendar to wrap AndroidCalendar
* Update bitfire-synctools to 1a613d5d3c
2025-06-27 17:43:14 +02:00
Ricki Hirner
89c3eacd36
LocalEvent: don't subclass AndroidEvent ( #1551 )
...
* [WIP] Refactor LocalEvent to delegate to AndroidEvent
* Move tests
* Use test rules from synctools
* Add null check for content provider client in JtxSyncManagerTest
* Update dependencies, move OkhttpClientTest
2025-06-27 17:06:41 +02:00
Ricki Hirner
4246ed65ac
OAuth: Synchronize access token generation ( #1547 )
...
* OAuthInterceptor: synchronize refreshing of access token
* Remove sensitive logging
* [WIP] Logging
* [Google] Support custom client ID on re-authorization
* Statically synchronize acquisition of access token
* [WIP] OAuth: use callbacks for reading/writing AuthState
* Fix DavResourceFinderTest
* Move Credentials class to settings package; KDoc
* Simplify reauthorization
2025-06-27 11:24:02 +02:00
Ricki Hirner
789e7f3045
Set iCalendar PRODID in Constants and use it in respective classes ( #1550 )
...
* Set iCalendar PRODID in Constants and use it in respective classes
* Update bitfire-synctools
2025-06-26 15:38:37 +02:00
Michael Biebl
66f99f7362
Update README.md after switch to synctools ( #1549 )
2025-06-26 12:50:27 +02:00
Sunik Kupfer
90b04ddbdc
[Google] Remove warning box on login screen ( #1548 )
...
* Remove the google login warning card
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Remove unused uri handler variable
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-06-26 12:47:53 +02:00
Ricki Hirner
a7f8ea8a48
Don't subclass AndroidEvent / AndroidCalendar populate / build methods anymore ( #1544 )
...
* Fix tests
* Update synctools; use AndroidCalendar SyncState
* Update synctools; move companion objects to end of class declarations
2025-06-25 14:17:58 +02:00
Sunik Kupfer
42cd8d8631
Update sync progress bar when pending in SAF ( #1445 )
...
* Provide flow to check if sync of account and authority is pending in sync framework
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Show if sync is pending in sync framework
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Show if sync is pending in sync framework
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Fix kdoc
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Cancel any pending SAF syncs on sync request
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Cancel sync adapter sync only after having enqueued our worker sync
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Improve accuracy by also checking isSyncActive
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Remove log statements
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Only query pending state
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Cancel sync adapter sync only on android 14 and 15
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Cancel sync adapter sync with authority
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Cancel sync adapter sync by using sync request instead of canceling directly
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Include android 16
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Include all versions after Android 14
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add test which documents wrong pending sync check behaviour
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Revert "Add test which documents wrong pending sync check behaviour"
This reverts commit 8c538149ff2cb032d6355232c1736e103dcc9a18.
* Drop Android 14+ always pending sync work around
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Differentiate better between enqueued and pending syncs
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Refactor sync pending check to use flow for address book accounts
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Always return false for sync pending state check on Android 14+
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Refactor sync pending check to use flow for address book accounts
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add comments
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update comment
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Shorten variable name
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update comments and variable name
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Remvoe obsolete call and add argument names as comments
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Remove sync active check from listener
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-06-25 13:54:44 +02:00
Ricki Hirner
a26847cf10
Update AGP, Kotlin, dependencies
2025-06-24 23:00:19 +02:00
Ricki Hirner
0e6c26aec6
Update synctools and use unified BatchOperation ( #1543 )
...
* Update synctools and use unified BatchOperation
* Fix tests
2025-06-24 16:26:40 +02:00
Arnau Mora
2204027993
Improve IME integration on forms ( #1504 )
...
* Fix focus accessibility issues
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Got rid of focus options. Improved IME integration
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Remove custom focus requesters
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Move url text to top of fields
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Add focus requester again
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Moved text
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-06-24 11:36:07 +02:00
Arnau Mora
e7189d66b0
Link to Managed DAVx5 in navigation drawer ( bitfireAT/davx5#633 )
...
Added managed drawer entry
2025-06-24 09:43:48 +02:00
Ricki Hirner
c517647819
Update dependencies
2025-06-24 09:40:21 +02:00
Ricki Hirner
0780b226ff
Add F-Droid changelog
2025-06-23 13:20:54 +02:00
Ricki Hirner
8d9a417753
Use Android 14 for instrumented tests again ( #1535 )
2025-06-23 10:51:07 +02:00
Ricki Hirner
008c314b80
Version bump to 4.5
2025-06-23 09:34:10 +02:00
Ricki Hirner
f0019c54b1
Fetch translations from Transifex
2025-06-23 09:33:35 +02:00
Ricki Hirner
51ad6ee00a
Intro / battery optimizations warning: remove Samsung; change wording from "probably" to "may" ( #1532 )
...
* Intro / battery optimizations warning: remove Samsung; change wording from "probably" to "may"
* Remove Huawei from list
2025-06-20 12:15:43 +02:00
Ricki Hirner
dd453a7837
Update version to 4.4.12-rc.1
2025-06-16 13:17:46 +02:00
Ricki Hirner
f91c968eb8
Update synctools, unify local storage exception handling
2025-06-16 13:16:18 +02:00
Ricki Hirner
968a43f9cc
Support OAuth re-authorization ( #1521 )
...
* [WIP] Add OAuth re-authorization flow
* Refactor authorization contract to OAuthIntegration
* Add OAuth re-authentication UI and logic
* Update KDoc and UI strings
2025-06-12 09:37:59 +02:00
Sunik Kupfer
ac965b411b
Delete local collection if missing remotely at delete request ( #1512 )
...
* Inject IO dispatcher
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Delete local collection on delete request when not remotely present anymore
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-06-11 11:13:35 +02:00
Michael Biebl
1608384418
Redact Authorization header from HTTP requests ( #1520 )
...
* Redact Authorization header from HTTP requests
https://github.com/square/okhttp/blob/master/okhttp-logging-interceptor/README.md
https://github.com/bitfireAT/davx5-ose/discussions/1438
* Use constant HttpHeaders.AUTHORIZATION from com.google.common.net.HttpHeaders
https://guava.dev/releases/19.0/api/docs/com/google/common/net/HttpHeaders.html#AUTHORIZATION
* Redact Cookie headers as well
2025-06-10 15:13:28 +02:00
Ricki Hirner
f25c22eba5
Replace ical4android and vcard4android with synctools ( #1519 )
2025-06-10 13:32:46 +02:00
Ricki Hirner
b1f742fb3a
Update dependencies to latest versions
2025-06-05 20:10:09 +02:00
Ricki Hirner
47c8a0589d
Bump version to 4.4.12-alpha.1
2025-06-05 20:08:16 +02:00
Arnau Mora
7c6474ce91
Fix edge to edge issue ( #1515 )
...
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-06-05 11:54:48 +02:00
Ricki Hirner
de8c1d160d
Support Fastmail OAuth ( #1509 )
...
* Add Fastmail OAuth login implementation
* [CI] Run tests on API level 36, too
* Add Fastmail OAuth login support
* Remove logging and move companion object to bottom
* Remove FastmailLogin and GoogleLogin to OAuthLogin and OAuthGoogle
- Remove FastmailLogin class
- Refactor GoogleLogin class to OAuthGoogle object
- Update AndroidManifest.xml to use ${applicationId} for OAuth redirect URI
- Add OAuthFastmail object for Fastmail OAuth integration
- Update GoogleLoginModel and FastmailLoginModel to use OAuthGoogle and OAuthFastmail respectively
- Add OAuthIntegration object for shared OAuth functionality
* Update Fastmail authentication error message and add redirect URI documentation
* Add error handling for refresh token exception
2025-06-05 11:54:14 +02:00
Ricki Hirner
fa50fe4c30
[CI] Run tests on API level 35
2025-06-04 16:14:00 +02:00
Arnau Mora
ba4d3b2fd1
Increase SDK to 36 ( #1513 )
...
* Upgrade to SDK 36
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Enable on back invoked callback
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Remove `enableOnBackInvokedCallback`
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-06-04 15:42:57 +02:00
Sunik Kupfer
0fed85fdc3
Add app password hint under password field ( #1507 )
...
* Add app password hint under password field
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Change text to use prefer
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Append path encoded
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update app password help URL and text
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-06-04 15:42:40 +02:00
Sunik Kupfer
6fbaea9487
[SyncManager]s Remove authority ( #1491 )
...
* Update sync stats to store sync data type instead of authority
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Use a real authority in the tests
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Replace authority with syncDataType in sync managers
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Minor changes
- import index
- edit comments
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Use lowercase localised strings for datatypes
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Pass sync data type extra as string
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Remove unknown datatype
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Move datatype name strings to collection screen section
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update string usages
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update test
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add any type annotations to arrays
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-06-04 14:44:12 +02:00
Arnau Mora
fc2bc8aa47
Pass state to modal drawer for automatic back handler ( #1495 )
...
* Pass state to modal drawer for automatic back handler
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fix deprecation: Use toUri instead of Uri.parse
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at >
2025-06-02 17:12:41 +02:00
Ricki Hirner
0321e4ab8f
[Lint] Convert URIs to strings using toUri() ( #1506 )
2025-06-02 12:00:13 +02:00
Ricki Hirner
711543c5f1
Credentials / dav4jvm: store passwords as CharArray ( #1483 )
...
* Credentials / dav4jvm: store passwords as CharArray
* Fix tests
2025-05-30 17:37:14 +02:00
Ricki Hirner
5c485834e9
Update Gradle wrapper and Android Gradle Plugin versions
2025-05-30 17:36:10 +02:00
Ricki Hirner
f349f1fec8
Bump version to 4.4.11
2025-05-30 16:28:23 +02:00
Ricki Hirner
e6413506cb
Fetch translations from Transifex
2025-05-30 16:26:53 +02:00
Michael Biebl
d4b5039297
Use lowercase GroupIDs as a workaround for jitpack.io issues ( #1489 )
...
Related discussion at
https://github.com/bitfireAT/davx5-ose/discussions/1236
and
https://github.com/jitpack/jitpack.io/issues/3295#issuecomment-2329134019
For example trying to access:
https://jitpack.io/com/github/bitfireAT/dav4jvm/b87d772e44/ I get:
File not found. Build ok
In comparison under
https://jitpack.io/com/github/bitfireat/dav4jvm/b87d772e44/ I get:
build.log
dav4jvm-b87d772e44-sources.jar
dav4jvm-b87d772e44.jar
dav4jvm-b87d772e44.module
dav4jvm-b87d772e44.pom
dav4jvm-b87d772e44.pom.md5
dav4jvm-b87d772e44.pom.sha1
2025-05-26 13:53:21 +02:00
Ricki Hirner
979f2257de
Bump version to 4.4.11-rc.2
2025-05-22 19:43:03 +02:00
Ricki Hirner
3efb8d5c62
TaskSyncer: accept nullable ResyncType ( #1487 )
...
Fix TaskSyncer constructor to accept nullable ResyncType
2025-05-22 19:42:34 +02:00
Ricki Hirner
ec657519a9
Bump version to 4.4.11-rc.1
2025-05-22 17:33:24 +02:00
Sunik Kupfer
a835557b35
Handle when AccountActivity is started without account ( #1481 )
...
* Pass new account as non-nullable
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Move companion object
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Handle missing account in intent by logging and redirecting to accounts overview
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Fix deprecation
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Also check account exists
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Simplify toast message
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add account name to toast message
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Don't check for invalid accounts in AccountActivity; handle InvalidAccountException in model
* Minor changes
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-05-22 17:22:31 +02:00
Arnau Mora
19f86670bf
Implemented sort order for DAV documents ( #1434 )
...
* Implemented sort order
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed column name
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Implemented sort order
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed column name
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Improved issues
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Add test for WebDavDocumentDao.getChildren for ORDER BY
* Converted getChildren into a raw query
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fix formatting of SQL query in WebDavDocumentDao
* Refactoring
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Drop comment
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Changed default sort to show directories first
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed tests
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Switched to query constructor instead of in-place
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Changed log method
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Add DocumentSortByMapper to handle orderBy mapping for WebDavDocument queries
* Rename DavDocumentsProviderTest to DocumentSortByMapperTest and update test method name
* Refactor sorting and mapping
* Add "order by name" as last criterion
* Remove default sort order constant from DocumentSortByMapper and use WebDavDocumentDao.DEFAULT_ORDER instead
* Adapt comments
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-05-22 09:48:12 +02:00
Ricki Hirner
f74d14e2a2
Always append one-time syncs ( #1482 )
...
* Refactor sync worker manager to always append one-time syncs (but only once)
* Adapt KDoc
2025-05-21 15:57:10 +02:00
Ricki Hirner
57ef059099
[CI] Also run tests on push to main branch
2025-05-21 11:59:12 +02:00
Ricki Hirner
f157a819b7
Bump version to 4.4.11-beta.1
2025-05-21 11:55:51 +02:00
Ricki Hirner
9bbc4c096d
Update Compose BOM version to 2025.05.01
2025-05-21 11:55:51 +02:00
Sunik Kupfer
b306219015
[Push] Append sync when already syncing ( #1480 )
...
* [WIP] Add delay to sync worker and append push syncs
* Enqueue sync work with append policy for push notifications
* Remove delay
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Also check for enqueued work
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-05-21 11:54:18 +02:00
Ricki Hirner
469c30b511
[CI] Run tests on pull requests instead of git pushes ( #1479 )
...
* [CI] Run tests on pull requests instead of git pushes
* Add comment to PR trigger in test-dev.yml
* Update concurrency group for development tests
2025-05-21 11:30:24 +02:00
Sunik Kupfer
05f6c7ab0b
Reset subscription URLs on distributor change ( #1467 )
...
* Move distributor set/get to PushRegistrationManager
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Handle unsubscription after manual distributor change before resubscribing
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Minor changes
* Update distributor check to use method of the own class
* Use mutex and add KDoc
* UnifiedPush registration: add service type to "message for distributor"
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
Co-authored-by: Arnau Mora <arnyminerz@proton.me >
2025-05-19 16:42:40 +02:00
Ricki Hirner
eeb94d4039
[Sync] Replace extras Bundle by explicit arguments ( #1475 )
...
* Remove extras parameter from sync managers
* Refactor sync worker parameters and improve documentation
* Adapt tests
* Rename resyncType to resync in syncers, adapt KDoc
* Remove legacy sync result comment
2025-05-19 15:37:50 +02:00
Ricki Hirner
7bf9172bdc
SyncManager: directly wrap HTTP calls with runInterruptible ( #1472 )
...
* SyncManager: Handle CancellationException in sync process
* Wrap remote resource operations with runInterruptible; provide suspending SyncException wrappers
* Update more sync methods to use runInterruptible only for the HTTP request itself
* Make downloadRemote methods suspendable and use runInterruptible for better concurrency handling
* Update code style
* Fix tests
* Refactor SyncException to use runBlocking for wrapping resources
2025-05-19 12:54:51 +02:00
Arnau Mora
dec5be5690
Display FCM instead of DAVx⁵ in distributor settings ( #1468 )
...
* Display FCM instead of DAVx⁵ in distributor settings
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Update app/src/main/kotlin/at/bitfire/davdroid/ui/AppSettingsScreen.kt
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-19 10:49:19 +02:00
Ricki Hirner
d8e8129d7b
Bump version to 4.4.11-alpha.1
2025-05-14 13:49:05 +02:00
Ricki Hirner
c9fb7dc7a2
Update dependency
2025-05-14 13:46:47 +02:00
Arnau Mora
ededcb98e1
Added widget with just a sync icon ( #1340 )
...
* Renamed existing widget
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added sync icon widget
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added labels for widgets
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added widget preview
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Removed max width restriction
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Changed widget description
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-05-14 08:50:50 +02:00
Arnau Mora
fc10a315d5
Added warning about credentials in debug info ( #1457 )
...
* Added warning about credentials in debug info
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Updated warning message
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Changed descriptive icon
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Replace "alert" by "notice"
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-05-13 15:45:52 +02:00
Ricki Hirner
cfeb6b3974
Make SyncManager suspending (first part) ( #1451 )
...
* Introduce coroutine dispatcher for sync operations
* Make `logSyncTimeBlocking` and `insertOrReplace` suspend functions
* Suspend first bunch of SyncManager methods; move sync dispatcher usage to SyncManager
* [WIP] Fix tests
TODO: extract test framework changes to separate PR
* Remove mainDispatcher from SyncManagerTest
* Remove explicit coroutineScope naming
2025-05-12 15:52:54 +02:00
Ricki Hirner
a15902e586
[DI] Make backing field of TestDispatcher + scheduler private
2025-05-10 09:17:22 +02:00
Ricki Hirner
47afddbd08
Simplify running suspending tests ( #1452 )
...
* Move LoggerModule to di package and add TestLoggerModule
* Remove main dispatcher injection and use runTest directly
* Add verbose logging module for tests
* Add test for UnifiedPushService.onUnregistered
2025-05-09 14:55:30 +02:00
Ricki Hirner
5f647b7403
Move GetDelayUntil tests to dav4jvm
2025-05-09 12:18:16 +02:00
Ricki Hirner
d460e4ca7b
Update dav4jvm
2025-05-09 11:50:45 +02:00
Ricki Hirner
827a1b954f
Update version code and name and increase max build metaspace size to 1GB
2025-05-09 10:59:34 +02:00
Ricki Hirner
54bcda1bb4
Update Android Gradle Plugin and Compose BOM versions
2025-05-08 13:27:13 +02:00
Ricki Hirner
7003c5f730
Bump version to 4.4.10-rc.1
2025-05-07 18:03:28 +02:00
Ricki Hirner
4ccf99ce23
Fetch translations from Transifex
2025-05-07 18:03:03 +02:00
Ricki Hirner
3fca4d60f1
Update dependencies
2025-05-07 18:02:57 +02:00
Ricki Hirner
2099f47d22
Use ical4android that removes ClassLoader checks; refactor SyncDispatcher ( #1446 )
...
* Use ical4android that removes ClassLoader checks; refactor SyncDispatcher
* [Tests] Add SyncDispatcher provider for tests
* Add sync dispatcher with fixed thread pool
* Replace fixed thread pool context with thread pool executor (as we had it previously, but without setting the contextClassLoader)
* Replace sync dispatcher with I/O dispatcher with limited parallelism
2025-05-07 17:57:46 +02:00
Sunik Kupfer
c12a723a52
Send Push-Dont-Notify header ( #1444 )
...
* Update dav4jvm
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add push-dont-notify header to requests when push subscription has not expired
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Fix mocks in TestSyncManager
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Use relaxed mockk for collection
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Use lazy val for pushDontNotifyHeader
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Use null instead of empty map for pushDontNotifyHeader
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Get push subscription state as calculated collection property
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add tests for active push subscription status in collection
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Rename test methods
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Return active subscription or null
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Use empty map instead of null for pushDontNotifyHeader
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Fix test
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Always send push-dont-notify header if subscription exists
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Fix copyright
* Send Push-Dont-Notify URL as quoted string
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-05-07 17:22:54 +02:00
Arnau Mora
eb0b75a9a7
[Push] Better title/description for Google FCM in UI ( #1424 )
...
* Added FCM indicator
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Changed text
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added content description
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Add link to manual for WebDAV push in app settings
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-05-02 12:06:23 +02:00
Arnau Mora
94ca9cd871
Fixed deprecations with menu anchors ( #1428 )
...
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-04-30 11:58:01 +02:00
Ricki Hirner
9f697f06be
Repositories: apply new naming scheme ( #1423 )
...
* DavHomeSetRepository, DavServiceRepository: apply new naming scheme for (non-)suspending calls
* AccountRepository: apply new naming scheme for (non-)suspending calls
* Update repository methods to new naming scheme
2025-04-30 10:58:00 +02:00
Ricki Hirner
ba7f95aad5
Clean up app/build.gradle ( #1421 )
...
* Remove packaging resources exclusion and configurations
* Update mikepenz-aboutLibraries to 12.1.0-rc03 and configure resource merging for LICENSE files
2025-04-27 11:10:20 +02:00
Ricki Hirner
993fffaa15
Fix UnifiedPushService tests ( #1420 )
2025-04-27 10:21:17 +02:00
Ricki Hirner
4b7f7ed45e
Fetch translations from Transifex
2025-04-27 10:03:44 +02:00
Ricki Hirner
7e80607a34
Bump version to 4.4.10-beta.1
2025-04-27 10:01:41 +02:00
Ricki Hirner
d0389f13fc
Move Hilt modules to .di package ( bitfireAT/davx5#665 )
...
Move Hilt module definitions to di package
2025-04-26 23:21:27 +02:00
Sunik Kupfer
993d0f66ec
[Push] Update subscriptions when collection is (un)selected for sync ( #1407 )
...
* Update subscriptions when collection is (un)selected for sync
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Remove collections change listener and its hilt module
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Remove observer pattern to listen for collection changes
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update push subscriptions when collection is (un)selected for sync
* Update collection selection listener to use lazy initialization
* Update push subscriptions and sync when collection is (un)selected for sync
* Update app/src/main/kotlin/at/bitfire/davdroid/ui/CollectionSelectedUseCase.kt
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Move CollectionSelectedUseCase to account package
* Add test for CollectionSelectedUseCase
* Inject application scope instead of using a factory
* Update tests to run on our main dispatcher
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-04-26 22:13:40 +02:00
Arnau Mora
4c9ad959dd
Upgrade about libs to 12.1.0-rc02 ( #1416 )
...
* Upgrade about libs to 12.1.0
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Update AboutLibraries version to 12.1.0-rc02
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-04-26 14:43:51 +02:00
Ricki Hirner
044a28138a
[Push] Don't block main thread in UnifiedPushService ( #1412 )
...
* Refactor UnifiedPushService to use CoroutineScope so that it doesn't block on main thread
* Add KDoc why the scope is not cancelled
2025-04-25 10:36:02 +02:00
Ricki Hirner
e8ec98c257
Fix HttpClient.Builder.followRedirect
2025-04-25 10:30:53 +02:00
Ricki Hirner
fe0c1e67e7
Drop LiveData ( #1414 )
...
* Remove LiveData dependencies
2025-04-25 09:59:08 +02:00
Ricki Hirner
7261a8137d
[IDE] Code style, width
2025-04-25 09:05:43 +02:00
Ricki Hirner
b1493f3f6a
Bump version to 4.4.10-alpha.2
2025-04-24 20:08:30 +02:00
Ricki Hirner
d679dc5e97
[Push] Fix various subscription problems ( #1411 )
...
* Handle non-existing account gracefully when (un)subscribing collections
* Unsubscribe from all (subscribed) collections when no push distributor is selected
2025-04-24 20:03:39 +02:00
Ricki Hirner
b0f7196f2b
Fix non-suspending DB access on main thread in accountRepository.delete() ( #1409 )
...
Make more database queries suspendable and run them in a blocking context
2025-04-24 19:02:22 +02:00
Ricki Hirner
77a6e5c5ab
Bump version to 4.4.10-alpha.1
2025-04-24 13:12:38 +02:00
Ricki Hirner
845d979046
Update dependency versions
2025-04-24 13:12:14 +02:00
Arnau Mora
f62509ed80
[Push] Support UnifiedPush Connector 3.x, VAPID, Encryption, Google FCM ( #1325 )
...
* Upgrade UnifiedPush Connector to 3.0.4
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Updated overrides
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added storing keys and auths
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Excluded tink
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed deprecations and calls
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Integrate UnifiedPush 3.x connector and FCM distributor
* Integrate UnifiedPush connector 3.x, use VAPID and message encryption
* [WIP] Refactor push registration logic and remove deprecated methods
* [WIP] Remove PushRegistrationWorkerManager and refactor PushRegistrationManager
* Remove unused service repository dependency and update worker to suspend
* Add suspend modifier to DAO methods and repository methods
* Add runBlocking to getByService call in CollectionListRefresherTest
* Add documentation for UnifiedPushService and PushRegistrationManager
* Add fallback for push messages without topic
* [WIP] Add UnifiedPushService test with workaround for PushService binder
* Update UnifiedPush library version and clean up test code
* Refactor push message handling, synchronization and coroutines
* Add coroutine dispatchers for push registration and unregistration
* Add async support for push subscription updates
* Refactor unsubscribe logic into reusable method
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-04-24 13:09:51 +02:00
Ricki Hirner
e79c362f46
[WebDAV] Refactor coroutine usage ( #1405 )
...
* Inject coroutine scopes for cancellation and I/O
* Inject coroutine scopes for better cancellation and lifecycle management
* Inject coroutine scopes for WebDAV operations
* Fix tests
* More correct coroutine contexts
2025-04-24 12:12:17 +02:00
Arnau Mora
5c35741226
Update AboutLibraries to 12.0.0 ( #1406 )
...
* Upgrade aboutlibs to 12.0.0
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Migrated code
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Apply AboutLibraries after other gradle plugins
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-04-24 10:33:59 +02:00
Ricki Hirner
b90b8ce6a2
Update AGP to 8.9.2
2025-04-23 17:30:29 +02:00
Sunik Kupfer
321aeedd8f
Sync after sync flag or forceReadOnly flag of a collection are changed ( #1383 )
...
* Perform delayed sync on a collection UI change
- sync state
- force-read-only state
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Use withContext to access DB on background thread
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Remove return comment
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Extract delay value to constant
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Use accountRepository to create account from name
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-04-23 17:25:12 +02:00
Arnau Mora
09f68a237b
NPE when trying to log in without specifying an email ( #1401 )
...
* Added check for null baseUri
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Rollback
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added check for IME next
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-04-22 10:44:21 +02:00
Ricki Hirner
93d715bb99
Test coroutines with runTest instead of runBlocking ( #1399 )
...
Add kotlinx-coroutines-test dependency and replace runBlocking with runTest in tests
2025-04-22 10:44:08 +02:00
Arnau Mora
04fe8e1aca
Hide "keep permissions" in API 29 and below ( #1400 )
...
* Hide "keep permissions" for API 29 and below
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fix deprecation
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-04-22 09:35:12 +02:00
Ricki Hirner
1f02f3cc27
Use R8 full mode ( #1397 )
...
* Use R8 full mode
* Add dav4jvm dependency (which includes an XmlPullParser) for testing
2025-04-20 12:53:17 +02:00
Ricki Hirner
a0acd4e929
Use ProGuard rules from libraries ( #1387 )
...
Update library versions and optimize ProGuard rules (most of them are now in the libraries consumer rules)
2025-04-20 12:46:46 +02:00
Ricki Hirner
3901e6ebe4
Update translation fetching script to use relative paths
2025-04-20 10:30:11 +02:00
Ricki Hirner
f229226521
Bump version to 4.4.9
2025-04-20 10:26:36 +02:00
Ricki Hirner
6644e4acd7
Fix 4.4.9 release compile error ( #1386 )
...
Update ical4android version and force Apache Commons dependencies
2025-04-17 16:39:23 +02:00
Ricki Hirner
d46f8056a5
Fetch translations from Transifex
2025-04-17 12:55:02 +02:00
Ricki Hirner
c3731ace88
Version bump to 4.4.9-rc.1
2025-04-17 12:53:21 +02:00
Ricki Hirner
038c2df524
Update dependencies
2025-04-17 12:52:20 +02:00
Arnau Mora
400318b390
Fixed paddings on horizontal mode ( #1353 )
...
* Fixed paddings
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added padding to all screens
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed edge to edge on accounts screen
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed e2e issues
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Undo edge-to-edge
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Rollback
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed paddings
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed padding consumption
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Got rid of ime padding
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed issues with paddings
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fix UI elements partially obscured in landscape mode
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-04-17 12:47:59 +02:00
Arnau Mora
0d2e5a1f07
Avoid NPE when missing DTSTART for recurring events ( #1336 )
...
* Added handling of null dtstart
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added JtxSyncManagerTest
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Test recurrence id without dtstart does not cause NPE
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Extract syncmanager creation from try-catch
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add tests
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Assert RRULE remains in main vtodo
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Skip tests when jtx board not installed
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Correct annotation
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Simplify null checks
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Extract recurid definition
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update ical4android
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Find recurrence instance without dtstart
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Rename method for clarity and update kdoc
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Use new method in test too
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Fix lint warnings
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Use a custom rule to wrap and ignore security exception if jtxboard is not installed
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Use existing permission utils
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Rename capture to catch exceptions rule
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Format code
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at >
2025-04-16 14:49:44 +02:00
Ricki Hirner
9835cd0d53
Refactor SharedPreferences edits to use Kotlin extension function ( #1382 )
2025-04-15 11:46:17 +02:00
Bernhard Stockmann
f6d8efcd26
Update Screenshots ( #1380 )
...
now reflects latest UI
2025-04-14 13:32:27 +02:00
Ricki Hirner
955de83b35
Add VAPID support to Collection entity ( #1376 )
2025-04-13 11:41:30 +02:00
Ricki Hirner
29a09f2038
Update dependencies, including dav4jvm ( #1374 )
...
* Update dependencies
* Remove unused import and simplify topic extraction
* Fix room issue
2025-04-13 10:26:34 +02:00
Ricki Hirner
fff332f31f
Enable dependabot for Github Actions ( #1363 )
2025-04-01 17:28:24 +02:00
Ricki Hirner
b4d4a2fddd
Update Android Gradle Plugin and Compose BOM versions
2025-04-01 10:40:56 +02:00
Arnau Mora
566a539a85
Debug Info does not contain actual error ( #1362 )
...
Fixed typo on intent extra
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-04-01 10:20:03 +02:00
Arnau Mora
e588ada891
Original string for webdav_add_mount_empty_more_info broken ( #1354 )
...
Got rid of extra `</string>` tag inside of CDATA
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-03-23 11:36:16 +01:00
Sunik Kupfer
0c89e3ba3b
Version bump to 4.4.8
2025-03-13 12:44:38 +01:00
Sunik Kupfer
7b0e134c20
Fetch translations from Transifex
2025-03-13 12:40:43 +01:00
Ricki Hirner
8f7c285cb7
Move InvalidAccountException to account package ( #1342 )
...
Move InvalidAccountException
2025-03-13 11:21:44 +01:00
Arnau Mora
a2cddfc012
Release 4.4.8-rc.1 ( bitfireAT/davx5#656 )
...
* Increase version code and modify version name
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-03-13 11:21:44 +01:00
Sunik Kupfer
54eaecc6b5
Backport of bitfireAT/davx5#655 : honor build config decision on whether users are allowed to accept custom certificates
...
* Honor customCertsUI build config value on whether users are allowed to accept custom certificates
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Add kdoc
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Update comment
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
* Extract config evaluation; Update kdoc
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
---------
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at >
2025-03-11 12:37:55 +01:00
Sunik Kupfer
0012dec482
Track app foreground state via AppTheme using separate object ( #1335 )
...
* Track app in foreground state via AppTheme using separate object
* Make inForeground read only; add kdoc
* Remove type
2025-03-05 11:13:41 +01:00
Ricki Hirner
ced6abea3f
Update AGP and dependencies
2025-03-05 10:41:35 +01:00
Sunik Kupfer
4a82baeaea
Remove special chars in address book account names ( #1334 )
...
* Remove special chars from address book account names
* Add a test
* Update kdoc
* Only remove iso control and SQL problematic chars
2025-03-05 09:51:39 +01:00
Sunik Kupfer
f41b4fd59d
Show a notification at sync when ContentProvider inaccessible ( #1278 )
...
* Extract notification handling to separate class
* Notify user at sync if content provider is missing
* Dismiss only content provider specific notification
* Remove title from notification text body
* Move sync warning strings into their own block
* Add KDoc, duplicate method for clarity
* Show message in notification for disabled tasks apps
* Pass authority through method calls
* Shorten method names
* Don't show content provider error notification when missing permission
* Rename methods and remove obsolete var
* Add spacing in content provider missing warning
* Improve kdoc
* Remove obsolete tasks provider error messages
* Syntactic sugar
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-03-04 13:36:29 +01:00
Ricki Hirner
f6bd4b0fc2
Update issue templates to support issue types and allow blank issues (for internal use)
2025-03-01 12:47:36 +01:00
Ricki Hirner
50879b6a0c
Update AGP, Kotlin, dependencies
2025-02-27 13:14:47 +01:00
Arnau Mora
6be42d4ec3
Added timestamp to debug info ( #1323 )
...
* Added timestamp to debug info
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added timestamp to `DebugInfoActivity.IntentBuilder`
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Show local time and UTC of timestamp
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-02-25 20:00:22 +01:00
Sunik Kupfer
a56d42d9a5
Provide test address books via DI ( #1310 )
...
* Add LocalTestAddressBookStore.kt
* Update tests acquiring local test address books
* Remove unused methods from LocalTestAddressBook
* Extract dirty check methods to the single test class using them
* Remove unused read only flag
* Drop obsolete context
* Reusables as properties
* Rename LocalTestAddressBookStore to LocalTestAddressBookProvider
* Minor changes
* Remove test address book after provision finishes and don't remove all before
* Fix more tests by removing address book accounts after run, not before
* Wrap provision method call in try-finally
* Rename provide methods anonymous function param for clarity
* Extract account recreation to variable
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-02-25 17:27:45 +01:00
Ricki Hirner
e34952bca9
Update dependencies
2025-02-19 12:58:36 +01:00
Arnau Mora
9d293a00e7
Added confirmation dialog for "Distrust System Certificates" ( #1307 )
...
* Added confirmation dialog for dsc
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Automatic dialog dismiss
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added preview, and changed texts
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Updated dialog
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-02-15 23:04:32 +01:00
Arnau Mora
1ee41f8027
Use TaskStackBuilder instead of PendingIntent.getActivity ( #1293 )
...
* Use `TaskStackBuilder` instead of `PendingIntent.getActivity`
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Replaced usages for addNextIntentWithParentStack
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Remove unused import
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-02-13 18:53:10 +01:00
Sunik Kupfer
d3c1dbb5da
DnsRecordResolverTest: Use seeded random number generator for deterministic test result (#1306 )
...
* Use seeded random number generator for a 100% deterministic test result
* Fix typo
* Rename variable
* Mock random numbers and assert corresponding record is found
2025-02-12 17:50:50 +01:00
Sunik Kupfer
cd554d885b
Skip login type selection when logging in via intent ( #1267 )
...
* Move companion object to the end of class
* Skip login type selection when logging in via intent
* Skip login type page if not default login type
* Add test for implicit email intent
* Fix test
* Update KDoc
* Refactor URI handling in LoginActivity and StandardLoginTypesProvider
* Skip login type page if intent is clear, but don't skip when using defaultLoginType
* Log unclear intents
* Use data class instead of pair
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-02-11 10:58:15 +01:00
Ricki Hirner
d9b4149d41
Refactor: replace deprecated getShowOnlyPersonalPair method and simplify removeAccount logic ( #1304 )
2025-02-07 11:55:16 +01:00
Arnau Mora
4af6165094
Backport login_credentials_lock for password change in account settings ( bitfireAT/davx5#643 )
...
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-02-07 11:41:47 +01:00
Ricki Hirner
fb2023762d
Add syncActive flag to control SyncAdapter behavior during tests ( #1302 )
2025-02-07 11:26:10 +01:00
Ricki Hirner
946c450036
SyncAdapter: Hilt error handling ( #1299 )
...
* SyncAdapter: Hilt error handling
* HiltTestRunner: enforce Android P requirement for MockK
* Update comment
2025-02-06 17:29:14 +01:00
Ricki Hirner
969d92d037
Bump version to 4.4.7
2025-02-02 18:30:35 +01:00
Ricki Hirner
6998f009c4
Fetch translations from Transifex
2025-02-02 14:57:15 +01:00
Ricki Hirner
cba1f01bdb
Version bump to 4.4.7-rc.1
2025-02-02 14:56:29 +01:00
Ricki Hirner
5f80c8e779
Add migration for Syncer URL → ID change ( #1285 )
...
* Add AccountSettingsMigration20 to handle collection ID migration for syncer
* Add success path tests for address books and calendars
* Increase CURRENT_VERSION, fix task list store
2025-02-02 14:55:39 +01:00
Ricki Hirner
5ece438b3f
Open-source intro page: don't select a "dont show for... months" option by default ( #1287 )
...
Refactor RadioButtons component to support initial selection and update parameter names for clarity
2025-02-02 14:46:50 +01:00
Ricki Hirner
acd4e41f8b
Update cert4android to avoid Conscrypt crash in custom certificate handling ( #1290 )
2025-02-02 14:35:36 +01:00
Ricki Hirner
ae08093906
Syncer SecurityException: disable permission notification for now ( #1284 )
2025-02-02 14:28:07 +01:00
Ricki Hirner
dd456b41f1
Version bump to 4.4.7-beta.1
2025-01-31 22:52:19 +01:00
Ricki Hirner
30283f36a4
Update dependencies
2025-01-31 22:51:53 +01:00
Ricki Hirner
4858dd9229
Move authority and ContentProvider creation to LocalDataStore ( #1272 )
...
* Move authority and content provider acquire() to LocalDataStore implementations
* Fix tests
* Update LocalCalendarStore.kt
Reroder LocalCalendarStore delete
2025-01-30 12:42:11 +01:00
Sunik Kupfer
b910ba25ae
Use ID to match DB collections with content provider collections ( #1274 )
...
* Update ical4android
* Match DB collections with content provider collections via ID
* Minor renaming and KDoc
* Move string constant to companion object
* Update KDoc
* Use getOrDefault to be more explicit
* Remove exception throw on missing collection ID
* Rewrite LocalAddressBookStoreTest
* Minor changes
- remove unused param
- make companion methods internal
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-01-29 16:47:51 +01:00
Arnau Mora
2a542210ca
MKCALENDAR does not send valid calendar-timezone ( #1251 )
...
Fixed missing calendar properties
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-01-28 12:39:24 +01:00
Sunik Kupfer
eef85f1f7a
Provide three options for donation reminder time ( #1256 )
...
* Provide three options for donation reminder time
* Move radio buttons to top card; Change strings
* Use padding instead of height for radio elements
2025-01-27 17:50:12 +01:00
Ricki Hirner
4f2d4e3a49
Further unmockk after tests
2025-01-27 16:47:31 +01:00
Ricki Hirner
feccb76ce8
MockK: use MockkRule if possible ( #1269 )
...
Unmockk all
2025-01-27 16:24:44 +01:00
Ricki Hirner
835689a4a6
Use DI for HttpClient.Builder ( #1250 )
...
* [WIP] Use Hilt for HttpClient.Builder
* Inject Provider<HttpClientBuilder> when necessary
* Proxy support
* [WIP] Tests
* Fix tests
* Minor changes, enable cache support again
* Update HttpClient to use modern TLS connection specification (disable TLS 1.0 and 1.1)
* Use real CredentialsStore
2025-01-27 13:44:33 +01:00
Ricki Hirner
50cbac147e
[CI] Use if: !cancelled() instead of if: always() ( #1266 )
...
To make jobs cancellable,
see https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/evaluate-expressions-in-workflows-and-actions#always
2025-01-27 13:02:38 +01:00
Ricki Hirner
d1dd2f016e
Fetch translations from Transifex
2025-01-25 12:54:34 +01:00
Ricki Hirner
bd5e26a9a9
Version bump to 4.4.6
2025-01-24 17:55:54 +01:00
Sunik Kupfer
2d686bee01
Show a warning if calendar or contacts storage is deactivated or missing ( #1243 )
...
* Add AppTheme to previews
* Show warning when contacts or calendar system apps are missing or disabled
* Change android icon to database missing icon
* Remove duplication
* Use packageChangedFlow to observer live changes
* Send user to settings app when deactivated and manual when missing
* Find whether content provider app is available by authority
* [WIP] Minor changes
* Open "Manage apps" instead of manual
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-01-24 17:52:17 +01:00
Arnau Mora
2438f1a8d4
Replaced LocalContext casting with LocalActivity ( #1261 )
...
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-01-22 21:17:00 +01:00
Ricki Hirner
331f8d5743
Bump version to 4.4.6-rc.1
2025-01-22 15:53:40 +01:00
Ricki Hirner
7e43524ff5
Update dependencies
2025-01-22 15:53:00 +01:00
Arnau Mora
708d94b69b
Debug info: print all workers ( #1200 )
...
* Added printing of debug info for AccountsCleanupWorker
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Improved docs
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed issues
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Cleanup
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Move debug info generation into separate class
* Minor changes
---------
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 >
2025-01-22 15:27:28 +01:00
Arnau Mora
8b3c36f702
Use DB StringDefs also in DAOs and methods where they are used ( #1252 )
...
* Added annotations to daos
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added missing annotations on methods
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Missing annotation
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2025-01-22 11:35:37 +01:00
Sunik Kupfer
ca2d57cf61
Change warning when Internet is not available ( #1255 )
2025-01-22 11:33:58 +01:00
Sunik Kupfer
1cc9b4bdd1
Fix show only personal setting not updating the view immediately ( #1238 )
...
* Split pair of show only personal settings
* Create and consume showOnlyPersonal settings separately
* Fix showOnlyPersonal flow state change not triggering re-emission
* Combine if statements
* Minor refactoring (lift out "if")
* Create separate reload methods
* Reload on model creation
* Use viewmodel scope
* Move init after relevant method declarations
* Add kdoc
* Remove deprecated getShowOnlyPersonalPair
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-01-20 13:45:50 +01:00
Sunik Kupfer
226583f19e
Don't remove port from URI of nextcloud login intent ( #1242 )
...
* Test loginFromIntent
* Fix given URI
* Add test
* Use URI authority directly
* Add test for implicit intents
* Add URI port only if not -1
* Modify URI using Java URI
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-01-16 14:34:51 +01:00
Ricki Hirner
f3333b7b54
Update AUTHORS and copyright notices ( #1232 )
...
* Update AUTHORS
* Add Android Studio copyright profiles
* Update copyright notices
2025-01-10 16:41:37 +01:00
Sunik Kupfer
226560230d
Collection list refresh: Don't update fetched homesets ( #1222 )
...
* Collection list refresh: Don't update home sets that have been fetched already
* Expand testDiscoverHomesets for personal flag
* Add comment
* Rename property; Update its kdoc
* Make class properties function params
* Extract home set class and property definitions for home set discovery
* Pull out HomeSetClassName and property names
* Minor KDoc changes
* Move collection and principal query properties
* Make properties private
* Make collectionProperties service-specific; drop unused SupportedAddressData
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-01-10 15:34:48 +01:00
Sunik Kupfer
6a08497b3a
Make room entity properties immutable ( #1218 )
...
* Make entity properties immutable where possible
* Make WebDavDocument room entity fully immutable
* Make HomeSet room entity fully immutable
* Make Collection room entity fully immutable
* Minor change
* KDoc, use transaction for combined read/write access
* Minor changes
---------
Co-authored-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2025-01-10 15:02:51 +01:00
Ricki Hirner
356183084f
Update AGP, dependencies
2025-01-10 14:11:08 +01:00
Ricki Hirner
5ea7273c94
Update dependencies
2025-01-09 15:29:49 +01:00
Sunik Kupfer
843013a0f0
Use StringDef to annotate possible service and collection types ( #1227 )
...
* Add StringDef annotation to collection type param
* Add StringDef annotation to service type param
2025-01-09 12:08:11 +01:00
Ricki Hirner
ac8de37b6f
Remove test account type ( #1224 )
...
* [WIP] Remove "test account" account type
* Fix tests
2025-01-08 16:49:12 +01:00
Sunik Kupfer
62dc374774
Drop address books authority ( #1217 )
...
* Remove obsolete method
* Remove address_books_authority
* Don't use contacts authority needlessly
2025-01-07 12:39:16 +01:00
Ricki Hirner
1f83e1bf12
Version bump to 4.4.6-beta.1
2025-01-03 14:13:56 +01:00
Arnau Mora
4c9b67a9e5
Rename account with jtx collection: IllegalArgumentException ( #1198 )
...
* Moved account renaming to `LocalTaskListStore` and trying to fix issue
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed missing import
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Improved renaming algorithm
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added `asSyncAdapter`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Split account renaming responsibility
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Split account renaming responsibility
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Got rid of unused `SettingsManager`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Simplified updateAccount on LocalDataStore
* Added explanatory comment
* Changed provider acquiring to the store one
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* LocalTaskListStore takes provider name instead of authority
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Got rid of throws
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Simplified expressions
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added renaming of calendar accounts
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed imports
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Moved calls to try-catch
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Typo
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Ignore exceptions of every store.updateAccount()
---------
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 >
2025-01-03 10:09:27 +01:00
Ricki Hirner
4cbe03b351
Hide sync entries in system accounts ( #1214 )
...
Hide sync entries in system settings; don't allow to manage accounts over system accounts anymore
2025-01-01 19:02:30 +01:00
Ricki Hirner
365f87991a
DB: move migrations to separate files and use DI ( #1206 )
...
* DB: move migrations to separate files
* Use Hilt for AutoMigrationSpecs
* Tests in separate package
* Use Hilt for explicit Migrations
2024-12-31 16:24:50 +01:00
Ricki Hirner
77a795dfe5
Use bundleOf and contentValuesOf, if applicable ( #1204 )
...
Use bundleOf and contentValuesOf if applicable
2024-12-30 11:33:25 +01:00
Arnau Mora
794007fa38
[Push] Upon notification, only enqueue sync for the respective service type ( #1175 )
...
* Added enqueuing of the correct authority
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Using new `SyncDataType`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Refactoring
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added VEVENT check
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Style updates
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-12-29 12:31:17 +01:00
Arnau Mora
1e17e1883b
Trimmed URLs for URI generation ( #1202 )
...
Trimming URLs for uri generation
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-12-28 14:14:09 +01:00
Ricki Hirner
48ecb5e008
Bump version to 4.4.6-alpha.1
2024-12-26 18:38:32 +01:00
Ricki Hirner
f503ce5ff6
Sync workers: use data type enum instead of specific authority ( #1177 )
...
* Introduce SyncDataType for Workers
* Fix tests, remove SyncWorkerManager.enqueueOneTime(authority)
* TasksAppManager.currentProviderFlow(): return Flow instead of StateFlow
* Simplify TasksAppManager and TasksAppWatcher
* [WIP] AutomaticSyncManager
* [WIP] AutomaticSyncManager
* AccountSettings: optimize imports
* SyncWorkManager: remove deprecated methods
* AutomaticSyncManager: disable unused authorities in sync framework
* Add migration draft
* AccountSettings: minor changes
* Migration, BaseSyncWorker: use sync data type
* Tests, set default sync interval when tasks app is installed, notify on missing tasks app permission during sync
* Remove deprecated AccountSettings methods
* AccountSettings: actually increase version number
* Use automaticSyncManager.updateAutomaticSync where applicable; better handle manual sync interval
* KDoc
* Remove deprecated SyncWorkerManager.syncAuthorities; fix cancelAllWork
* AccountSettings: minor changes
* TasksAppManager: show notification on missing permissions; always update automatic syncs
* AutomaticSyncWorker: only provide updateAutomaticSync() as public method
* AccountSettings: simplify setSyncInterval
* AutomaticSyncManager: disable automatic task sync when no tasks provider is available
2024-12-26 18:34:09 +01:00
Ricki Hirner
98578feeb2
TestUtils: add common method to initialize WorkManager for instrumentation tests
2024-12-25 20:05:37 +01:00
Ricki Hirner
0762cc6c27
AccountSettings: allow to create new instances during migrations (#1195 )
...
AccountSettings: allow to create new instances during migrations
2024-12-25 19:50:40 +01:00
Ricki Hirner
b267291e93
TasksAppManager: use Flow instead of StateFlow
2024-12-25 12:42:59 +01:00
Ricki Hirner
eb8db47cea
Simplify TasksAppManager and TasksAppWatcher ( #1193 )
...
* Simplify TasksAppManager and TasksAppWatcher
* AutomaticSyncManager: renable setSyncInterval to enable
* TasksAppWatcher: actually select provider
2024-12-24 13:32:30 +01:00
Ricki Hirner
7384feeafb
Update dependencies
2024-12-24 10:01:11 +01:00
Ricki Hirner
d10add8367
Fetch translations from Transifex
2024-12-23 14:14:05 +01:00
Ricki Hirner
51bd163069
Version bump to 4.4.5
2024-12-23 14:12:01 +01:00
Ricki Hirner
90280066ee
Version bump to 4.4.5-beta.2
2024-12-21 12:55:20 +01:00
Ricki Hirner
03a52e96ad
Address book accounts: bind to accounts (again) ( #1184 )
...
* [WIP] Scope address book acounts to accounts again
* [WIP] Tests
* Fix LocalAddressBookStoreTest
* Adapt AccountsCleanupWorker
* Migration to assign accounts to address books (again)
* Change account in address books on account rename
2024-12-21 12:53:53 +01:00
Ricki Hirner
5890b3cc5e
AccountSettings: one class per migration, tests (#1181 )
...
* [WIP] new AccountSettingsMigrations + tests for v17
* [WIP] Tests
* Finish tests for v17
* Move migrations to separate classes
* Improve test
* KDoc
2024-12-20 11:45:13 +01:00
Ricki Hirner
a02bc56b44
Fetch translations from Transifex
2024-12-17 10:37:17 +01:00
Ricki Hirner
4939c9fc4d
Version bump to 4.4.5
2024-12-17 10:19:21 +01:00
Ricki Hirner
c2524b085e
LocalAddressBookStore: return all address books, including orphaned ones ( #1168 )
...
* LocalAddressBookStore: return all address books, including orphaned ones
* Add test
* Update tests
2024-12-17 10:18:46 +01:00
Arnau Mora
d892dd2b9c
Fixed padding problems with Edge-To-Edge ( #1171 )
...
* Added navigation bars paddign
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Only consuming top padding
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-12-15 20:01:31 +01:00
Ricki Hirner
95ebce5722
Update Compose
2024-12-12 17:11:22 +01:00
Arnau Mora
4b2f032a57
[Push] Update specification compliance ( #1151 )
...
* Update dav4jvm, agp, kotlin and ksp
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Updated topic extraction
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Updated push-message definition
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Newer dav4jvm
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-12-12 17:08:29 +01:00
Ricki Hirner
bc596edfb3
Version bump to 4.4.5-alpha.1
2024-12-07 13:55:02 +01:00
Ricki Hirner
e18534ab9f
Use AutomaticSyncManager to manage periodic workers and sync framework ( #1157 )
...
* Introduce AutomaticSyncManager
* AccountRepository: TasksAppManager: use AutomaticSyncManager
* Fix AccountSettings.account visibility
2024-12-07 13:52:52 +01:00
Ricki Hirner
9ae03dbc6f
AccountSettings: make enable flag for sync intervals explicit ( #1156 )
2024-12-07 12:41:53 +01:00
Ricki Hirner
042dd3fba2
[DI] Replace injection of Application by Context with ApplicationContext annotation
2024-12-07 12:00:57 +01:00
Ricki Hirner
5d6959c47e
Pass sync errors back to sync framework ( bitfireAT/davx5#632 )
...
* [WIP] Adapt SyncResult
* Remove numeric stats (not well-defined and not really used)
* Pass "too many retries" or "database error" back to sync framework on hard errors
2024-12-07 11:45:04 +01:00
Arnau Mora
239038ab77
Get rid of Head response cache ( #1155 )
...
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-12-06 11:36:24 +01:00
Ricki Hirner
7097bf9523
Move BaseSyncWorker.exists to SyncWorkerManager
2024-12-05 11:24:19 +01:00
Ricki Hirner
53bc5a6641
Update dependencies, AGP, gradle
2024-12-04 11:49:36 +01:00
Arnau Mora
9e060f6651
[Push] Allow UP distributor selection ( #1146 )
...
* Added UP distributor selector
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Load distributor selection from UnifiedPush
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Moved logic to model
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added UP distributor selector
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Load distributor selection from UnifiedPush
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Moved logic to model
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Updated usages
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Got rid of stateIn
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Code cleanup and auto-selection
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Cleanup
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Code cleanup
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added push distributor disabling
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added push distributor selection dialog preview
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Update strings
* Minor changes
* Got rid of push endpoint
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Got rid of automatic push distributor selection
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Typo
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Moved init to the bottom
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* MutableStateFlow: use setValue instead of emit
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-12-04 11:38:49 +01:00
Ricki Hirner
cc8fc4734f
Move SyncUtils to SyncWorkerManager
2024-12-02 21:57:20 +01:00
Ricki Hirner
0733fef213
AppSettingsModel: clearly identify task app-related entries
2024-11-30 11:34:40 +01:00
Ricki Hirner
f977cc01eb
Update dependencies (including ical4android)
2024-11-30 11:20:56 +01:00
Arnau Mora
30dc2cb221
Use specific help URL from current login type (originally in bitfireAT/davx5#611 )
...
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-11-29 16:48:26 +01:00
Ricki Hirner
fc6b605693
Remove unused drawables
2024-11-29 16:23:56 +01:00
Sunik Kupfer
4f1176fd99
Don't show app intro again after recomposition ( #1142 )
...
* Remember whether we showed the app intro already
* Add comment
2024-11-27 22:53:54 +01:00
Sunik Kupfer
4ff7ff8746
Extract sync framework interaction to separate class ( #1137 )
...
* Add SyncFrameworkIntegration class
* Use SyncFrameworkIntegration class
* Update kdoc
* Fix test
* Fix isSyncable check
* Update kdoc
* Remove singleton requirement
* Extract anonymous method setting the content trigger
2024-11-25 15:33:25 +01:00
Ricki Hirner
2f26c6c365
Fetch translations from Transifex
2024-11-24 14:53:37 +01:00
Ricki Hirner
d8bff41bc4
Version bump to 4.4.4
2024-11-24 14:51:32 +01:00
Ricki Hirner
878e2bb3ad
Fetch translations from Trasifex
2024-11-22 17:16:19 +01:00
Ricki Hirner
dc1c72cdd3
Version bump to 4.4.4-rc.1
2024-11-22 17:14:36 +01:00
Arnau Mora
1dc7f3de64
Use timezone ID instead of full VTIMEZONE in DB ( #1104 )
...
* Migrated to using timezone id directly
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* added tests for collection timezone
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed calendar definition
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added missing line break
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Unnecessary forced null
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added ksp.incremental
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Version is now 16
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Comments cleanup
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added automatic migrations tests
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Renamed block to assertionsBlock
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added comment
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Got rid of extra comments
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Got rid of PR url
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added column drop with try-catch
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added `SdkSuppress`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added version check for column drop
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Included SDK 34
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Commit recover
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* DB tests: inject Context
* DB migration tests: validate in target schema version; manual migration definitions: use new Kotlin syntax
* Use auto-migration instead of manual migration.
- No manual DROP COLUMN required.
- Added support for migration of unparseable VTIMEZONE.
* Update ical4android
* Service detection: ask for calendar default timezone (+ ID)
* Remove dropColumn because we don't need it for the current migration.
Leave the v4 -> v5 migration as it is.
* KDoc
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-11-22 17:13:57 +01:00
Ricki Hirner
d20c613044
Update dependencies, including ical4android ( closes bitfireAT/davx5#625 )
2024-11-22 16:56:13 +01:00
Ricki Hirner
fe8eabce1b
Show sync error notification even with big local resource ( #1139 )
...
Sync error notification: truncate local info
2024-11-22 00:46:48 +01:00
Ricki Hirner
b5790bfd09
Update dependencies and gradle wrapper
2024-11-20 16:11:40 +01:00
Arnau Mora
9e7de1c8ca
Enforced edge-to-edge ( #1078 )
...
* Enforced edge-to-edge
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed bottom padding
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Recovered ime padding
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Updated theme colors for intro
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Always using light primary color in intro
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Simplified settings
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added disabling of top padding
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Improved syntax
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed padding
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Add comments
* Use default fallback colors for status/system bar instead of transparent
- With transparent, system bar buttons are white on very-light-grey
* Use safeContentPadding for intro
* Use scrim color from theme
* IntroPage: correctly consume insets; Assistant: KDoc/example
* Branding box extends to upper edge
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Set correct navigation bar color, if applicable
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Let content shine through navigation bar / especially for lists like settings
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Brand background is no longer padded
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Window insets are now consumed by AppTheme
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed padding
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Do not consume insets
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Move content
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Enabled E2E in intro
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-11-20 13:05:09 +01:00
Ricki Hirner
15d2072f16
Version bump to 4.4.4-alpha.1
2024-11-19 19:55:41 +01:00
Ricki Hirner
0f4e48ad4d
Move local collection management from companion objects to LocalDataStore ( #1125 )
...
* [WIP] Move local collection management from companion objects to LocalDataStore
* Move Syncer.getLocalCollections to LocalDataStore.getAll()
- note that things like the "sync_enabled" Android calendar flag are not supported and always set to true
* Minor changes
* Implement LocalJtxCollectionStore
* Implement LocalTaskListStore
* Fix tests
* Drop initialUserData
* Address book read-only applies to entries of address book itself, so moving to LocalAddressBook
* KDoc, shouldBeReadOnly
* Test accountName
* Remove obsolete address book factory
* Test create address book
* Test createAccount
---------
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at >
2024-11-18 12:46:14 +01:00
Ricki Hirner
41075e442c
Push: fix expiration XML element in push-register message
2024-11-17 14:47:41 +01:00
Ricki Hirner
3a16b5ca3f
[Push] Handle subscription expiration ( #1131 )
...
* Store subscription expiration in DB
* Regularly run PushRegistrationWorker, if needed
* Skip re-registering subscriptions that are not about to expire
* Add back-off for PushRegistrationWorkerManager
* Request expiration in 3 days
* Show expiration in UI, timestamps in seconds
* Fix tests
2024-11-17 14:39:22 +01:00
Sunik Kupfer
32925dc18b
Set or update read-only flag when address books are renamed ( #1124 )
...
* Always evaluate read only
* Extract read only evaluation to companion method
* Extract read only evaluation to companion method
* Add test
* Always pass forceReadOnly flag
* Minor KDoc changes
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-11-07 11:45:27 +01:00
Sunik Kupfer
cf15dd3e0e
Set contacts provider settings when address books are renamed or update ( #1123 )
...
Set contacts provider settings when address books are renamed and updated
2024-11-06 22:10:44 +01:00
Ricki Hirner
3317a8d355
Move dirty verifier logic to ContactDirtyVerifier ( #1122 )
...
* Move dirty verifier logic to ContactDirtyVerifier
* KDoc
* KDoc, fix contactDataHashCode
* Fix tests
* Add KDoc
2024-11-06 12:05:09 +01:00
Ricki Hirner
154d1e6bc8
AccountSettingsMigrations: fix comment, require tests (#1116 )
...
AccountSettingsMigration: fix comment, require tests
2024-11-01 15:59:14 +01:00
Ricki Hirner
1a19d5cd17
Update AGP
2024-11-01 11:38:58 +01:00
Ricki Hirner
b721e83377
Update dependencies
2024-10-31 09:55:19 +01:00
Ricki Hirner
f69533b049
Remove obsolete permissions for SDK level 22 (min SDK = 24)
2024-10-28 11:51:59 +01:00
Sunik Kupfer
d00353ba9c
Replace android sync framework result class with our own ( #1094 )
...
* Use our own SyncResult data class
* Minor comment changes
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-10-25 14:13:43 +02:00
Ricki Hirner
dc0d4f371a
More compatible processing of multiget responses ( #1099 )
...
* Ignore multi-get responses without calendar/contact data
* Add comment
2024-10-25 12:44:54 +02:00
Arnau Mora
3d198f5454
LocalAddressBook: rename account to addressbookAccount (#1095 )
...
* Upgraded vcard4android
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Replaced all usages of addressBookAccount
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Minor changes
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-10-22 14:07:53 +02:00
Ricki Hirner
1802740a2d
Version bump to 4.4.3.2
2024-10-20 16:32:12 +02:00
Ricki Hirner
138e517d23
LocalAddressBook: move contacts when renaming the address book account (#1084 )
...
* LocalAddressBook: move contacts when renaming the address book account
* Don't make contacts dirty when moving
* Move isDirty to tests because it's only required for tests
* We don't have to set the user-data twice
* Add test for groups
2024-10-20 16:31:31 +02:00
Ricki Hirner
166b2ac220
Bump version to 4.4.3.1
2024-10-18 16:53:28 +02:00
Ricki Hirner
450a418994
Don't crash when logging null parameter ( #1081 )
2024-10-18 16:51:26 +02:00
Ricki Hirner
d4e9e2a8f7
Reduce warnings, lint
2024-10-17 16:40:09 +02:00
Ricki Hirner
ecc59dda99
Update dependencies
2024-10-17 16:32:35 +02:00
Ricki Hirner
9c2afbab09
Fetch translations from Transifex
2024-10-17 16:14:04 +02:00
Ricki Hirner
cebf2d9dfd
Version bump to 4.4.3
2024-10-17 16:10:18 +02:00
Sunik Kupfer
5f49c675c8
Try to adhere to google play guidelines for background location permission ( bitfireAT/davx5#614 )
...
* Always show "WiFi SSID card" in account settings when SSID restriction is active and adapt content according to whether all conditions are met or not
* Move explanation to top and add paragraph
* Remove unnecessary parenthesis
* Use two text composables and no spacer
* Fix preview
2024-10-16 11:11:44 +02:00
Ricki Hirner
62c46e123d
Avoid very long log lines and resulting OOM ( #1073 )
...
* PlainTextFormatter: truncate log lines to ~10000 characters
* Update vcard4android which doesn't dump Contact photos anymore
* Add truncation test
2024-10-15 15:22:03 +02:00
Ricki Hirner
5f1215801d
Update dependencies
2024-10-15 12:32:45 +02:00
Ricki Hirner
930977c44b
Make collections in CollectionsList clickable again ( #1075 )
...
CollectionsList: use modifier again
2024-10-15 11:40:09 +02:00
Arnau Mora
a0d152a66f
Fixed surface container color in dark theme ( #1069 )
...
* Fixed surface color in dark theme
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Account screen: higher contrast for collection cards
* Account screen: use normal instead of elevated cards
* Adapt colors of card lists
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-10-14 15:03:08 +02:00
Ricki Hirner
a8883427bc
Fetch translations from Transifex
2024-10-10 18:25:36 +02:00
Ricki Hirner
7a8dbef80b
Version bump to 4.4.3-rc.1
2024-10-10 18:23:05 +02:00
Ricki Hirner
4a40bb3d6f
Syncer: make sure collections which are deleted are not synced ( #1065 )
...
* Syncer: make sure collections which are deleted are not synced
* Syncer: log when local collection is removed
* Update KDoc and tests
* Handle all CRUD work in updateCollections
* Update naming, KDoc, tests
* Minor changes (KDoc, naming)
2024-10-10 18:08:13 +02:00
Arnau Mora
c805e549ff
[Push] Show notification on push notification (until sync is started) ( #1043 )
...
* Added sync pending notification
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Moved notify function to PushNotificationManager
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added ongoing and only-alert-once
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added notification hiding
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Got rid of `cancel`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed comments
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added content intent and sub text
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Updated usages
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Review changes
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-10-10 15:50:53 +02:00
Sunik Kupfer
26a670c181
Fix old address book accounts not being deleted ( #1039 )
...
* Log warning instead of throwing exception when not possible to find account for address book account
* Run sync and accounts cleanup in migration
* Rename accounts in migration
* Run account settings migrations on background thread
* Revert "Run account settings migrations on background thread"
This reverts commit 6b578da4f1 .
* Add tests for AccountsCleanupWorker
* Move companion object to end of class
* Don't use AccountRepository for address book accounts
* Update account user data in LocalAddressBook
* Minor changes (naming etc)
* Add log line when migrating
* Try to fix test error
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-10-09 13:28:54 +02:00
Arnau Mora
5b54c9dff0
MKCALENDAR: send VTIMEZONE in calendar-timezone ( #1044 )
...
* Upgrade dav4jvm
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* separate CalendarTimezone and CalendarTimezoneId
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed timezone name setting
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed `VTIMEZONE` conversion
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Using text instead of CDATA
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed spec
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added comment
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Renamed `timezoneDef` to `timezoneId`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Upgrade dav4jvm
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* separate CalendarTimezone and CalendarTimezoneId
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed timezone name setting
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed `VTIMEZONE` conversion
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Using text instead of CDATA
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed spec
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added comment
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Renamed `timezoneDef` to `timezoneId`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* [CI] Update workflows to Java 21
* Set default value of the timezone state to null
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-10-09 00:12:34 +02:00
Ricki Hirner
1ca73b67a4
Add KDoc, rename AccountUtils to SystemAccountUtils ( #1059 )
2024-10-07 18:52:18 +02:00
Ricki Hirner
194c587476
Update Compose, Kotlin, gradle
2024-10-07 12:38:18 +02:00
Sunik Kupfer
1193027e5f
Add account name to address book account name ( #1050 )
...
* Add account name to address book account name
* Add parenthesis for account name and a hashtag for the collection id
* Use the correct id
* Move DI entry point to where it is used
2024-10-07 12:26:53 +02:00
Ricki Hirner
7de7980860
Use SafeAndroidUriHandler to prevent crashes when no browser is installed ( #1058 )
...
* Use SafeAndroidUriHandler in AppTheme
* UiUtils: use DI for Logger
* SyncWorkerManager: use DI for Logger
2024-10-07 10:44:36 +02:00
Ricki Hirner
fc7f42c6fa
Sync worker management: move logic out of companion object ( #1056 )
...
* Sync worker management: move logic from companion object to new class
* Fix tests
* Move re-sync inputs from [OneTimeSyncWorker] to [BaseSyncWorker] as they're processed there
* Remove useless Companion
2024-10-07 09:34:02 +02:00
Sunik Kupfer
196bfb3aea
Don't use AccountSettings on main thread ( #1049 )
...
* Document that AccountSettings shouldn't be used in the main thread
* Throw exception when AccountSettings are used on the main thread
* Don't access AccountSettings on main thread
* Don't access AccountSettings on main thread
* Don't access AccountSettings on main thread
2024-10-03 15:36:42 +02:00
Sunik Kupfer
cb5798833d
Ignore lint AppLinkUrlError ( #1053 )
2024-10-03 15:33:39 +02:00
Ricki Hirner
a1148613e9
[CI] Update workflows to Java 21
2024-10-02 13:08:11 +02:00
Ricki Hirner
12529fa9bd
Update toolchain and AGP
2024-10-02 12:54:50 +02:00
Ricki Hirner
d743d19a3d
AccountsScreen: better preview
2024-09-19 15:42:45 +02:00
Ricki Hirner
4dcee27e22
Version bump to 4.4.3-beta.1
2024-09-19 15:17:20 +02:00
Sunik Kupfer
b6ceaa7efc
Remove concept of main accounts ( #989 )
...
* Acquire account settings via address book account
* Extract the code to find an address books main account to the account repository
* Use collection id as reference in address book account
* Remove obsolete baos
* Find main account directly from collection in SyncManager
* Require main account to get account settings
* Stop deleting address book accounts without a main account, since they may exist on their own now
* Require content provider and introduce static deleteByCollection method
* Update KDoc
* Show all address book accounts separately
* Drop mainAccount method
* [DI] Use AssistedInject for LocalAddressBook
* Renaming, remove "main account" concept
* Fix debug info
* AccountsCleanupWorker: Rename main account to account
* Further remove main accounts
* Reduce redundancy
* AccountSettings: check account type
* AccountSettingsMigrations: drop v5 -> v6 migration (not tested anyway)
* AccountRepository: directly delete accounts
* Remove obsolete workerAccount
* Get all address books, even if not sync enabled
* Delete orphan address book accounts
* Rename two more occurrences of main account concept
* AccountSettings: allow test accounts
* Syncer: rename methods for clarity, add KDoc
* Drop empty test class
* Make code more readable and add comment
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-09-19 15:06:45 +02:00
Ricki Hirner
5c6f712d32
Update AGP and dependencies
2024-09-19 14:02:34 +02:00
Arnau Mora
5180b99af2
Moved pull-to-refresh indicator below tabs ( #1028 )
...
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-09-16 15:48:48 +02:00
Arnau Mora
dcb7e315b9
ClickableText for URLs has been deprecated (#1024 )
...
* Got rid of `UrlAnnotation`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Deprecated and suggested a ReplaceWith
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Optimized imports
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Replaced usages of `ClickableTextWithLink`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Removed `ClickableTextWithLink`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Migrated `ClickableTextWithLink`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Remove experimental text api annotations
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at >
2024-09-16 15:02:17 +02:00
Arnau Mora
111481cd00
Added isLoading to Assistant ( #1027 )
...
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-09-16 14:35:36 +02:00
Ricki Hirner
4dc7df7c53
Reword login text ( #1026 )
...
- Change empty accounts text
- Add privacy note to Login screen
- Changed last button text
2024-09-16 14:34:08 +02:00
Arnau Mora
cf609288e1
Update Dependencies ( #1017 )
...
* Upgrade dependencies
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Upgrade dependencies
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Migrated pull to refresh
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Migrated `LocalMinimumInteractiveComponentEnforcement`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Removed disabling of linting
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Optimize imports
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Increased indicator show time
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-09-14 13:22:43 +02:00
Ricki Hirner
0b9d4cd3b3
Unsubscribe push from unsynced collections ( #1011 )
...
* Unsubscribe push from unsynced collections
* Remove subscription from DB, too
* Subscription: catch HTTP errors
2024-09-10 12:07:04 +02:00
Arnau Mora
0581417bba
Increase SDK level to 35 ( #1003 )
...
* Increase SDK level
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed nullability issues
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Increase SDK level
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed nullability issues
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Replaced `removeFirst()` by `removeAt(0)`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Switched to null check instead of NPE catch
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Using orEmpty
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-09-10 11:18:40 +02:00
Ricki Hirner
f8fb016a27
[CI] Better test names
2024-09-06 11:29:15 +02:00
Ricki Hirner
8c3d1cdeae
InitCalendarProviderRule: make multiple attempts to create a calendar ( #1007 )
2024-09-06 11:18:08 +02:00
Arnau Mora
4a4dc24cdf
dark theme / black text basically unreadable on dark background ( #986 )
...
* Provided content color
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Adjusted bar color
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Got rid of theme changes
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added wrapping scaffold
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Changed colors
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-09-06 10:07:30 +02:00
Arnau Mora
49a51ef384
Reproducible Builds (for IzzyOnDroid) ( #995 )
...
* Added `BUILD_DATE` environment variable
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Excluded `generated`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Removed argument
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Using build time from git
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Removed unused import
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Got rid of build date
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Got rid of build date
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2024-09-06 09:48:29 +02:00
Arnau Mora
fc698040aa
lint fails in AboutActivity ( #1001 )
...
* Disabled `CoroutineCreationDuringComposition` in lint
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Moved disable
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-09-04 17:46:44 +02:00
Ricki Hirner
6cbd71ab50
Update dependencies (including AGP)
2024-09-04 11:03:29 +02:00
Ricki Hirner
47f078dcd7
Version bump to 4.4.3-alpha.1
2024-08-21 12:23:54 +02:00
Ricki Hirner
be6ab8728c
Update dependencies and Gradle
2024-08-21 12:18:51 +02:00
Ricki Hirner
2908bba298
[CI] Compile job: only compile sources, not tests
2024-08-21 12:01:22 +02:00
Sunik Kupfer
b962b68631
Use standard content provider instead of TaskProvider in TaskSyncer ( #982 )
...
* Update ical4android
* Use standard content provider in TaskSyncer
* Check version instead of acquiring TaskProvider
* Add sync result error
---------
Co-authored-by: Arnau Mora <arnyminerz@proton.me >
2024-08-20 10:47:50 +02:00
Sunik Kupfer
fca7c09105
Tests for sync algorithm ( #974 )
...
* Prepare Syncer for tests
* Test sync honors preparation result
* Refactor sync algorithm into smaller testable methods
* Write weak tests for the individual methods
* Update KDoc
* Minor changes
- update comments
- update test method spacing
- replace empty array method
---------
Co-authored-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-08-19 13:42:22 +02:00
Sunik Kupfer
60c6aba2d2
Log stop reason when sync worker is cancelled ( #984 )
2024-08-17 16:06:21 +02:00
Ricki Hirner
70f6f2603e
SyncAdapterServices: Use a coroutine scope to cancel waiting on framework request ( #977 )
...
* SyncAdapterServices: Use a coroutine scope to cancel waiting on framework request
* Added tests
2024-08-14 14:00:54 +02:00
Ricki Hirner
5d4c9c8d94
Don't overwrite calendar/task list color with default color ( #971 )
...
Calendars, task lists: always set color at creation, then overwrite only when available from server
2024-08-14 10:13:08 +02:00
Ricki Hirner
4378bee042
[CI] Skip compile job when not on main branch ( #978 )
2024-08-13 13:19:17 +02:00
Ricki Hirner
3776b50bbc
Update dependencies, Kotlin, AGP
2024-08-12 14:19:00 +02:00
Sunik Kupfer
a9c7e1929f
Fix sync not running directly after enabling a collection ( #966 )
...
Retrieve local sync collections only once and return them on creation
2024-08-12 11:55:35 +02:00
Ricki Hirner
318b9be77e
AccountRepository: don't add onAccountsUpdated listener on main thread
2024-08-08 11:30:56 +02:00
Ricki Hirner
26cb845950
Reduce StrictMode annoyance
2024-08-08 10:40:25 +02:00
Sunik Kupfer
eae6d0c578
Fix coincidence naming of LocalCollection members ( #957 )
...
* Fix overlapping method name and use interface everywhere
* Fix overlapping property name
* Update logger usage
---------
Co-authored-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-08-08 10:18:21 +02:00
Ricki Hirner
6df0925e50
Version bump to 4.4.2
2024-08-06 13:31:14 +02:00
Ricki Hirner
f7ee1ea931
[UI] Show push support status in collection details ( #961 )
...
* Collection details: show WebPush support
* Collection view: show Push subscription time
2024-08-06 13:29:31 +02:00
Ricki Hirner
16731d3a5a
Suppress dnsjava warning because of missing Context ( #959 )
2024-08-06 12:39:57 +02:00
Ricki Hirner
54e09acca3
Don't generate/let Gradle user cache grow in main branch
2024-08-06 11:26:46 +02:00
Ricki Hirner
46698a76b5
Fetch translations from Transifex
2024-08-05 17:41:06 +02:00
Ricki Hirner
e26a8519ff
Version bump to 4.4.2-rc.1
2024-08-05 17:40:06 +02:00
Arnau Mora
410c70a47d
Passing collection directly ( #927 )
...
* Passing `collection` directly
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed imports
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fix tests
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Log sync time using repository; no need for account/service check anymore
* SyncManagerTest: don't write SyncStats to DB
---------
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-08-05 17:24:46 +02:00
Sunik Kupfer
bf1bdfc8ab
Generalize syncer ( #907 )
...
* Use address book contacts content provider provided by syncer
* Close any acquired content provider after sync
* Acquire/Check task provider provider as preparation step
* Provide sync arguments at syncer creation
* Acquire ContentProviderClient in syncer implementations
* Generalize sync algorithm in Syncer
* Use contacts authority for address books
* Generalize sync algorithm in CalendarSyncer
* Generalize sync algorithm in SyncerTest
* Generalize sync algorithm in TaskSyncer
* Rename preparation method and add an after sync method
* Generalize sync algorithm in JtxSyncer
* Generalize sync algorithm in AddressBookSyncer
* Use repositories instead of DAOs
* Replace deprecated log statements
* Use generic type for collection types
* Infer authorities when possible and pass only task authorities along
* No need to close TaskProvider explicitly
* Use colors only where needed
* Use provider with auto closable
* Get sync collections in syncer implementations
* Delete syncer test
* Pass provider through methods instead of using lateinit property
* Reorder constructor arguments
* Remove trailing commas
* Remove obsolete undocumented conditional
* Reorder methods
* Reorder methods
* Abort sync when preparations fail
* Drop obsolete permission check
* Use generics for url and delete
* Use generic for update
* Use generic for syncCollection
* Rename create to createCollection for consistency
* Revert "Rename create to createCollection for consistency"
This reverts commit 0fee4fe7fcf3ec8ef965c9a2e0db991a1bbbbcf7.
* Revert "Use generic for syncCollection"
This reverts commit ae129fd17e06146a1e9f8631e3cdbd2dc0a4db06.
* Revert "Use generic for update"
This reverts commit 42dd665851ba83a75bb498b98bd56624e2b09647.
* Revert "Use generics for url and delete"
This reverts commit 7ae1425039656d4a9937628ca1799ce8c59ceebb.
* Move delete() to LocalCollection
* Move url to LocalCollection
* Fix local test collection
* Minor changes
* Minor changes
- make sync private
- use to autoclose provider
* Query for sync collections once only
* Add KDoc and update comments
* Make property a local variable
* Update KDoc
* Add back ose conditional
* Remove blank line at beginning of method
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-08-05 17:22:07 +02:00
Arnau Mora
5cbbfb39aa
Update dav4jvm for better logging ( #956 )
...
* Upgrade dav4jvm
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Using `XmlReader`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-08-05 16:42:24 +02:00
Ricki Hirner
62d5a21d05
Update ical4android, specify ical4j log level ( #946 )
...
* Update ical4android, specify ical4j log level (was previously in ical4android)
* Add "dependencies" label for auto-generated release notes
2024-07-28 16:54:01 +02:00
Ricki Hirner
2a7cf1ae17
Fix R8 rules
2024-07-28 14:34:55 +02:00
Ricki Hirner
1062eaa58a
Version bump to 4.4.2-beta.1
2024-07-28 13:54:03 +02:00
Ricki Hirner
69bde87589
WebDAV mounts: fix quota view ( #945 )
...
* Refresh quota for newly created mounts
* WebDAV mounts screen: take quota from root document
2024-07-28 13:53:39 +02:00
Ricki Hirner
4111fe08d2
Drop userAgent build configuration variable
2024-07-28 12:36:59 +02:00
Ricki Hirner
19fb969040
Drop userAgent build configuration variable
2024-07-28 11:20:25 +02:00
Ricki Hirner
74a22cd24d
Update dependencies
2024-07-28 11:14:53 +02:00
Ricki Hirner
4e264076d1
Amend PR template
2024-07-26 14:50:21 +02:00
Ricki Hirner
c3fe1b04e5
Backport minor changes from non-ose ( #941 )
...
Login: correctly combine input flows for account details UI state (backport bitfireAT/davx5#575 )
2024-07-26 12:04:19 +02:00
Ricki Hirner
342314363b
Simplify InitCalendarProviderRule ( #940 )
...
Simplify InitCalendarProviderRule
2024-07-25 22:56:07 +02:00
Ricki Hirner
d0358a9980
Use test account type (without sync adapters) for instrumented tests ( bitfireAT/davx5#601 )
...
* Use test account type (without sync adapters as side effects) for instrumented tests
* Provide standardized way to get test account; re-enable LocalAddressBookTest
2024-07-25 20:57:23 +02:00
Ricki Hirner
fbcf6996ad
Don't access DB in UnifiedPushReceiver main thread
2024-07-24 17:43:58 +02:00
Ricki Hirner
cf994ee82e
Move UrlUtils methods to DavUtils
2024-07-24 17:15:57 +02:00
Ricki Hirner
9880dd5158
Move TaskUtils to TasksAppManager ( closes #937 )
2024-07-24 16:39:30 +02:00
Ricki Hirner
8e7d289971
Tests: don't create account as long as Hilt is not ready ( #939 )
2024-07-24 15:13:34 +02:00
Ricki Hirner
d4c05b9282
NotificationRegistry: enforce creation of channels before they can be accessed
2024-07-24 15:13:06 +02:00
Ricki Hirner
768f462549
Use AccountRepository to get list of accounts ( #938 )
...
* Use AccountRepository to get list of accounts
* No AndroidEntryPoint in (Glance) widget
2024-07-24 14:50:48 +02:00
Ricki Hirner
cbd9a55c15
Replace some non-injected loggers
2024-07-24 09:53:31 +02:00
dependabot[bot]
4e496265e4
Bump dnsjava:dnsjava from 3.5.3 to 3.6.0 ( #933 )
...
Bumps [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava ) from 3.5.3 to 3.6.0.
- [Release notes](https://github.com/dnsjava/dnsjava/releases )
- [Changelog](https://github.com/dnsjava/dnsjava/blob/master/Changelog )
- [Commits](https://github.com/dnsjava/dnsjava/compare/v3.5.3...v3.6.0 )
---
updated-dependencies:
- dependency-name: dnsjava:dnsjava
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-23 22:08:16 +02:00
Arnau Mora
73d0b63705
Debug info: Sync interval "0 min" when actually -1 (manual) ( #928 )
...
Added check for only manual sync
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-07-23 19:08:06 +02:00
Ricki Hirner
a361888d94
Version bump to 4.4.2-alpha.2
2024-07-23 01:11:39 +02:00
Ricki Hirner
907b38fd6a
Better verbose log formatting
2024-07-22 00:18:52 +02:00
Ricki Hirner
bf0e169cf1
Remove obsolete Logger object ( #930 )
2024-07-21 23:32:45 +02:00
Ricki Hirner
fd2b3f0018
Refactor SettingsManager/SettingsProvider to use DI properly ( bitfireAT/davx5#599 )
...
* Refactor SettingsManager/SettingsProvider to use DI
* Fix tests
* Remove BaseDefaultsProvider
* Fix gplay tests
2024-07-20 21:47:15 +02:00
Ricki Hirner
6217582677
Debug builds: add StrictMode for ThreadPolicy, don't setup crash handler
2024-07-20 18:51:57 +02:00
Ricki Hirner
d03dc1f37d
Remove unnecessary SyncComponent
2024-07-20 18:40:42 +02:00
Ricki Hirner
d33e4dcb23
Update dependencies
2024-07-20 18:35:31 +02:00
Ricki Hirner
f4c02d4ab6
[DI] Use @Inject lateinit var for abstract classes ( #929 )
...
* Use @Inject lateinit var for abstract classes (subclasses have @Inject constructor)
* Fix tests
2024-07-20 18:19:04 +02:00
Arnau Mora
fafa358dd8
DB: some missing indices ( #890 )
...
* Added index for `ownerId`
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Increased version number
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Increased version number
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added version
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added pushTopic as index
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Moved index
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Changed uniqueness
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Changed indexing method
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Moved `parentId` to independent index
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-07-20 17:35:39 +02:00
Ricki Hirner
d5d6592ae2
SyncWorker: use Provider for lazy injection ( #925 )
...
* SyncWorker: use Provider for lazy injection
* Use Provider to lazyily inject SyncAdapter
2024-07-19 18:09:20 +02:00
Ricki Hirner
ac48e65b1a
Remove deprecated code / annotate as deprecated
2024-07-19 17:41:47 +02:00
Ricki Hirner
26f95db62a
Re-factor Notifications and various Utils to DI ( #924 )
...
* [WIP] Use NotificationRegistry to post notifications
* Replace NotificationUtils by NotificationRegistry
* Re-factor SyncConditions; move tests to default location
* Describe notification channels
2024-07-19 17:10:29 +02:00
Ricki Hirner
5c4d697767
WebDAV cache: re-factor using Guava and Hilt ( #921 )
...
* Use per-resource Guava cache with weak keys and values as WebDAV page cache
* Replace ExtendedLruCache by Guava cache
* Use injected logger in DavDocumentsProvider
* Use DI for RandomAccessCallback, move Wrapper to outer class
* Fix tests
* Use Hilt for more classes
* Use Guava LoadingCache as page cache
* Fix tests
* Minor code change
2024-07-19 11:59:10 +02:00
Ricki Hirner
59a57fc40a
Update dnsjava, use desugaring with nio, refactor DNS resolving ( #917 )
...
* Update dnsjava, use desugaring with nio, refactor DNS resolving
* KDoc
* Rewrite bestSRVRecord test
* Add pathsFromTXTRecords tests
* Add desugaring note
* Rename @AssistedFactory method to "create"
* testBestSRVRecord_MultipleRecords_Priority_Same: broaden range for distribution
2024-07-18 11:09:00 +02:00
Ricki Hirner
50c13e5b6d
Install uncaught exception handler in a separate startup plugin ( bitfireAT/davx5#597 )
2024-07-18 10:21:31 +02:00
Ricki Hirner
3a38a06302
Version bump to 4.4.2-alpha.2
2024-07-17 12:41:50 +02:00
Ricki Hirner
c489002f5c
Create interface for startup plugins ( #915 )
...
* Create StartupPlugin interface, implement with TasksAppWatcher (don't run during tests)
* KDoc
2024-07-16 14:45:40 +02:00
Ricki Hirner
7cbc9bd4f5
Sync: take URL from DB (Collection) instead of making a detour over other places
2024-07-16 12:14:10 +02:00
Ricki Hirner
1fd65a4d42
Use DI for AccountSettings and Android tests ( #911 )
...
* Use DI for AccountSettings
* AccountSettings: clarify different account variables
* Fix tests
* Inject @ApplicationContext instead of Application
* Add Hilt rule to various tests
* Fix tests
* Consequently use injected @ApplicationContext in Android tests; fix Hilt rules
2024-07-15 19:39:21 +02:00
Sunik Kupfer
b3cc24e4be
Fix: Syncer synchronizes only once ( #910 )
...
* Use a separate HashMap to determine new remote collections
* Close provider after sync
2024-07-15 11:00:34 +02:00
Ricki Hirner
556741ae1e
Get rid of Apache Commons ( #901 )
...
* Replace StringUtils
* Replace DateFormatUtils and NumberUtils
* Fix tests
* Replace ReflectionToStringBuilder
* Rewrite MemoryCookieStore to get rid of MultiMap
* Get rid of org.apache.commons.lang3.exception.ExceptionUtils
* Replace org.apache.commons.collections4.CollectionUtils
* Replace DigestUtils
* Replace ContextedException by SyncException
* Fix HttpClientTest
* SyncManager: remove obsolete code
* Fix StringUtilsTest
* DiskCache: add hit/miss logging
* DebugInfoModel: simplify PrintWriter generation
2024-07-14 10:22:00 +02:00
Ricki Hirner
b1bcf32535
Update AGP
2024-07-13 18:44:53 +02:00
Ricki Hirner
be43d360ba
Refactor logging ( #906 )
...
* LogcatHandler: log source class as tag and not in the text, remove max length
* Separate LogManager and Logger usage
* Improve StringHandler for DavResourceFinder
* Tests, KDoc
2024-07-13 17:37:07 +02:00
Ricki Hirner
0adceb64ec
Squashed commit of the following:
...
commit 60219aafc7
Author: Ricki Hirner <hirner@bitfire.at >
Date: Thu Jul 11 23:59:54 2024 +0200
Version bump to 4.4.1.1
commit 209fdf3e7c
Author: Ricki Hirner <hirner@bitfire.at >
Date: Thu Jul 11 23:37:37 2024 +0200
AccountSettings v16: re-enqueue periodic sync workers with correct class name (bitfireAT/davx5#593 )
2024-07-12 12:30:19 +02:00
Ricki Hirner
5ebef30abb
Tasks screen: adapt padding and recommendation ( #898 )
...
Tasks screen: adapt padding and text
2024-07-11 15:47:56 +02:00
Sunik Kupfer
3d65afbf8f
Provide collection to SyncManager ( #881 )
...
* Provide collection to CalendarSyncManager
* Provide collection to ContactsSyncManager
* Provide collection to JtxSyncManager
* Provide collection to TasksSyncManager
* Provide collection to SyncManager
* Fix test
* Minor changes
* Add kdoc
* Minor changes
- added KDoc
- SyncManager can never handle address book authority (content
authority for contacts is contacts authority)
- moved @UsesThreadContextClassLoader to respective sync manager
* Mock collection in test
* Add comments separating the sync process into separate steps
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-07-11 14:09:35 +02:00
Sunik Kupfer
51f01b215c
Remove address books sync authority and content provider ( #877 )
...
* Drop address book provider
* Drop address book sync adapter service
* Replace address books authority with contacts authority
* Update kdoc
* Revert "Update kdoc"
This reverts commit dfb14d466f6c58d9422e59c770e0a5348a497b7d.
* Revert "Replace address books authority with contacts authority"
This reverts commit 0e15bf11b3235dfbc38696741100210fbe497dbd.
* Don't enable addressbook sync for main account
* Acquire content provider in Syncer
* Use contacts authority instead of address book authority when acquiring content provider
* Set default sync interval for address book authority again
* Minor re-ordering of lines
* Add comment, rename variable
* Move SyncAdapterServices out of adapter package
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-07-11 11:17:09 +02:00
Arnau Mora
c02bf942e4
Replaced "Create" by "Add" when creating accounts ( #892 )
...
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2024-07-08 11:11:21 +02:00
Ricki Hirner
d7025d4e9e
Use proper DI for Syncer implementations ( #889 )
2024-07-04 22:21:20 +02:00
Ricki Hirner
56f7b4bbc5
Replace Apache Commons by native calls/Guava ( #883 )
...
* Replace Commons IO by native calls/Guava
* Drop other Apache Commons
* Fix tests
2024-07-04 16:00:29 +02:00
Ricki Hirner
4a3ebc422f
Version bump to 4.4.1
2024-07-02 17:03:37 +02:00
Ricki Hirner
4b18302ec7
Fix JtxSyncer entry point
2024-07-02 15:25:12 +02:00
Ricki Hirner
5dd7609524
Fix tests
2024-07-02 14:06:19 +02:00
Ricki Hirner
48855c7bb8
[DI] Use constructor injection for SyncManager sub-classes ( #874 )
2024-07-02 12:59:42 +02:00
Ricki Hirner
7a8761f703
Version bump to 4.4.1-rc.1
2024-07-01 21:58:21 +02:00
Ricki Hirner
1dd91a2848
Update dependencies
2024-07-01 21:55:09 +02:00
Ricki Hirner
90f1c015d2
Fix "force read-only address books" setting in UI ( bitfireAT/davx5#587 )
...
* AccountScreen: take "force read-only address books" setting into account
* Collection screen: take "force read-only address books" setting into account
* Add KDoc
* Small naming change
2024-07-01 21:50:15 +02:00
Ricki Hirner
726e20ed52
Show CalDAV/CardDAV tab when the respective service is present ( #868 )
...
Use existence of CalDAV/CardDAV service as condition for whether to show the respective tab
2024-07-01 12:28:35 +02:00
Ricki Hirner
7f750e22cb
Split syncadapter package ( bitfireAT/davx5#586 )
...
* Split syncadapter package into:
- sync: actual collection sync code and everything else
- sync.account: related to Android accounts
- sync.framework: Android sync framework integration
- sync.groups: contact group strategies
- sync.worker: sync workers (WorkManager)
* Remove unused file, fix imports
2024-06-30 14:42:40 +02:00
Ricki Hirner
6b6573ddd2
[CI] Don't run lint/unit tests on release variant
2024-06-29 10:05:59 +02:00
Ricki Hirner
8849b363c7
Fetch translations from Transifex
2024-06-29 09:57:17 +02:00
Ricki Hirner
005d6b30c0
Version bump to 4.4.1-beta.1; update dependencies
2024-06-29 09:56:08 +02:00
Ricki Hirner
c3436fd23f
Mark UnifiedPush setting as experimental
2024-06-27 19:54:28 +02:00
Ricki Hirner
5497e343c0
Add Github dependency graph
2024-06-27 18:46:14 +02:00
Ricki Hirner
479a2c363a
Optimize build cache; use Gradle 8.8
2024-06-27 18:22:14 +02:00
Arnau Mora
18b1e5222e
Fix GMD tests ( #867 )
...
* Run CI
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Changed GPU to swiftshader
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added more options
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Cleaning managed devices
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Removed cleanup of GMD
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Cleaning cache
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Removed app clean
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Removal of cached system image
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Got rid of cached image removal
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Disabled build cache
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Disabled configuration cache
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Changed run command
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Downgrade AGP
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Restore to original
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Upgrade AGP again
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Add setupTimeoutMinutes=180 option
* Use large runner
* Update gradle, add maxConcurrentDevices=1
* Remove maxConcurrentDevices=1 again
* Use gradle 8.7 again, clean caches before
* Create "compile" task that caches dependencies etc.
* Don't use incremental build cache anymore
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-06-27 18:12:55 +02:00
Ricki Hirner
d4b4981e26
Version bump to 4.4.1-alpha.3
2024-06-25 22:22:09 +02:00
Ricki Hirner
e1f3785bc6
Add ProGuard rule to work around androidx-lifecycle 2.8.x + Compose 1.6 crash
2024-06-25 22:22:09 +02:00
Arnau Mora
e92f261faf
Replace AppIntro by Compose Pager ( #848 )
...
* Migrated into to compose
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Got rid of AppIntro
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Imports cleanup
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Imports cleanup
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Removed padding
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* When launching intro, going back closes the app
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added content description
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Moved IntroActivity.Model to IntroModel
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Given fixed padding
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Moved intro composables together
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Do not create new task
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Minor changes
* Remove last XML styles that were required for AppIntro
---------
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-06-25 15:12:25 +02:00
Ricki Hirner
ea035fa931
Version bump to 4.4.1-alpha.2
2024-06-25 14:52:51 +02:00
Ricki Hirner
8167e8e3cb
Update dependencies
2024-06-25 14:49:57 +02:00
Ricki Hirner
bcc16e1ab6
Implement basic Push functionality ( #856 )
...
* Move PushRegistrationWorker to push package
* Add UP dependency
* [WIP] UnifiedPush basic implementation
* Handle endpoint unregistration
* [WIP] Parse push notification message
* Parse push message in PushMessageParser
* Sync only affected account on push message
* Only initiate sync when push message is about a syncable collection
* Push registration worker: log when there's no configured endpoint
* Handle invalid/non-XML push messages
* app settings: show UP endpoint
2024-06-25 14:07:29 +02:00
Ricki Hirner
28948485f6
Update AGP
2024-06-16 20:05:19 +02:00
Ricki Hirner
0985a99ed3
Update dependencies, remove unnecessary dependencies
2024-06-13 22:27:14 +02:00
Arnau Mora
1d7084b555
Add Push Subscription Management ( #800 )
...
* [wip] Create worker for push registration and call it from someplace in UI
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* [wip] Subscription registration request
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Don't enqueue push registration worker from UI
* Enqueue PushRegistrationWorker on collection changes
* Fix tests
* Update dav4jvm; Use new post method
* Remove obsolete context
* Add get and deleteAll methods to serviceRepository and update usages
* requestPushRegistration: make endpoint an argument
* Update push subscription fields in DB on successful registration
* Don't create notification channels in test class
* Remove workmanager init and provide empty set of listeners in tests
* Require network connection to run PushRegistrationWorker
* Move module declaration to a separate TestModules interface
---------
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-06-13 13:12:59 +02:00
Sunik Kupfer
64563bbd3a
Observable collections repository ( #829 )
...
* Call collection updates and setters only from repository
* Make collection repository changes observable
* Add kdoc
* Add basic test
* Extract RefreshCollectionsWorker; move some HomeSetDao calls to DavHomeSetRepository
* Replace more HomeSetDao calls
* Remove duplicate copyright notice
* Drop weak reference for observers
* Rename method
* Remove test service after run
* Verify notifying works with mockk
* Rename test
* Use construction injection
* Remove unused SettingsManager
* Remove obsolete mockk rule
* Use runBlocking instead of runTest
* Change to observer linkedList to mutableSetOf, remove synchronized calls
* Change to hilt multibinding
* Remove some unnecessary lines; allow empty set by Hilt
* CollectionListRefresher: delete collections using repository
* deleteRemote: call callback too; adapt KDoc
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-06-12 12:43:56 +02:00
Ricki Hirner
0bdeffe70d
[Github] Issue template: fix label of feature request
2024-06-12 11:39:26 +02:00
Ricki Hirner
9e0772a9dd
Update AGP
2024-06-11 09:21:35 +02:00
Ricki Hirner
70e56df80c
Move repository test package
2024-06-10 13:40:33 +02:00
Ricki Hirner
b4756666b6
Extract RefreshCollectionsWorker; move some (HomeSet)Dao calls to repository ( #845 )
...
* Extract RefreshCollectionsWorker; move some HomeSetDao calls to DavHomeSetRepository
* Replace more HomeSetDao calls
* Remove unused SettingsManager
2024-06-10 12:16:33 +02:00
Ricki Hirner
74304bfe17
Version bump to 4.4.1-alpha.1
2024-06-09 23:02:23 +02:00
Ricki Hirner
25daa57a6f
Show CalDAV/CardDAV/Webcal tab when there's at least one item ( #839 )
...
Show CalDAV/CardDAV/Webcal tab when there's at least one time
2024-06-08 18:44:35 +02:00
Ricki Hirner
a3ccdc2a46
Define toolchain version; update dependencies ( #834 )
2024-06-08 18:09:45 +02:00
Arnau Mora
ffefd519b6
[Google] Allow login with custom domains again ( #833 )
...
Modified emailWithDomain in UiState
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-06-07 10:11:00 +02:00
Ricki Hirner
4823d6d671
[CI] Update gh-release action
2024-06-05 11:45:10 +02:00
Ricki Hirner
9b5d5c982b
Version bump to 4.4.0.1
2024-05-31 08:49:25 +02:00
Ricki Hirner
a03c83450d
App settings: mention that verbose logs can be viewed in debug info ( #824 )
2024-05-31 08:47:52 +02:00
Ricki Hirner
5d97161c9b
Update dependencies (including ical4android, closes bitfireAT/davx5#551 )
2024-05-31 08:11:32 +02:00
Ricki Hirner
671c17376a
PreferenceRepository.observeAsFlow: emit initial value ( #822 )
2024-05-30 10:09:34 +02:00
Ricki Hirner
1856a5d7ce
Fix R8 rules
2024-05-29 17:25:05 +02:00
Ricki Hirner
9cb78429e3
Fetch translations from Transifex
2024-05-29 17:10:32 +02:00
Ricki Hirner
2b17692fd6
Version bump to 4.4
2024-05-29 17:07:10 +02:00
Ricki Hirner
19e69f2079
Version bump to 4.4-rc.1
2024-05-28 23:39:38 +02:00
Ricki Hirner
72b90655e6
Update dark theme
2024-05-28 23:38:18 +02:00
Ricki Hirner
cdf83dad37
MKCALENDAR: wrap supported components in <CALDAV:supported-calendar-co… ( #816 )
...
* MKCALENDAR: wrap supported compoents in <CALDAV:supported-calendar-component-set>
* MKCALENDAR/MKCOL body generation: use Property.Name from dav4jvm instead of own strings
2024-05-28 21:05:09 +02:00
Ricki Hirner
e6be7a659f
Last M3 Tweaks ( #817 )
...
* [WIP] Colors
* Update navigation drawer
* Update colors
* [WIP] PermissionSwitchRow night mode
* Fix PermissionSwitchRow icon in night mode
* Use more intense colors for FABs
2024-05-28 20:58:51 +02:00
Ricki Hirner
34052368d8
Issue template: add "actual result"
2024-05-28 14:29:48 +02:00
Sunik Kupfer
08c695bf05
Fix last sync time not being set for address books ( closes #810 ) ( #812 )
...
* Use correct account name when retrieving service
* Rename method, add kdoc
* Address books: require main account and use as Account
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-05-27 17:00:32 +02:00
Arnau Mora
d7221974ed
Increased icon size and text size for accounts list ( #813 )
...
* Increased icon size and text size
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Adapt
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-05-27 16:28:34 +02:00
Arnau Mora
9a31835b1c
Fix color picker size ( #808 )
...
* Fix color picker size
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Removed missing comment & import optimization
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added border
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Color picker: use OutlinedButton
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-05-27 14:53:39 +02:00
Ricki Hirner
4a49c8d6c2
Update dependencies
2024-05-25 21:26:09 +02:00
Sunik Kupfer
c493fbd349
Orange progress indicator bar ( #803 )
...
* Create ProgressBar composable with secondary default color
* Minor change
* Add import
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-05-25 20:21:33 +02:00
Arnau Mora
71c57fc00d
Fix padding for show only personal ( #807 )
...
* Fixed padding for "Show only personal checkbox"
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Aligned text correctly
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-05-25 20:15:58 +02:00
Ricki Hirner
3044ff70aa
Increase version code
2024-05-17 18:05:42 +02:00
Ricki Hirner
76a47fd017
Update theme and style again to make it look like it used to look
2024-05-17 18:04:56 +02:00
Ricki Hirner
621a8c419b
Fetch translations from Transifex (again)
2024-05-17 15:19:18 +02:00
Ricki Hirner
c4cf0dc07b
Fix English string (remove duplicate end tag)
2024-05-17 14:59:55 +02:00
Ricki Hirner
9216605106
Version bump to 4.4-beta.1
2024-05-17 14:18:48 +02:00
Ricki Hirner
d802d67e22
Fetch translations from Transifex
2024-05-17 14:18:28 +02:00
Sunik Kupfer
f95b853248
Fix setup through nextcloud app (intent) not working ( #782 )
...
* Select nextcloud login type on nextcloud setup intent
* Fix linting error
* Add documentation
* Move model creation to compose LoginScreen
* Minor changes
- Use boolean to decide on skipping startPage
- Move login type selection logic to login types provider
* Minor changes
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-05-17 14:10:28 +02:00
Ricki Hirner
3bcecd4fd6
Try different M3 theme
2024-05-17 13:10:39 +02:00
Ricki Hirner
b93b63024c
Fix widget colors ( #799 )
2024-05-17 10:51:09 +02:00
Ricki Hirner
d9610b26bb
Repair drawable/ic_storage_notify
2024-05-16 18:33:51 +02:00
Ricki Hirner
7c43bcc558
Version bump to 4.4-alpha.1
2024-05-16 18:22:17 +02:00
Ricki Hirner
30f9b117cc
Remove unnecessary resources
2024-05-16 18:19:46 +02:00
Ricki Hirner
f2255e1d53
Drop M2 (everything is M3 now) ( #797 )
...
Drop M2
2024-05-16 17:56:18 +02:00
Sunik Kupfer
e2bfa8c56b
Rewrite AccountSettingsActivity to M3 ( #795 )
...
* Extract composables
* Drop sub component previews and minor adjustment
* Fix preview
* Extract view model
* Switch to M3
* Extract URI to Constant
* Minor changes
* We alway have AccountSettings
* Replace LiveData by State
* Use Snapshot.withMutableSnapshot in reload
* Don't show empty OAuth setting
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-05-16 17:34:11 +02:00
Ricki Hirner
5cc29fc58a
M3 tweaks ( #796 )
...
* Refine chips in collection list
* Refine PermissionSwitchRow
* Collections list
* Fix WelcomePage and IntroActivity background color in dark mode
* Fix RadioWithSwitch in dark mode
* Drawer handler: branding in dark mode
2024-05-16 16:45:40 +02:00
Sunik Kupfer
6f02669832
Rewrite AppSettingsActivity to M3 ( #792 )
...
* Extract composables
* Extract model and companion object
* Switch to M3
* Linting
* Drop previews for sub composables
* Minor adjustments for readability
* Minor changes
- use manual URL from Constants
- use M3 in some Composables
* Create PreferenceRepository (for now only for verbose logging)
* Move actual settings to model; M3 Composables
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-05-16 13:00:20 +02:00
Ricki Hirner
e11d511971
Update dependencies
2024-05-16 11:46:26 +02:00
Ricki Hirner
00eeb0e6d5
More DI using Hilt ( #789 )
...
* [WIP] More hilt
* Use assisted inject for AccountSettingsMigrations
* DavDocumentsProvider: inject CredentialsStore
* Create a new WebdavScope and scope caches and credentials store to it
* Fix CredentialsStoreTest
2024-05-15 17:57:41 +02:00
Sunik Kupfer
814d19e698
Rewrite WifiPermissionsActivity to M3 ( #791 )
...
* Extract composables
* Extract view model and create preview
* Switch to M3 and linting
* Optimize imports
* Minor changes
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-05-15 16:57:48 +02:00
Sunik Kupfer
86252f9117
Rewrite DebugInfoActivity to M3 ( #744 )
...
* Convert M2 calls to M3
* Extract composable to screen
* Extract viewmodel
* Make screen model independent
* Use only primitive types in screen
* Introduce uiState class and switch to compose state where easy
* Switch remaining live data to compose state
* Add kdoc
* Add scrolling, adapt buttons to M3
* Move Intent logic to Activity
- create/handle Intent in Activity (may be replaced by NavGraph in future)
- Activity: pass unpacked initial data to Screen
- Screen: use hiltViewModel (adds hilt-navigation-compose dependency) to
create model with initial data
- Screen: use Column instead of LazyColumn
* Fix test
* Optimize imports
* Minor changes
* Move AppTheme, fix showDebugInfo
* View instead of share logs; make local/remote resource smaller; make remote resource selectable
* Leave space for scrolling down past the FAB; don't show "Local resource: null"
* Re-order composables
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-05-15 16:43:23 +02:00
Arnau Mora
b5334887e8
Added M3 theme to intro pages ( #756 )
...
* Added M3 theme
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Don't use M2 colors anymore
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2024-05-15 15:59:53 +02:00
Arnau Mora
6b863164a4
Rewrite BatteryOptimizationsPage to M3 ( #747 )
...
* Migrated to M3
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Arch update for best practises
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Moved composable to individual file
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Renamed function
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Moved ViewModel
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Moved ViewModel
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Moved ViewModel-based Composable
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Created `UiState`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed model name
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Typo
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed checkboxes
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Make checkboxes clickable too
* Optimized imports
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Optimize imports
---------
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 >
2024-05-15 14:11:22 +02:00
Sunik Kupfer
b4e58eeb44
Log last sync time per collection service and URL ( #702 )
...
* Log last sync time per collection service and URL
* Remove unused deprecated method
* Include tasks and other services as caldav type
2024-05-14 21:28:18 +02:00
Arnau Mora
a246046f41
AccountSettingsActivity: make canAccessWifiSsid live-capable ( #732 )
...
* Added `canAccessWifiSsidLive`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Fixed initial state
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Cleaned up code
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* More cleanup
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Removed inspection check
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Renamed function
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Using `broadcastReceiverFlow`
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Simplified check
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Using `MODE_CHANGED_ACTION`
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Updated comment
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Set default value for immediate
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Use derivedStateOf instead of produceState; correctly collect broadcastReceiverFlow
* Always show WifiSSID Card in Preview (otherwise Preview won't render)
* Don't call flow.map in Composable
---------
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-11 14:49:56 +02:00
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
Ricki Hirner
9005121b52
Update dependencies (including AGP)
2024-05-03 12:23:58 +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
Ricki Hirner
39f8f2e475
Add issue templates
2024-05-02 14:03:01 +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
40034fe400
Update dependencies
2024-04-30 11:27:26 +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
21d1020662
Add PR template
2024-04-16 20:10:58 +02:00
Ricki Hirner
80a54de015
Add PR labels for automatic release notes
2024-04-15 11:43:42 +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
cd8023b24b
[CI] Make sure concurrency name doesn't have spaces
2024-04-12 17:18:27 +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
Ricki Hirner
463c18c4fb
Update dependencies, including AGP
2024-04-10 14:10:12 +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
dd08415c84
[CI] Improve caching behavior
2024-04-10 13:54:23 +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
1cd0df1e6a
Rename dev-ose branch to main-ose
2024-04-09 18:16:10 +02:00
Ricki Hirner
74e89bde9b
Version bump to 4.3.16-beta.2
2024-04-09 17:56:41 +02:00
Ricki Hirner
b72cc7f9fb
[CI] Fix test workflows (main branch condition, cache names)
2024-04-09 17:44:18 +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
30d4aa2e73
[CI] Fix tests
2024-04-09 10:33:38 +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
7b2f14d148
Use normal runner for tests with emulator
...
See https://github.blog/changelog/2024-04-02-github-actions-hardware-accelerated-android-virtualization-now-available/
2024-04-03 12:38:56 +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
Ricki Hirner
9b7a1dbe87
Update ical4android
2024-03-28 13:52:37 +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
5921fb2bb6
Upgraded ical4android ( #663 )
...
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-03-21 11:43:44 +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
Ricki Hirner
c3bf95fa5c
Update AGP to 8.3.1
2024-03-20 11:41:13 +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
af5c732adc
Update dependencies
2024-03-10 19:27:37 +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
6f08901f04
Add permissions for CI Github release action to allow creating a discussion
2024-03-04 17:04:11 +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
3004bf14bc
Update dependencies
2024-03-04 14:16:40 +01:00
Ricki Hirner
b511c04493
Bump version to 4.3.14-beta.2
2024-03-02 00:00:59 +01:00
Ricki Hirner
1337c8d648
Update ical4android
2024-03-02 00:00:18 +01:00
Ricki Hirner
e3485ec3ec
Use gradle-managed device for testing ( #609 )
2024-03-01 20:15:45 +01:00
Ricki Hirner
dc1c77c336
Update APG and dependencies
2024-03-01 11:49:59 +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
Ricki Hirner
4c1d9d21bd
Releases: generate release notes and discussion thread automatially ( #596 )
2024-02-26 12:41:04 +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
bc3dbf09fc
Update dependencies
2024-02-22 12:04:51 +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
Ricki Hirner
af00ff0c4c
Update dependencies
2024-02-16 11:30:08 +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
94226aac1f
Update dependencies, CI actions, test emulator API level
2024-02-07 11:01:34 +01:00
Ricki Hirner
8ce6fbe776
Update vcard4android (don't write structured name when FN = ORG)
2024-02-06 21:10:38 +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
53a446bcf9
[CI] Update Github actions
2024-02-02 13:50:18 +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
Arnau Mora
a9a699c5b9
Moved to gradle/actions/setup-gradle@v3 ( #549 )
...
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2024-01-30 17:12:32 +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
Ricki Hirner
46a8f0f205
Add Dependent issues workflow
2024-01-11 17:35:17 +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
Ricki Hirner
320fe1dfd8
Compile releases without build and configuration cache
2023-12-25 15:50:54 +01:00
Arnau Mora
09253a2454
Upgrade Compose Compiler to 1.5.7 ( #510 )
...
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2023-12-25 11:48:09 +01:00
Ricki Hirner
895f0a1541
Fetch translations from Transifex
2023-12-23 12:40:16 +01:00
Ricki Hirner
05360e818a
Version bump to 4.3.12
2023-12-23 12:34:06 +01:00
Ricki Hirner
5d7dea0ebf
Nextcloud Login flow: provide default DAV_PATH (/remote.php/dav) ( #497 )
2023-12-23 12:34:00 +01:00
Ricki Hirner
88238a2406
ConcurrentUtilsTest: fix testRunSingle_SameKey_Parallel ( bitfireAT/davx5#494 )
...
ConcurrentUtilsTest: changed testRunSingle_SameKey_Parallel to testRunSingle_SameKey_Nested
2023-12-20 14:34:53 +01:00
Ricki Hirner
357275fe83
Version bump to 4.3.12-rc.1
2023-12-20 14:02:08 +01:00
Ricki Hirner
e2ac368dbc
Update dependencies
2023-12-20 14:02:08 +01:00
Sunik Kupfer
532a143cc8
Add PasswordTextField Composable (taken from bitfireAT/davx5#437 )
...
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-12-20 13:55:13 +01:00
Arnau Mora
c087834452
Rewrite TasksFragment to Compose ( #481 )
...
* 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 >
2023-12-15 13:09:42 +01:00
Ricki Hirner
da5b765b3a
WebdavMountsActivity: use ShareCompat.IntentBuilder ( bitfireAT/davx5#490 )
...
WebdavMountsActivity: use ShareCompat.IntentBuilder to create sharing intent
2023-12-15 12:23:00 +01:00
Ricki Hirner
a937442a82
Update ical4android (updates ical4j to 3.2.14 and hopefully fixes bitfireAT/davx5#398 ) ( bitfireAT/davx5#489 )
2023-12-12 14:52:36 +01:00
Ricki Hirner
c56461ea9e
WebDAV: allow other MIME types for (Ranged) GET, use coroutines for streaming ( #503 )
...
* StreamingFileDescriptor: use coroutines instead of threading
* WebDAV GET: accept any MIME type, but prefer known one
2023-12-12 14:39:43 +01:00
Ricki Hirner
769147b193
Use dav4jvm version that alway appends a trailing slash to MKCOL calls ( #504 )
2023-12-11 15:34:01 +01:00
Arnau Mora
8a0e1151ec
Rewrite ExceptionInfoFragment into Compose ( #485 )
...
* Migrated dialog to Compose
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added extended compose icons
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2023-12-09 12:24:36 +01:00
Ricki Hirner
f2f40049b8
Update Kotlin, dependencies, Gradle
2023-12-09 11:56:00 +01:00
Ricki Hirner
7a259383be
Update dependencies, GoogleLoginFragment: use clickableText instead of legacy TextView
2023-12-06 13:14:32 +01:00
Sunik Kupfer
c3e980cabf
Sync add-account button code with bitfireAT/davx5#481
...
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-12-05 16:07:01 +01:00
Ricki Hirner
d6861db8a6
Comment out testRefreshCollections_enqueuesWorker ( bitfireAT/davx5#487 )
2023-12-05 16:03:53 +01:00
Ricki Hirner
1854822757
RefreshCollectionsWorkerTest: wait for completion of enqueue ( bitfireAT/davx5#486 )
...
* RefreshCollectionsWorkerTest: wait for completion of enqueue
* Work may have finished already
2023-12-04 18:19:21 +01:00
Sunik Kupfer
787e1a687f
Set METHOD_ALERT on default event reminders ( #493 )
2023-12-03 21:12:56 +01:00
Ricki Hirner
f8b1cd5b3c
Correctly save app/build and configuration cache for dev branch builds
2023-12-03 16:59:11 +01:00
Ricki Hirner
fb7658cfaa
AboutLibraries: explicitly export library definitions at release ( #485 )
...
Export library definitions for release
2023-12-03 16:20:35 +01:00
Ricki Hirner
3eb8eba70c
Update AGP and dependencies
2023-12-03 16:15:57 +01:00
Ricki Hirner
fca6b5b890
Fetch translations from Transifex
2023-11-20 14:30:05 +01:00
Ricki Hirner
93cad92876
Version bump to 4.3.11
2023-11-20 14:29:15 +01:00
Ricki Hirner
8ddd3d66f0
Version bump to 4.3.11-alpha.2, CI: hopefully speed up release workflow
2023-11-20 14:28:41 +01:00
Ricki Hirner
a27a4fc7ae
vcard4android: sync birthdays with time offset ( #488 )
2023-11-18 15:05:29 +01:00
Ricki Hirner
127511576b
Update AGP to 8.1.4
2023-11-18 14:56:53 +01:00
Ricki Hirner
90c72ec013
Cache app/build to speed up builds
2023-11-17 16:12:05 +01:00
Ricki Hirner
ee637e4f6d
ForegroundService: don't use stopSelf or stopForeground ( bitfireAT/davx5#462 )
...
May fix #342
2023-11-16 13:21:34 +01:00
Michael Biebl
769825b402
AboutActivity: Add back no warranty disclaimer ( #477 )
...
This was dropped during the Compose rewrite.
Also align the copyright information as it looks better.
2023-11-15 17:39:41 +01:00
Ricki Hirner
a792d4db98
Version bump to 4.3.10
2023-11-14 13:11:48 +01:00
Ricki Hirner
ef723aa555
Fetch translations from Transifex
2023-11-14 13:11:36 +01:00
Ricki Hirner
f7fc82b801
Don't allow app name translation
2023-11-14 11:59:44 +01:00
Arnau Mora
59dc681fe4
AccountsActivity: disable sync button when there are no accounts ( #473 )
...
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2023-11-14 10:49:02 +01:00
Ricki Hirner
d22da0d230
Fetch translations from Transifex
2023-11-13 16:32:45 +01:00
Ricki Hirner
6829b3259f
Bump version to 4.3.10-rc.1
2023-11-13 16:31:01 +01:00
Ricki Hirner
2f761facc9
AccountSettings: don't throw IllegalArgumentException when reading/writing sync interval ( bitfireAT/davx5#456 )
2023-11-13 15:07:51 +01:00
Ricki Hirner
eeffbdcf6d
Go back to dnsjava 2.1.9 to avoid crashes on Android 7 ( bitfireAT/davx5#454 )
2023-11-13 14:32:34 +01:00
Ricki Hirner
2a9c27d4f7
AboutActivity: remove pager padding
2023-11-13 14:32:32 +01:00
Ricki Hirner
72f0579f41
Update dependencies
2023-11-13 14:32:29 +01:00
Ricki Hirner
449e886d49
AccountsActivity: center background image ( fixes bitfireAT/davx5#434 )
2023-11-13 10:30:46 +01:00
Arnau Mora
6055749e42
Fixed horizontal scroll ( bitfireAT/davx5#447 )
...
* Fixed sizing
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Small changes
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-11-12 11:34:50 +01:00
Ricki Hirner
0c1e4fd3cb
Version bump to 4.3.10-beta.1
2023-11-09 17:02:32 +01:00
Ricki Hirner
61c1ef8831
HTTP Workers: use runInterruptible instead of interrupting manually ( bitfireAT/davx5#444 )
...
* RefreshCollectionsWorker: use runInterruptible instead of interrupting manually
* SyncWorker: use CoroutineWorker + runInterruptible
* Use global SyncWorkDispatcher that guarantees classLoader to be set
* Set SyncWorkDispatcher for whole SyncWorker's doWork
* Remove obsolete test
* SyncManager: add structured concurrency again
* Use up to <number of processors> threads for synchronization
---------
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at >
2023-11-09 17:02:27 +01:00
Ricki Hirner
42bd1e8449
Don't cancel service detection when DetectConfigurationFragment's view model is cleared ( bitfireAT/davx5#442 )
...
- Rewrite DetectConfigurationFragment to Compose
- Use coroutines and runInterruptible instead of Thread
- Only cancel service detection when back is pressed
2023-11-09 17:02:14 +01:00
Ricki Hirner
46615a8337
Version bump to 4.3.10-alpha.1
2023-11-09 17:02:12 +01:00
Ricki Hirner
518e5147fe
Rewrite AccountsActivity to Compose ( bitfireAT/davx5#431 )
...
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at >
2023-11-07 17:22:44 +01:00
Ricki Hirner
9d739dd087
Clean up Hilt modules
2023-11-07 15:03:07 +01:00
Ricki Hirner
4a200dfbb7
Rewrite About activity to Compose ( bitfireAT/davx5#432 )
2023-11-07 14:52:42 +01:00
Ricki Hirner
cf9340107f
RandomAccessCallback.Wrapper: support multiple state machine instances at same time ( bitfireAT/davx5#428 )
...
* RandomAccessCallback.Wrapper: support multiple state machine instances at same time
- support multiple state machine instances at same time
- provide explicit Exception/error code when the remote server doesn't support ranged requests
* Only use RandomAccessCallback when server explicitly advertises range requests
---------
Co-authored-by: Arnau Mora <arnyminerz@proton.me >
2023-11-07 14:11:22 +01:00
Sunik Kupfer
fbe0c4451b
Add UiUtils method to render Spannables (from HtmlCompat) with Compose ( bitfireAT/davx5#430 )
...
* Add Spanned.toAnnotatedString, minor changes
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-11-01 12:00:14 +01:00
Arnau Mora
ca26155eed
jtxBoard collections: honor "Manage calendar colors" account setting ( bitfireAT/davx5#427 )
...
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2023-10-31 16:11:55 +01:00
Ricki Hirner
1a36ee2d60
Fetch translations from Transifex
2023-10-26 13:15:04 +02:00
Ricki Hirner
046bacff3f
Version bump to 4.3.9
2023-10-26 12:26:17 +02:00
Ricki Hirner
73475640f7
Google Login: minor UI improvements ( bitfireAT/davx5#416 )
...
- automatically append @gmail.com
- show Go IME action for login and client ID
2023-10-26 12:26:13 +02:00
Sunik Kupfer
1e6a457a0d
Fix related google calendars not being found ( bitfireAT/davx5#409 )
...
* Minor changes
- update kdoc
- rename method and variables
* Add proxy parents to related resource detection
* Rename argument, query ResourceType
* Remove unnecessary utility method
* Change parentOf to extension function; Always return URL with trailing slash
* Use calendar-proxy-read/write ResourceType from new dav4jvm
* Use max. two levels of recursion to detect shared Google calendars
* Revise test and adapt method
* Simplify HttpUrl.parent()
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-10-26 12:26:09 +02:00
Ricki Hirner
0215e98326
Version bump to 4.3.9-beta.2
2023-10-24 21:22:26 +02:00
Ricki Hirner
9dd8290004
Debug info: show periodicity and next run of sync workers ( bitfireAT/davx5#415 )
2023-10-24 21:22:22 +02:00
Ricki Hirner
8263b5fcf8
WorkManager: add stop reason to debug info and sync logs ( bitfireAT/davx5#413 )
2023-10-23 16:58:52 +02:00
Arnau Mora
fe679da03b
Refactor HiltViewModels ApplicationContext ( #446 )
...
* Simplified ViewModels
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed injection
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed settings injection
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added missing import
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed application
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed constructors and got rid of utils
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Optimized imports
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added missing annotation
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2023-10-19 17:36:11 +02:00
Ricki Hirner
f8330e8f52
dnsjava: fix R8 rules
2023-10-18 15:31:01 +02:00
Ricki Hirner
c451c3fd70
Version bump to 4.3.9-beta.1
2023-10-18 15:20:35 +02:00
Ricki Hirner
e41ac428c9
WebcalFragment: remove unused menu item code
2023-10-18 15:19:23 +02:00
Ricki Hirner
b26ae345cd
Nextcloud: pre-select contact group method (CATEGORIES) ( bitfireAT/davx5#410 )
...
* LoginActivity: refactor menu to MenuProvider; LoginModel: add contact group type
* Take LoginModel group method into account when creating the account; Nextcloud login: set preferred contact group type
2023-10-18 15:18:46 +02:00
Ricki Hirner
52747e632f
LoginActivity: add Nextcloud Login Flow ( bitfireAT/davx5#403 )
...
* Replace onActivityResult by contract
* Add Nextcloud option to default login screen
* Decouple NextcloudLoginFlowComposable from model
* UI and model changes
* Single-line URL field
* Add progress indicator and other secondary UI
2023-10-18 15:17:53 +02:00
Ricki Hirner
58d4a9f663
Make all IntroFragments appear at first start ( #452 )
...
* IntroFragments: use (factory,order) List instead of (order,factory) Map to store them
* Adapt OpenSourceFragment order
2023-10-17 18:50:42 +02:00
Ricki Hirner
8ffed42eb9
PermissionsIntroFragment: take jtx Board and tasks.org permissions into account ( #450 )
2023-10-17 10:17:17 +02:00
Arnau Mora
5ae70cb5d0
BatteryOptimizationIntroFragment: use contract instead of onActivityResult ( #444 )
...
* Using result launcher
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Minor re-ordering
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-10-16 15:31:17 +02:00
Arnau Mora
599c905610
Replace deprecated menu overrides ( #443 )
...
* Migrated to menu provider
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Removed override
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Cleanup
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed menus
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Minor changes
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-10-16 15:30:26 +02:00
Ricki Hirner
c8cd6d780c
[WebDAV] Add timeout for RandomAccessCallback notification ( bitfireAT/davx5#408 )
...
* [WIP] Add timeout for RandomAccessCallback
* Use state machine to handle timeout
* Use sealed class for states, guard callback access with correct states
2023-10-16 11:10:46 +02:00
Arnau Mora
4ce6fcbf44
Replaced all onBackPressed usages ( bitfireAT/davx5#406 )
...
* Replaced all `onBackPressed` usages
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added missing finish
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added more finish statements
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2023-10-10 18:43:44 +02:00
Sunik Kupfer
3da48ab3a2
362 increase minimum api level to android 7 ( bitfireAT/davx5#363 )
...
* Increase minSdkVersion to 24 (Android 7.0)
* Remove obsolete api level checks
* Use latest dnsjava
* Use latest apache commons
* Minor formatting
* Unify getSystemService() calls
* Remove further unnecessary calls
* Remove noinspection GradleDependency for Apache Commons libs
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-10-10 18:43:24 +02:00
Arnau Mora
0ba00d7bb0
Migrated startActivityForResult ( bitfireAT/davx5#407 )
...
Migrated activity result
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2023-10-10 18:42:20 +02:00
Sunik Kupfer
6d30ef42e4
Foreground service: startForeground() within 5 seconds to avoid exception ( bitfireAT/davx5#405 )
...
* Call startForeground in onCreate
* Add stopSelf() and comments
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-10-10 10:18:22 +02:00
Ricki Hirner
088136ded7
Version bump to 4.3.8
2023-10-09 12:58:09 +02:00
Ricki Hirner
caf04c4c45
Fetch translations from Transifex
2023-10-09 12:40:35 +02:00
Sunik Kupfer
81fbe2b7a6
Use worker names as work tags ( bitfireAT/davx5#404 )
2023-10-09 12:38:43 +02:00
Ricki Hirner
437fb30a94
Rename java sources directories to kotlin
2023-10-07 10:22:08 +02:00
Ricki Hirner
e85727e869
Update dependencies
2023-10-07 10:18:53 +02:00
Ricki Hirner
f57cd77ced
Update dependencies, bump version to 4.3.8-alpha.1
2023-10-06 12:58:46 +02:00
Sunik Kupfer
6bbdcb332f
Include address book account syncs, when querying sync status ( bitfireAT/davx5#378 )
...
* Use tags instead of uniqueWorkNames for work queries.
* Also include address book accounts, when querying sync status.
Give address book account sync workers their parent (main account) sync workers tag too, such that they will be included at the query for sync status of their parent account.
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-10-06 12:52:42 +02:00
Arnau Mora
6db1473e00
Update ical4android ( #425 )
...
Updates ical4j to 3.2.13, which should fix the backslash issue
2023-09-27 13:55:47 +02:00
Ricki Hirner
fd4872adb5
Minor connectivity/VPN UI adaptions ( bitfireAT/davx5#391 )
...
* Low storage: don't show notification anymore, adapt info message
- The impact of low storage is not as critical anymore that a notification is required.
- Info message adapted
* Update "account settings: ignore VPN" strings
* Update "No internet" string
2023-09-27 13:54:48 +02:00
Ricki Hirner
ba310762f9
Repair beta feedback ( bitfireAT/davx5#394 )
...
- use Google Play In-App Review API for private feedback on -gplay (fall back to email)
- start email intent again when "beta feedback" is selected in navigation drawer
2023-09-27 13:54:41 +02:00
Ricki Hirner
02c401b4d5
AccountActivity: animate progress bar becoming invisible ( bitfireAT/davx5#366 )
...
* [WIP] Animate invisibility
* Reordered for cleaner look
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Fixed animation
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Reduced animation time for going to visible to 0
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Remove logging
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Arnau Mora <arnyminerz@proton.me >
2023-09-22 17:38:27 +02:00
Arnau Mora
48327e44f5
AccountActivity: make content underneath FABs accessible ( bitfireAT/davx5#390 )
...
* Doubled bottom padding
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Account activity: increase margin for two FABs even more
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-09-22 17:38:21 +02:00
Ricki Hirner
4faecc653f
Fetch translations from Transifex
2023-09-22 15:57:01 +02:00
Ricki Hirner
7be6e0636b
Bump version to 4.3.7
2023-09-22 15:53:00 +02:00
Ricki Hirner
b8e4ba62f5
Update dependencies, bump version to 4.3.7-rc.1
2023-09-21 18:53:36 +02:00
Arnau Mora
ead6293be6
cert4android: certificates are not saved across app restarts; other bug fixes ( bitfireAT/davx5#392 )
...
* Updated cert4android dependency
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-09-21 18:53:27 +02:00
Arnau Mora
651ab9c53c
Fixed empty translators.json ( #401 )
...
* Update translators.json
* Added JSON parsing try-catch
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Log complete exception
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-09-12 13:03:46 +02:00
Ricki Hirner
bc7a320916
Don't start multiple tests for PRs
2023-09-12 13:03:15 +02:00
Sunik Kupfer
464ba7d76e
Tests for ConnectionUtils ( bitfireAT/davx5#372 )
...
* Add tests for internetAvailable()
* Add tests for wifiAvailable()
* Add TODO for test case
* Add tests for internetAvailable() covering multiple network connections
* Minor KDoc
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-09-11 11:41:41 +02:00
Angus Gratton
52e26e34d5
DavDocumentsProvider: Log a warning for responses of type OTHER. ( #400 )
...
If a WebDAV server is misconfigured (for example, behind an HTTP proxy that
strips a URL prefix and doesn't correctly forward this to the WebDAV server)
then PROPFIND can return resources whose URLs don't match the request URL. These
are resolved by dav4jvm as HrefRelation.OTHER.
Currently this situation produces no output at all in DAVx5 (logs or app) and
the WebDAV share appears accessible but empty. It is possible to create files in
the share, but not to see them again afterwards!
Of course a misconfigured server isn't the WebDAV client's responsibility to
resolve, but adding a warning in the log provides an extra clue for anyone
trying to debug it.
2023-09-08 13:48:39 +02:00
Ricki Hirner
0c991288d5
Bump version to 4.3.6.1
2023-09-07 00:29:39 +02:00
Ricki Hirner
f1a1d0efd8
Fix bug where sync isn't possible as soon there's any connection without INTERNET ( bitfireAT/davx5#370 )
...
Fix bug where sync wasn't possible as soon there's any connection without INTERNET (bitfireAT/davx5#369 )
2023-09-07 00:29:23 +02:00
Ricki Hirner
56deab70ee
Version bump to 4.3.6
2023-09-06 16:50:09 +02:00
Sunik Kupfer
5640250359
Wait an appropriate delay before SyncWorker retries after soft errors ( bitfireAT/davx5#337 )
...
* Use appropriate delayUntil value for retrying syncs on 503s.
Crop server suggested retryAfter value to self defined min/max values and use a reasonable default value if non-existent.
* Add tests for getDelayUntil
* Wait appropriate delay, before retrying sync after a soft error happened
* Increase max and default sync delays after soft errors
* Increase initial backoff time for SyncWorker retries
* Minor getDelayUntil changes
* Minor changes
- store delayUntil in seconds
- pass duration instead of timestamp to Thread.sleep
- other minor changes
* Use Instant instead of Long timestamps
* Correct calculation of blocking duration
* Indicate soft error occurred on 503 server message
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-09-05 20:30:52 +02:00
Ricki Hirner
b670979f12
Fetch translations from Transifex
2023-09-05 20:30:30 +02:00
Ricki Hirner
251cf1b2e9
Update dependencies (including vcard4android), bump version to 4.3.6-rc.1
2023-09-05 10:42:33 +02:00
Ricki Hirner
4ad54cd28b
Update dependencies (including cert4android and vcard4android) ( bitfireAT/davx5#360 )
...
* Update dependencies (including cert4android and vcard4android)
* Migrated to new version of ical4android
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Increased compileSdk
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Upgraded browser
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Only use `appInForeground` for `customCertsUi`
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Removed unnecessary variable and fixed trust manager
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Cleaned up trust manager factory
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Update dependencies (including cert4android and vcard4android)
* Migrated to new version of ical4android
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Increased compileSdk
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Upgraded browser
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Only use `appInForeground` for `customCertsUi`
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Removed unnecessary variable and fixed trust manager
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Cleaned up trust manager factory
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Minor changes
* Fixed build for SDK 34
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Migrated certificate trusting
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* NetworkConfigProvider: handle invalid trusted certificate
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Arnau Mora <arnyminerz@proton.me >
2023-09-05 10:41:54 +02:00
Sunik Kupfer
1c419cd75c
Add setting to ignore VPNs at connection detection ( bitfireAT/davx5#356 )
...
* Add setting to ignore VPNs at connection detection
* Minor changes
- move methods to ConnectionUtils to keep SyncWorker class compact
- always use "ignore VPNs" as Boolean
- other minor changes
* Show ignore VPNs setting only below api lvl 23
* Change strings
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-09-05 10:38:38 +02:00
Arnau Mora
62cca2939a
Upgrade AppIntro to 7.0.0-beta02 ( bitfireAT/davx5#357 )
...
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2023-09-05 10:37:16 +02:00
Arnau Mora
795ae49da4
SyncWorker "soft error (max retries reached)" notification confusing for users ( bitfireAT/davx5#353 )
...
* Sync error notification dismiss
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* FIXME
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added click intent
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Delayed error info
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added tag for max retries
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Reduced priority
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Removed max retries tag
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Using account name as tag
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added authority to notification tag
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added account type to notification tag
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Changed priority to min
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2023-09-05 10:37:08 +02:00
Arnau Mora
bd7b2714d2
Upgrade AGP to 8.1.1 ( bitfireAT/davx5#355 )
...
* Upgrade AGP to 8.1.1
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Upgrade Kotlin and dependencies
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Downgrade browser
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2023-09-05 10:37:00 +02:00
Ricki Hirner
273deecbe4
Update dependencies
2023-08-16 22:59:20 +02:00
Arnau Mora
a375a16edf
Added tooltip to sync collections FAB ( bitfireAT/davx5#340 )
...
* Added tooltip to sync collections fab
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Greyscale tint for collections sync FAB
* Always use TooltipCompat for FAB tooltips
Closes bitfireAT/davx5#339
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-08-15 18:23:27 +02:00
Sunik Kupfer
4ce33e949b
Use AccountManager.setAndVerifyUserData extension method, instead of setUserData ( bitfireAT/davx5#344 )
...
Hopefully fixes bitfireAT/davx5#308
* Add new setAndVerifyUserData extension function to AccountManager
* Use new setAndVerifyUserData extension function instead of insecure setUserData
* Update KDoc [skip CI]
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-08-15 18:23:00 +02:00
Ricki Hirner
fcb9d7f560
Fetch translations from Transifex
2023-08-07 20:45:55 +02:00
Ricki Hirner
3709c2ab32
Version bump to 4.3.5.2
2023-08-07 20:44:00 +02:00
Ricki Hirner
8aeb2d5064
Fix onPerformSync crash on InterruptedException ( bitfireAT/davx5#343 )
...
- use Kotlin and CompletableDeferred instead of Java synchronization
- signal cancellation by completing CompletableDeferred instead of Thread.currentThread.interrupt()
2023-08-07 20:43:51 +02:00
Arnau Mora
f806122b00
Upgrade AGP to 8.1 and configure per app language ( bitfireAT/davx5#338 )
...
* Upgraded AGP
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Enabled automatic locale config generation
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added fallback language
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added legacy service
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added `Accept-Language` header to custom tabs
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Nextcloud Login Flow/Google OAuth: also send language tag for default locale
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-07-28 10:53:57 +02:00
Ricki Hirner
4f192c253d
Use KSP for Room ( bitfireAT/davx5#333 )
2023-07-27 18:20:44 +02:00
Ricki Hirner
7038bbf70a
Google OAuth: fix manifest merging so that intent-filter for OAuth callback is included again ( #367 )
2023-07-27 18:13:57 +02:00
Ricki Hirner
b7e00fac40
Fetch translations from Transifex
2023-07-22 12:23:44 +02:00
Ricki Hirner
13d9ce089b
Bump version to 4.3.5.1
2023-07-22 12:22:28 +02:00
Ricki Hirner
d74e8da5c1
Update dependencies
2023-07-22 12:22:26 +02:00
Arnau Mora
a2b633edc0
Updated Google login button ( bitfireAT/davx5#332 )
...
* Updated Google login button
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Moved Google G logo file
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Changed background color
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Amend warning sign [skip CI]
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-07-22 12:22:22 +02:00
Ricki Hirner
e6125dd644
Update README, add Mastodon button [skip CI]
2023-07-16 12:14:48 +02:00
Ricki Hirner
162c9effe0
Update to latest dav4jvm (uses Java 8 Time API) ( bitfireAT/davx5#329 )
...
Fixes WebDAV file timestamps always being null (see bitfireAT/dav4jvm#22 )
2023-07-14 23:11:44 +02:00
Arnau Mora
c62874a34b
Make "Refresh collection list" more visible ( bitfireAT/davx5#266 )
...
* Added refresh collections fab
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added listener for clicks on refresh collections fab
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Adjusted sizing
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Updated tooltip and description for collections sync
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Removed Snackbar
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added warning for null serviceId
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Changed refresh collections service id fetching method
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Tooltip updates on refresh collections list
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Migrate to ViewPager2; show "Refresh collections" for WebCal, too
* Added refresh collections fab
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added listener for clicks on refresh collections fab
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Adjusted sizing
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Updated tooltip and description for collections sync
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Removed Snackbar
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Added warning for null serviceId
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Changed refresh collections service id fetching method
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Tooltip updates on refresh collections list
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Migrate to ViewPager2; show "Refresh collections" for WebCal, too
* Changed collections refresh action update method
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Use lambda syntax for observers
---------
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 >
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at >
2023-07-14 23:11:32 +02:00
Ricki Hirner
36e377001f
Clean up unused resources
...
- also fixes some wrong resources
2023-07-11 11:47:16 +02:00
Ricki Hirner
400d46fce2
Amend comments for repository identity
2023-07-10 15:22:24 +02:00
Ricki Hirner
ec34da1ace
Google Login: add Limited Use policy ( bitfireAT/davx5#327 )
2023-07-10 15:14:21 +02:00
Ricki Hirner
bb6ed7ec64
Fetch translations from Transifex
2023-07-10 15:13:23 +02:00
Ricki Hirner
042b2371fb
Version bump to 4.3.5
2023-07-10 15:12:04 +02:00
Ricki Hirner
5272943a05
Google: use new API base URL ( bitfireAT/davx5#324 )
...
Google: use new API base URL (finds secondary calendars and homesets)
2023-07-07 11:30:22 +02:00
Sunik Kupfer
318939e970
Ensure internet connection before syncing ( bitfireAT/davx5#305 )
...
* Comment out failing test
* Check internet connection before syncing for API 23+
* [Skip CI] Amend comments
* Comment out whole test class
* Comment out whole test class
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-07-06 23:45:08 +02:00
Ricki Hirner
1478306e54
Comment out failing test
2023-07-06 23:45:06 +02:00
Sunik Kupfer
c7ff42c03f
[Google OAuth] fix Re-authentication crash ( bitfireAT/davx5#319 )
...
* Hide/Show auth settings instead of removing them prevents NPE
* Provide original OAuth login email as default value for GoogleLoginFragment started from account settings
* Account settings: explicitly trim empty user name to null
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-07-06 23:45:01 +02:00
Ricki Hirner
17ccb305f9
Configuration detection: allow null Credentials (anonymous login) ( bitfireAT/davx5#323 )
2023-07-06 23:44:11 +02:00
Sunik Kupfer
37a7ebb9c0
Fix test again ( bitfireAT/davx5#321 )
2023-07-06 23:44:08 +02:00
Sunik Kupfer
1c403d171c
Fix test ( bitfireAT/davx5#320 )
2023-07-06 23:44:00 +02:00
Arnau Mora
81273f028e
Added known base urls ( bitfireAT/davx5#315 )
...
* Added known base urls
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Change order
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-07-03 12:07:57 +02:00
Sunik Kupfer
fac68680ee
Block sync adapter's onPerformSync until SyncWorker finishes ( bitfireAT/davx5#278 )
...
* Block sync framework until SyncWorker finishes
* Bump version code for 4.3.3 (previous version code was never released publicly)
* Fetch translations from Transifex
* Release internal version automatically [skip ci]
* Update periodic sync workers when "Sync only on WiFi" flag is changed (#282 )
* Update periodic sync workers when "sync only on WiFi" flag is changed
* Remove BootCompletedReceiver which was only needed to repair sync intervals (not required with WorkManager anymore)
* Bump version code to 403030006 (stays 4.3.3)
* Use unique worker name, Java notify/wait and observeForever
* Remove observer when sync finished
* Catch and ignore, but log interruption exceptions
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-07-03 12:07:39 +02:00
Ricki Hirner
46488f1618
Version bump to 4.3.5-alpha.1; update Compose; move GoogleLoginFragment to fix build
2023-06-30 13:51:09 +02:00
Sunik Kupfer
0f92b0fb05
291 clean up oauth mess ( bitfireAT/davx5#307 )
...
* Move GoogleOAuth members into GoogleLoginFragment
* Require login flow capable browser and notify user if missing
* Receive AppAuth redirects only in standard and gplay flavor
* Set davx5 as user-agent for AppAuth connection builder
* Re-authentication in Account settings
* Catch unauthorized exceptions at collection refresh and notify user to re-authenticate
* Suggest email address on account creation
* Set contact groups default setting as per-contact categories for oauth logins
* Add authentication to debug info, minor other changes
* Better error handling; don't pre-set group type
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-06-30 12:53:16 +02:00
Ricki Hirner
6a2c366358
Update dependencies; CI: don't checkout submodules
2023-06-28 22:42:24 +02:00
Arnau Mora
4ba50b969a
Migrated to ical4android library ( bitfireAT/davx5#302 )
...
* Migrated to ical4android library
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Manually excluded Groovy
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Updated ical4android
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Update dependencies
* Added more exclusions
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Also update Room [skip CI]
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-06-28 22:30:53 +02:00
Michael Biebl
473dca62fa
Shorten version hash of vcard4android library ( #345 )
...
Looks better in AboutLibraries and is more consistent with cert4android
and dav4jvm.
2023-06-28 12:53:43 +02:00
Arnau Mora
11c8866614
Security: check/fix DebugInfoActivity: Uncontrolled data used in path expression ( bitfireAT/davx5#267 )
...
* Passing file name to `EXTRA_LOG_FILE` instead of path. Replaces illegal chars
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Removed log file extra
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Removed log file extra
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added more error logging
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Update KDoc, remove strings
* Moved ViewModel initialization to Factory
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Changed ViewModel factory
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Updated annotations
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Handle EXTRA_LOGS correctly
---------
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 >
2023-06-28 12:52:57 +02:00
Arnau Mora
3ba463dbd4
Removed Twitter from navigation drawer ( bitfireAT/davx5#312 )
...
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
2023-06-26 08:53:19 +02:00
Arnau Mora
837fcc7805
Removed Twitter links ( #351 )
2023-06-25 14:11:24 +02:00
Arnau Mora
f820e92d15
Integrate vcard4android as an android library ( bitfireAT/davx5#300 )
...
* Migrated to external dependency for vcard4android
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
* Removed vcard4android submodule
* Update vcard4android version, remove from settings.gradle
---------
Signed-off-by: Arnau Mora <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-06-14 14:21:10 +02:00
Ricki Hirner
1b521e3c17
Bump version code
2023-06-13 21:01:10 +02:00
Ricki Hirner
50cb223bb6
DavResourceFinder: make input arguments explicit ( bitfireAT/davx5#298 )
2023-06-13 21:00:56 +02:00
Ricki Hirner
764c382af3
Fetch translations from Transifex
2023-06-13 18:47:08 +02:00
Ricki Hirner
aed721409f
Bump version to 4.3.4.1
2023-06-13 18:43:06 +02:00
Ricki Hirner
24a3954d75
Google OAuth: fix endless loop in Fragment ( bitfireAT/davx5#295 )
...
Fix endless loop
2023-06-13 18:40:49 +02:00
Sunik Kupfer
ba36d01e11
[Google OAuth] Support custom Client IDs ( bitfireAT/davx5#294 )
...
* Support custom Client IDs
* Refactoring
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-06-13 18:39:40 +02:00
Ricki Hirner
ff4af11bcf
Minor HttpClient change
2023-06-11 14:30:48 +02:00
Ricki Hirner
66c93414c0
Fetch translations from Transifex
2023-06-11 14:30:24 +02:00
Ricki Hirner
278171dbac
Bump version to 4.3.4
2023-06-11 14:29:28 +02:00
Ricki Hirner
5b38943205
Support OAuth for Google ( bitfireAT/davx5#289 )
...
* Proof of concept (without auth state storage)
* Implement Bearer authentication, create network package
* Properly create/dispose AuthService
* Use proper ActivityResultContract
* Integrate into default login activity
* Change client ID to davx5integration@gmail.com
* Google Login: adapt login view
* Fix tests
* Don't allow empty Google account
* Move strings to resources
2023-06-11 14:17:50 +02:00
Sunik Kupfer
1b3fde0854
280 fix problematic toasts ( bitfireAT/davx5#283 )
...
* When renaming show a toast when account with new name exists already
* Replace toasts with snackbars
* Apply code styling hints
* Move lambdas out of parentheses
* Inject application instead of context
* Replace Toast with Snackbar
* Shorten messages shown in snackbars
* Show Toast in UI instead of model; use AndroidViewModel
* Move account name check out of lock; don't close activity if not successful
* Duplicate account name check: only check for our account type
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-06-09 17:26:11 +02:00
Sunik Kupfer
caf7be5e11
New setting to preselect only personal collections ( bitfireAT/davx5#276 )
...
* Add new preselect_collections option and deprecate sync_all_collections option
* Optimize imports
* At refresh, decide on whether a collection should be preselected
* Add preselect_collections_blacklist setting and restriction
* Adhere to preselect_collections_blacklist setting
* Add preselect_collections values
* Also check for empty regex string and use new setting values
* Add unit tests
* Remove sync_all_collections setting and restriction
* Blacklist nextclouds recently contacted addressbook in restriction and setting by default
* Improve kdoc
* KDoc, changed setting names, minor code optimizations
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-06-06 21:03:50 +02:00
Ricki Hirner
3b2246e74b
Bump version code to 403030006 (stays 4.3.3)
2023-06-01 19:12:47 +02:00
Ricki Hirner
12902a051f
Update periodic sync workers when "Sync only on WiFi" flag is changed ( bitfireAT/davx5#282 )
...
* Update periodic sync workers when "sync only on WiFi" flag is changed
* Remove BootCompletedReceiver which was only needed to repair sync intervals (not required with WorkManager anymore)
2023-06-01 19:12:41 +02:00
Ricki Hirner
bed762ab7d
Fetch translations from Transifex
2023-06-01 12:31:23 +02:00
Ricki Hirner
b56dd96fd8
Bump version code for 4.3.3 (previous version code was never released publicly)
2023-06-01 12:30:11 +02:00
jgirardet
cb5f722a87
Add mailo.com to known base urls ( #329 )
...
* Add mailo.com to known base urls
* fix order
2023-05-31 09:51:04 +02:00
Ricki Hirner
dceb1493eb
Remove cert4android from settings.gradle, remove obsolete adb-log.sh, update ical4android
2023-05-30 17:09:37 +02:00
Arnau Mora
17718a7ed8
Integrate cert4android as an android library ( bitfireAT/davx5#274 )
...
* Removed `cert4android` submodule
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added cert4android dependency
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Update dependencies, fix invalid style
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-05-30 11:10:06 +02:00
Arnau Mora
6d278b7e04
Made collection url selectable ( bitfireAT/davx5#275 )
...
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
2023-05-23 17:02:33 +02:00
Sunik Kupfer
ae303e3e8d
Refactor queryHomeSets method for clarity ( bitfireAT/davx5#270 )
...
* Make it clear that the first call of recursive method queryHomeSets is for the current-user-principal home set
* Update whitespace in kdoc
* Update kdoc
2023-05-23 17:02:26 +02:00
Ricki Hirner
38cfd200b1
Fetch translations from Transifex
2023-05-22 08:27:33 +02:00
Ricki Hirner
968db83366
Version bump to 4.3.3
2023-05-22 08:26:46 +02:00
Ricki Hirner
8923f9b1ad
Fix workflow concurrency
2023-05-17 22:15:49 +02:00
Ricki Hirner
e60723042b
Cancel running actions for previous commits if there are new pushes on the same branch/tag
2023-05-17 18:24:15 +02:00
Ricki Hirner
5fee2375a5
Update dependencies, bump version to 4.3.3-rc.1
2023-05-17 18:13:27 +02:00
Ricki Hirner
7f62148c75
Disable configuration cache for release builds ( closes bitfireAT/davx5#263 ) ( bitfireAT/davx5#269 )
2023-05-17 18:13:27 +02:00
Sunik Kupfer
a072cf0404
Add last synced time to collection properties ( bitfireAT/davx5#260 )
...
* Add last synced time to collection properties
* Show last synced time for every to the collection relevant authority
* Try finding the application name for given package name
* Resolve authority to package name before finding application label
* Use AndroidViewModel instead of ViewModel; change model LiveData to val
* Rewrite to Compose, use relative time description
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-05-17 18:13:27 +02:00
Ricki Hirner
5aff37a9a6
Add style guide
2023-05-17 18:13:27 +02:00
Ricki Hirner
2f1757bb78
Version bump to 4.3.3-beta.2
...
- minor workflow changes
2023-05-17 18:13:27 +02:00
Ricki Hirner
34cc3ac670
Update ical4android (increase minimum jtx Board version) and vcard4android (fixes NoYearOfEra bug)
2023-05-17 18:13:27 +02:00
Ricki Hirner
55ee89529f
Update dependencies, including cert4android and vcard4android
2023-05-17 18:07:17 +02:00
Ricki Hirner
83b5b939e1
Add issue template file so that we can enable issues for ourselves
2023-05-12 11:25:37 +02:00
Ricki Hirner
b543dc9332
Fetch translations from Transifex
2023-05-12 10:50:46 +02:00
Ricki Hirner
28466ace46
Version bump to 4.3.3-beta.1
2023-05-12 10:49:38 +02:00
Sunik Kupfer
63f51c4b42
Account settings migration 13 to 14 ( bitfireAT/davx5#262 )
...
* AccountSettings: prevent redundant calls, move migrations to separate class
* Don't create AccountSettings while migrating
* Double thread sleep time to wait for sync framework to get disabled, and update logging
* Remove manual testing helper
* Fix tests
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-05-12 10:23:47 +02:00
Ricki Hirner
8ac8971293
Update dav4jvm (WebDAV timestamps), ical4android (jtx geofence x radius), Github workflow actions
2023-05-12 00:14:05 +02:00
Arnau Mora
9748b75671
Fixed toast threading ( bitfireAT/davx5#256 )
...
* Fixed toast threading
* Added `AndroidViewModel.context`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Moved to `AndroidViewModel`
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Changed error invocation
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Added back constructor inject
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
* Save Application with val instead of util method
* Use LiveData for error message
---------
Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-05-11 18:41:07 +02:00
Sunik Kupfer
2ebb40b152
Implement proper network check before manual sync ( bitfireAT/davx5#259 )
...
* Implement proper network check before manual sync
Do a proper connectivity check, to show a message to the user, about the sync being scheduled for when connectivity is available, before enqueueing the SyncWorker.
* Update the sync status in accounts adapter to include pending syncs
This is relevant for when a manual sync is triggered without connectivity.
* Replace Toast by Snackbar
* Replace ViewModel by AndroidViewModel
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-05-11 18:40:29 +02:00
Ricki Hirner
5cbf14fa27
Update ical4android to fix TZ with negative DST (Google Europe/Dublin) bug
2023-05-10 13:21:12 +02:00
Ricki Hirner
2ff4b35bdb
Use configuration cache to improve build speed ( closes bitfireAT/davx5#248 ) ( bitfireAT/davx5#255 )
...
- disable per-app language preference for now (will be enabled again with bitfireAT/davx5#245 )
- disable Jetifier (doesn't seem to be explicitly required for in-app rating API anymore)
- remove Locator dependency
- update ical4android
2023-05-10 13:20:57 +02:00
Ricki Hirner
7b2ffeb98e
Update dependencies
2023-05-09 12:36:45 +02:00
Ricki Hirner
9917f7131a
Comment out AccountSettingsTest for now because they cause strange failures
2023-05-07 08:03:21 +02:00
Ricki Hirner
1c474df606
Version bump to 4.3.3-alpha.1
2023-05-07 08:03:21 +02:00
Ricki Hirner
c3cd970581
Use Jetpack Compose for AboutLibraries ( bitfireAT/davx5#246 )
...
- add JetPack Compose dependencies
- use existing XML theme as Compose MdcTheme
- update AboutLibraries to newest version (uses Compose)
- embed AboutLibraries Compose into existing Fragment layout
2023-05-07 08:03:21 +02:00
Ricki Hirner
0bed00c05a
Handle InvalidAccountException in SyncAdapterService
2023-05-07 08:03:21 +02:00
Sunik Kupfer
f9d6bb153c
Workmanager scheduled sync ( bitfireAT/davx5#216 )
...
Closes bitfireAT/davx5#14
* extract WorkManager util functions and kdoc
* add PeriodicSyncWorker
* refactor and some kdoc
* use PeriodicSyncWorker and add todos
* allow SyncAdapter arguments to be passed to SyncWorker and have re-synchronization use SyncWorker
* handle sync cancellation in AccountSetting migration
* handle sync cancellation when account is renamed
* remove sync frameworks global sync setting and sync state awareness for the GUI
* Observe sync worker status in AccountListFragment
* Create setup for stepwise refactor of the sync adapters. This should keep the app from failing to build.
* Create new abstract BaseSyncer class for generic sync code. Adapt consumers and tests to use the new class.
* Move calender sync code to new CalenderSyncer class which is independent from the sync framework
* In CalendarSyncAdapterService pass sync requests from Sync Adapter Framework to SyncWorker
* Use CalenderSyncer in SyncWorker
* Move contacts sync code to new ContactsSyncer class.
* Move address book sync code to new AddressBookSyncer class
* Move jtx sync code to new JtxSyncer class
* Move tasks sync code to new TaskSyncer class
* Remove duplicate code in inherited sync adapters.
* Remove refactoring helper interface, duplicate generic sync code and some linting.
* Adapt tests for new Syncer class and move to the new package
* Remove remaining duplicate code in SyncAdapterService, add todos and edit kdoc.
* Move all the single line sync adapter services into one file.
* Remove concurrent sync runner code and its test, as we now use WorkManagers one time work requests.
* Remove SAF manual sync flag usage where unnecessary.
* Drop ability to prioritise collections for sync, as not used and hindering removal of sync adapter arguments.
* Pass simple string array to SyncWorker instead of bundle to simplify code.
* Restructure work query code.
* Get debug info from account settings and WorkManager.
* Write tests for PeriodicSyncWorker
* Test account creation will set a default sync interval for CardDAV and CalDAV
* Throw an exception if accountManager returns null for sync interval value
* Do proper interval check and add tests for AccountSettings
* Use work manager query to determine whether work is in a specific state
* [WIP] Add test to check that task provider is configured correctly on account creation
* Edit test checking that task sync is configured correctly on account creation with/without installed task app(s), by mocking TaskUtil
* Edit test such that it does not require a flaky flag
* Remove periodic sync when tasks app is uninstalled
* Bring back content triggered syncs
* Rename enqueueSyncWorker method to enqueue only for clarity
* Enable SyncAdapterFramework to cancel running SyncWorker
* Add test ensuring that SyncWorker.onStopped() interrupts the running sync thread
* Add retry policy sync on soft errors
* Check users sync conditions before enqueueing SyncWorker
* Add test for whether user sync conditions are treated correctly and kdoc
* Rename ambiguous shorthand "SAF" to "SyncFramework", as SAF usually means StorageAccessFramework
* Migration: Disable sync framework periodic syncs when interval is changed for specified authority
* Add Workers info to debug info
* Use WorkInfo.runAttemptCount to fail work after 20 soft errors
* Notify user if retry limit for soft errors has been reached
* Remove left over concurrency sync run tests prevention
* Migration: Continue to remove periodic sync framework syncs until user migration to PeriodicSyncWorker syncs is complete
* Kdoc and small changes
* Migration: Change to hard migration strategy
* Drop repairSyncIntervals method in favor of hard migration strategy
* Improve debug info of workers
* Remove sync framework periodic syncs, created by enabling content triggered syncs
* Change minimum sync interval to 15 min; minor other changes
* Fix tests
* Implement requested changes and update kdoc
* Add network connectivity restrictions to PeriodicSyncWorker
* Minor changes
* Move back sync classes to syncadapter package for now (can be separated later)
* Add KDoc
* Changes from review
* Rename test methods
* Add back global sync status warning
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-05-07 08:03:21 +02:00
Ricki Hirner
299fb27af4
Fetch translations from Transifex
2023-05-02 14:06:43 +02:00
Ricki Hirner
9c51dadce8
Version bump to 4.3.2
2023-05-02 13:57:31 +02:00
Ricki Hirner
ae3f5c8bab
Fix ProGuard rules for R8 (AGP 8.0)
2023-05-01 11:00:37 +02:00
Ricki Hirner
aa063adaba
Upgrade gradle, AGP, dependencies
2023-04-29 22:50:18 +02:00
Sunik Kupfer
c5b02d2bde
Log warning if principal URL does not provide CalDAV/CardDAV service ( bitfireAT/davx5#242 )
...
* Log warning if principal URL does not provide CalDAV/CardDAV service
* Unified log messages for identical cases
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-04-20 14:01:30 +02:00
Arnau Mora
61b6cd5e2e
Disabled GPS feature requirement ( bitfireAT/davx5#241 )
...
* Disabled GPS feature requirement
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Updated GPS feature comment
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
---------
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
2023-04-18 11:11:04 +02:00
Ricki Hirner
aecabb9845
Update dependencies
2023-04-13 11:25:51 +02:00
Michael Biebl
16573e9ea6
Sync interval failure ( #235 )
...
* Fix log message
* Log a warning if repairing the sync interval failed
2023-04-12 11:41:24 +02:00
Ricki Hirner
e2bfda71bc
Use large runners for CI Android tests ( #306 )
2023-04-12 11:39:32 +02:00
Ricki Hirner
133d155b94
Update ical4android; CI: use gradle/gradle-build-action for caching
2023-03-31 16:12:20 +02:00
Sunik Kupfer
874ad7b1c6
Handle error responses when querying principals for display names (closes bitfireAT/#237) (bitfireAT/#238)
...
* Add test with inaccessible principal
* Catch and log exceptions where server resource is inaccessible
* Catch and log every HttpException
2023-03-31 13:29:20 +02:00
Sunik Kupfer
fc17d0ed69
SettingsActivity resync now uses SyncWorker ( bitfireAT/davx5#226 )
...
* Alter the SyncWorker sync request to allow passing sync arguments along
* Request sync in SettingsActivity via SyncWorker instead of ContentResolver
* Don't use catch-all arguments as worker arguments
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-03-28 16:59:36 +02:00
Ricki Hirner
2f8340a646
SyncManager: fix logging string that always talked about address data even for events/tasks
2023-03-24 11:52:19 +01:00
Ricki Hirner
6050396a45
Update Transformations to new syntax (androidx.lifecycle:lifecycle-viewmodel-ktx:2.6)
2023-03-24 10:46:42 +01:00
Ricki Hirner
2503d92dca
Update dependencies, including ical4android (now ignores invalid properties)
...
Closes bitfireAT/davx5#165
2023-03-23 17:09:37 +01:00
Ricki Hirner
983a142670
Add CodeQL security scanning ( #296 )
...
* Create .github/workflows/codeql.yml
* Build explicitly instead of using autobuild (because it doesn't work)
* Checkout submodules and cache Java dependencies
2023-03-23 11:29:29 +01:00
Arnau Mora
a3a8317b2f
Fix fetching list of translators ( bitfireAT/davx5#232 )
...
* Changed `password` with `token`
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Fetch script: don't use --minimum-perc 20 because it's in .tx/config
---------
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-03-21 15:46:58 +01:00
Ricki Hirner
880abf024c
Fetch translations from Transifex
2023-03-20 13:10:34 +01:00
Ricki Hirner
83936b97ea
Bump version to 4.3.1.1
2023-03-20 12:58:10 +01:00
Ricki Hirner
50dbd66d3a
Version bump to 4.3.1
2023-03-13 18:01:20 +01:00
Arnau Mora
17fb1168cc
Generate locales with Locator ( bitfireAT/davx5#218 )
...
* Added locator plugin
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Removed old generator
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Updated source sets
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Added locator submodule
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Removed locator submodule
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Moving scripts
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Update dependencies
* Added `LocatorPlugin`
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Fixed locales generation
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Removed buildSrc
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Using plugin from Jitpack
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Using plugin from Gradle
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Removed comment
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Remove jitpack
---------
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-03-13 18:01:13 +01:00
Ricki Hirner
89a698e7b2
Bump version to 4.3.1-beta.1
2023-03-02 13:11:09 +01:00
Ricki Hirner
6dd0af2d7a
Update Kotlin and gradle plugin
2023-03-02 13:11:08 +01:00
Patrick Lang
29a97c85ff
Fixed language selector icon for night mode ( bitfireAT/davx5#223 )
...
Update ic_language.xml
Replaced tint by android:tint="?attr/colorControlNormal">
2023-03-02 13:11:01 +01:00
Sunik Kupfer
9fee782968
Check sync workers properly ( closes bitfireAT/davx5#217 ) ( bitfireAT/davx5#220 )
...
* check sync workers properly
* Move utils around
* Merge live data, instead of observing in view, to recalculate account list.
* Update LiveData with same value
* Remove unused context property.
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-02-28 10:28:52 +01:00
Sunik Kupfer
fe7a928064
Provide owner url in jtx collection ( bitfireAT/davx5#221 )
...
* provide owner url in jtx collection
* Updated contract, added owner displayname to collections sync
* Update ical4android
---------
Co-authored-by: Patrick Lang <72232737+patrickunterwegs@users.noreply.github.com >
2023-02-28 10:28:46 +01:00
Ricki Hirner
54c6117ba2
Update dependencies
2023-02-28 10:28:29 +01:00
Arnau Mora
fffb029362
Fixed missing languages and wrong display ( bitfireAT/davx5#214 )
...
* Displaying language with `displayName` instead of `displayLanguage`
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Added languages from `davdroid`
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Fixed wrong locale tags
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Using Map instead of list for language loading
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Typo
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Changed language loading logic
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Improved docs
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Moved method from `LangUtils`
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Using regex
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Added test for `resourceQualifierToLanguageTag`
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
---------
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
2023-02-28 10:28:19 +01:00
Sunik Kupfer
b83d116f40
show real name of davowner ( bitfireAT/davx5#208 )
...
* add principal table with dao
* add principal table with dao
* collection saves ownerId instead of owner URL
* save and refresh principals
* show display name of collection owner in GUI
* show only the owner name (preferably) or respective url
* remove principals which do not own any collections
* Don't mock AppDatabase
* ensure we are really dealing with a principal and save it even without its display name
* ensure owner label is hidden when neither owner-displayname nor owner-url are available
* save principal urls without trailing slash
* use a custom query to find principals without collections
* Some changes
- insertOrUpdateByUrl
- don't explicitly set id=0 when not necessary,
- make it work when there are already entries with trailing slahes
- added TODOs
* Small changes
- Update principal only if display name changed
- Rename methods
- Kdoc
- Tests
* stop using simple methods with vague names
* rename method insertOrUpdateOrGet to insertOrUpdate and leave existing kdoc for explanation
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-02-20 13:29:56 +01:00
Ricki Hirner
26961d9749
Update dependencies
2023-02-20 13:29:52 +01:00
Patrick Lang
7b34f8148f
jtx-board-2-3-new-recur-handling ( bitfireAT/davx5#196 )
...
* adapted JtxSyncManager, added new method in LocalJtxCollection
* minor code improvement
* inserting recurring entry as well, as the series might not have been processed yet
* version bump (preliminarily)
* version bump (preliminarily)
2023-02-20 13:29:44 +01:00
Ricki Hirner
4dd79606f2
F-Droid changelog for 4.3
2023-02-08 14:04:40 +01:00
Ricki Hirner
f13164af41
Fetch translations from Transifex, tx config changes
2023-02-08 12:39:40 +01:00
Ricki Hirner
43b6b8b3db
Version bump to 4.3
2023-02-08 12:33:16 +01:00
Ricki Hirner
d00966063e
Update ical4android
2023-02-08 12:33:15 +01:00
Arnau Mora
6990479d18
Enabled automatic popup of the custom certificate dialog ( bitfireAT/davx5#207 )
...
* Enabled automatic popup of the custom certificate dialog
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Use chaining instead of .let
---------
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-02-08 12:32:29 +01:00
Ricki Hirner
1dd93ae43a
Collections fragment: cache paging data ( bitfireAT/davx5#206 )
...
Closes bitfireAT/davx5#205
2023-02-07 17:14:21 +01:00
Michael Biebl
179602df46
Drop duplicated .ForegroundService ( #266 )
...
Was added by mistake in cfee0f3461 .
2023-02-07 17:13:04 +01:00
Ricki Hirner
412acbcc7d
Version bump to 4.3-rc.2
2023-02-03 21:08:24 +01:00
Ricki Hirner
dc207682a5
CollectionsFragment: Replace Kotlin flow by LiveData ( closes bitfireAT/davx5#201 ) ( bitfireAT/davx5#204 )
2023-02-03 21:08:14 +01:00
Ricki Hirner
c8c1124303
Fix release workflow
2023-02-03 21:07:35 +01:00
Ricki Hirner
00235e12a4
Fetch translations from Transifex
2023-02-01 14:02:59 +01:00
Ricki Hirner
e283f5f34b
Version bump to 4.3-rc.1
2023-02-01 13:27:56 +01:00
Ricki Hirner
2349468b0b
Update dependencies, including ical4android
2023-02-01 13:27:55 +01:00
Sunik Kupfer
cf4b7891e3
fix collections vanishing and remove useless home set reference ( bitfireAT/davx5#199 )
2023-02-01 13:10:35 +01:00
Sunik Kupfer
ca62efa2aa
remove DaoTools (for syncing) ( bitfireAT/davx5#190 )
...
* add test fixtures
* Use direct DB access instead of DaoTools
* minor changes and kdoc
* minor changes and kdoc
* remove obsolete DaoTools, SyncableDao and IdEntity classes
* KDoc
* use hashmap instead of list and added kdoc
* always load from database
* add a test and make test structur more flexible for future tests
* minor KDoc
---------
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-01-31 13:40:39 +01:00
Ricki Hirner
2661dbba34
Use Worker for account cleanup ( bitfireAT/davx5#197 )
...
* [WIP] Use Worker for account cleanup
* Remove AccountsUpdatedListener Hilt module
* Use 15 seconds, provide Hilt module for App creation
2023-01-28 21:09:58 +01:00
Ricki Hirner
954f4dcaa3
Debug info: count jtx Board tasks correctly ( bitfireAT/davx5#195 )
...
* Reformat code
* Use sync-adapter URI to count jtx Board entries
* Debug info: restrict entry counts per withSyncAdapter URI and not over WHERE clause
2023-01-28 21:09:49 +01:00
Ricki Hirner
6c8976f6ff
Version bump to 4.3-beta.1
2023-01-20 11:12:33 +01:00
Ricki Hirner
29b2b2372f
Catch SecurityException of notifications
2023-01-20 11:12:32 +01:00
Ricki Hirner
5156ff1380
Update dependencies
2023-01-20 11:12:32 +01:00
Sunik Kupfer
62617a2889
168 refactor service detection part 2 ( bitfireAT/davx5#174 )
...
* [WIP] refactor
* [WIP] refactor
* save, update and delete homesets one by one
* save, update and delete collections one by one
* cleaner code
* prevent jumps in row ids
* [WIP] small changes and kdoc
* remove duplicate code and add kdoc
* improve kdoc
* remove redundancy based on service type in resource finder
* tests setup
* handle cancellation
* add tests
* Don't use IdEntity for service detection anymore
* HomeSetDao: getByUrl requires a service (there may be two accounts with the same homeset URLs, for instance with different credentials)
* Deprecate DaoTools
* Minor changes
* Add TODO
* use self explanatory variables instead of a pair
* update kdoc
* add unfinished tests
* add test for updating a collection
* add test for preserving collection flags
* mark collections as homeless if not rediscovered in its homeset
* proper implementation of update and delete of homeless collections with test
* minor changes and kdoc
* Tests: adapt mock server 404
* KDoc
* get collections by service and url, deprecate getByUrl()
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-01-19 23:32:15 +01:00
Patrick Lang
df2922f873
Added intent-filter for AccountActivity ( bitfireAT/davx5#187 )
...
* Added intent-filter for AccountActivity
* removed intent filter for account activity
2023-01-19 23:31:57 +01:00
Flo Edelmann
861bcf30b4
Add dav.mailbox.org to known base URLs ( #251 )
...
* Add dav.mailbox.org to known base URLs
* Replace mailbox.org by dav.mailbox.org
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-01-11 23:51:35 +01:00
Arnau Mora
bee7cf20ac
169 webdav handle weak etags correctly ( bitfireAT/davx5#185 )
...
* Added `GetETag.NAME` fetching when `PROPFIND`ing
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* `GetETag.eTag` is only taken if tag is not weak
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Using `GetETag` instead of `QuotedStringUtils` and ignoring weak eTags
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Updated `dav4jvm`
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Fixed checks
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Use new dav4jvm where weak can't be null
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2023-01-09 17:57:04 +01:00
Sunik Kupfer
5434291c6c
fixes data saver warning showing below android 7 ( bitfireAT/davx5#180 )
...
post false to live boolean dataSaverEnabled even if below api lvl 24
2023-01-09 17:56:56 +01:00
Bernhard Stockmann
8dc9f2e415
Update README.md
2023-01-04 14:55:11 +01:00
Arnau Mora
53bd4866c3
Added Mastodon link to navigation drawer ( bitfireAT/davx5#179 )
...
* Added mastodon icon
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Added mastodon link to drawer
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Added mastodon link action
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Mastodon icon tint
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Added Mastodon icon to main
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
2023-01-01 23:26:54 +01:00
Michael Biebl
1f4398b21e
Use consistent margins between different permission switches
2022-12-22 21:25:12 +01:00
Ricki Hirner
12bb09ecb8
Minor CI changes
2022-12-22 21:22:56 +01:00
Ricki Hirner
4c71d21d7b
WorkManager address book sync: don't run calendar/tasks sync on address book accounts; vcard4android: set N:LastName for vCard3 groups
2022-12-22 21:22:56 +01:00
Patrick Lang
1f818ee3b4
Added language selection ( bitfireAT/davx5#137 )
...
* added language selection
* PermissionsFragment: Hide notification permission switch on Android < 13
* Retrieve locales with a function
* Added locales flavoring
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Moved locales functions to `locales.gradle`
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Added `locales_config.xml` generation
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Now gets generated automatically
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Added `android:localeConfig`
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Updated submodules
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
* Using `logger` instead of `println`
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
Signed-off-by: Arnau Mora <arnyminer.z@gmail.com >
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
Co-authored-by: Arnau Mora <arnyminer.z@gmail.com >
2022-12-22 21:22:55 +01:00
Michael Biebl
0521f4bcf0
Trivial indentation fixes ( #226 )
2022-12-22 21:22:55 +01:00
Ricki Hirner
2730d14cb9
Version bump to 4.3-alpha.1
2022-12-22 21:22:55 +01:00
Sunik Kupfer
cfee0f3461
work manager manual sync ( bitfireAT/davx5#109 )
...
* rabase with dev branch
* added test for checking whether manual work-manager sync queues worker
* overwrite getForegroundInfo to show a "sync running" notification, to run expedited work on Android <12
* basic error state with sensible feedback from syncframework
* remove integer state flags and pass SyncResult as string
* Manual sync cancellation
* rabase with dev branch
* Minor changes
- add Jtx Board sync adapter to sync worker
- use new notification ID for sync worker
* status bar reflects sync of SyncWorker and sync framework correctly
* [WIP] custom hilt SyncComponent
* fix autoclose cast not available below api24
* SyncScope implementation using WeakReference
* Remove unnecessary logging call
* AddressBooksSyncAdapter.sync uses SyncWorker instead of ContentResolve to call requestSync
* add some code documentation
* move all utility objects into one package
* Also check SyncWorker state for accounts list sync status bar
* clean up imports
* Remove duplicate copyright notices
* Minor changes
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-12-15 16:04:39 +01:00
Michael Biebl
262592a3d9
Remove duplicate copyright header ( #218 )
2022-12-11 17:03:27 +01:00
Ricki Hirner
18a3c0e2fd
Fetch Translations from Transifex
2022-12-10 13:20:31 +01:00
Ricki Hirner
5374afb7ae
Version bump to 4.2.6
2022-12-10 13:17:59 +01:00
Álvaro Brey
9ceee1b6c0
LoginSetupActivity: allow http/https in intent filter ( #211 )
...
* LoginSetupActivity: allow http/https in intent filter
Initially introduced in 054f1ece61 ,
this `intent-filter` breaks login from the Nextcloud app, as we send the server URI as `http`/`https`.
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com >
* Update intent-filter for login flow on api lvl 33 (closes bitfireAT/davx5#172 )
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com >
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at >
2022-12-08 17:48:13 +01:00
Sunik Kupfer
e6ecc7a9b0
Remove forced wifi-only sync when Data Saver is active ( bitfireAT/davx5#171 )
...
* Remove forced wifi-only sync when Data Saver is active
* move data saver warning to AppWarningsManager
* Minor changes
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-12-08 11:56:47 +01:00
Sunik Kupfer
1b17124b80
move warning notification logic into a warning class ( bitfireAT/davx5#170 )
...
* move warning notification logic into a warning class
* Move Warnings to UI package
* Minor changes
* Move "global sync disabled" warning to AccountListFragment, too
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-12-08 11:52:56 +01:00
Sunik Kupfer
02885947da
Refactor DavService to WorkManager (bitfireAT/#164)
...
* SyncManager: remove retry intent
* refactor DavService to RefreshCollectionsWorker now using WorkManager
* move DavResourceFinder to new service detection package
* Optimize imports
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-12-08 11:52:38 +01:00
Ricki Hirner
3f2fcda6d3
Add Github sponsoring
2022-11-30 10:25:15 +01:00
Sunik Kupfer
ba46c4793a
Update F-Droid changelog
2022-11-29 15:13:24 +01:00
Sunik Kupfer
405ef4d0b8
Version bump to 4.2.5
2022-11-29 15:09:24 +01:00
Sunik Kupfer
5e099561c1
Fetch translations from Transifex
2022-11-29 15:07:22 +01:00
Ricki Hirner
dd9ac77705
Add referrer with utm_source to task app installation Intents
2022-11-29 15:04:34 +01:00
Ricki Hirner
369d5e49f1
Update dependencies, version bump to 4.2.5-rc.1
2022-11-24 18:14:26 +01:00
Sunik Kupfer
5222c13a23
Support read-only task lists for Tasks.org ( bitfireAT/davx5#160 )
...
* [WIP] save task list access level to android task list for tasks.org to use
* Disrecommend using OpenTasks in selection dialog
* Update string, use matching ical4android
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-11-24 17:33:37 +01:00
Ricki Hirner
b17b38ff50
Update dependencies, including ical4android
2022-11-09 13:16:59 +01:00
Ricki Hirner
3b74ad5257
PermissionsFragment: Hide notification permission switch on Android < 13
2022-11-04 17:53:30 +01:00
Clément GIBAUD
e4a5c47887
Add framagenda to pre-set URLs ( #192 )
2022-11-04 16:31:24 +01:00
Sunik Kupfer
8915a3c103
android 13 compatibility ( bitfireAT/davx5#155 )
...
* check for notify permission before notifying
* [WIP] add notification permission request
* Revert "check for notify permission before notifying"
This reverts commit ed8e046d73163bef5684622bd877f08b9ee781c6.
* add notification permission request
* [WIP] add notifications disabled card in accounts view
* add notifications disabled card in accounts view
* reorder permissions
* use dp instead of mm for image max height in permissions view
* stop using array to bundle notification permissions
* Use new permissions contract for PermissionsFragment
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-11-01 12:51:20 +01:00
Ricki Hirner
43ae3fcd1f
Update libraries
2022-10-29 16:42:05 +02:00
Ricki Hirner
796eddb975
Update dav4jvm, Kotlin
2022-10-28 13:34:32 +02:00
Ricki Hirner
57a77bd5f5
Actually update vcard4android (better read-only contacts support)
2022-10-28 13:15:38 +02:00
Sunik Kupfer
d32b21a465
Update F-Droid changelog
2022-10-25 11:22:34 +02:00
Sunik Kupfer
31a61f508d
Version bump to 4.2.4
2022-10-25 11:16:53 +02:00
Ricki Hirner
a8e21bed8b
Force downloading all contacts after resetting read-only contacts when collection supports Collection Sync
2022-10-21 13:41:22 +02:00
Ricki Hirner
7b70cf45fc
Fetch translations from Transifex
2022-10-21 13:41:22 +02:00
Ricki Hirner
66282c10e6
Version bump to 4.2.4-rc.1
2022-10-21 13:41:22 +02:00
Ricki Hirner
a493f0a9a9
Update dependencies
2022-10-21 13:41:22 +02:00
Ricki Hirner
951c29e66a
Force sync after resetting read-only contacts ( bitfireAT/davx5#154 )
...
* Force sync after resetting read-only contacts
* Rename variable for clarity
2022-10-21 13:41:21 +02:00
Sunik Kupfer
0f124cf5b5
LocalAddressBook: update read-only flag of groups, too ( bitfireAT/davx5#153 )
...
* LocalAddressBook: update read-only flag of groups, too
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-10-21 13:41:21 +02:00
Sunik Kupfer
9bd564b2c6
fix crash when accounts vanish ( closes bitfireAT/davx5#140 ) ( bitfireAT/davx5#148 )
2022-10-21 13:41:21 +02:00
Ricki Hirner
bec9f8bcfb
Fetch translations from Transifex (including new translations)
2022-10-14 23:06:56 +02:00
Ricki Hirner
d2614bd87e
Create an option to pre-select the read-only setting for address books ( bitfireAT/davx5#141 )
...
* [WIP] add managed restriction to force read-only addressbooks
* Honor app-wide read-only address book setting when syncing address books
* reflect status of force read-only address books setting in the GUI
Co-authored-by: Sunik Kupfer <kupfer@bitfire.at >
2022-10-12 17:35:12 +02:00
Ricki Hirner
e14460111e
Use Material switches for preferences
2022-10-11 12:48:16 +02:00
Ricki Hirner
31fb7ec190
CalDAV/CardDAV UI: replace checkbox by switch ( bitfireAT/davx5#143 )
...
Closes bitfireAT/davx5#142
2022-10-11 10:15:01 +02:00
Ricki Hirner
99710ca94e
Update Manual URL
2022-10-08 18:58:31 +02:00
Ricki Hirner
c635dc8aa3
Add pre-set base URLs
2022-10-03 10:51:33 +02:00
Ricki Hirner
ce3f3b7cc4
Update vcard4android (disable LABEL generation); version bump to 4.2.4-beta.1
2022-10-03 10:51:12 +02:00
Ricki Hirner
2b16cd6365
Lint
2022-09-27 13:03:08 +02:00
Ricki Hirner
8a7f51b705
Update dependencies, compile SDK level, build tools, gradle plugin
2022-09-27 13:03:08 +02:00
Ricki Hirner
f5b08b60bf
Update ical4j (handle NPE when time zone is known to Android but not to ical4j)
2022-09-27 13:03:06 +02:00
Ricki Hirner
fc819eb001
Update README
...
- closes #153
- closes #152
2022-09-27 11:33:07 +02:00
Ricki Hirner
fbbf2a6b07
Add calendar and contacts provider to manifest/queries (for increased compatibility with apps like Huawei calendar)
2022-09-23 13:32:22 +02:00
Ricki Hirner
8ff90954cd
Don't run AccountsUpdatedListener while account is being renamed
...
Don't run AccountsUpdatedListener while account is being renamed (closes bitfireAT/davx5#135 )
2022-09-22 20:55:08 +02:00
Sandelinos
a7fcc087bc
Add monochrome icon ( #151 )
2022-09-20 20:32:58 +02:00
Ricki Hirner
e2c2e566b9
Bump version to 4.2.3.4
2022-09-20 18:50:24 +02:00
Ricki Hirner
d4eaa0718a
Fetch translations from Transifex
2022-09-19 16:36:52 +02:00
Ricki Hirner
e3c44f2e50
Update ical4android (enable relaxed valiation of email addresses); bump version to 4.2.3.4-rc.2
2022-09-19 16:35:02 +02:00
Ricki Hirner
c517c9c3b5
Bump version to 4.2.3.4-rc1
2022-09-19 16:35:01 +02:00
Ricki Hirner
757c01c186
Update dependencies (including ical4android to address Kiev/Kyiv bug)
...
See https://github.com/bitfireAT/davx5-ose/discussions/133
2022-09-19 16:35:01 +02:00
Ricki Hirner
97eb45ec12
Fetch translations from Transifex
2022-09-08 22:04:35 +02:00
Ricki Hirner
d7102f94bd
Version bump to 4.2.3.3
2022-09-08 22:03:43 +02:00
Ricki Hirner
cf76cc16ce
Update ical4android
2022-09-08 22:03:43 +02:00
Sunik Kupfer
78e4cbe06d
roll back commons-io to 2.8.0 for API levels <26 ( closes bitfireAT/davx5#130 )
2022-09-07 12:23:12 +02:00
Ricki Hirner
f47adbef4a
Wrap GrantPermissionRule into InitCalendarProviderRule
...
Closes bitfireAT/davx5#127
2022-08-31 17:16:56 +02:00
Sunik Kupfer
94c9f869c9
Generate new filename if invalid for upload ( closes bitfireAT/davx5#110 )
...
* use random UUID instead of UID as upload file name if UID would be dangerous
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-08-31 17:16:54 +02:00
Ricki Hirner
ee993a8557
Rename "standard" flavor to "ose"
2022-08-31 17:12:25 +02:00
Ricki Hirner
03deb4191a
Bump version to 4.2.3.2
2022-08-29 15:07:51 +02:00
Ricki Hirner
b5c16ddbd4
Fetch translations from Transifex
2022-08-29 15:07:50 +02:00
Ricki Hirner
f054ab43b9
Update ical4android
2022-08-29 15:07:49 +02:00
Ricki Hirner
aeb4541eb9
Version bump to 4.2.3.1
2022-08-24 16:56:19 +02:00
Ricki Hirner
7144b963e4
Version bump to 4.2.3.1-rc1
2022-08-23 22:00:08 +02:00
Ricki Hirner
f38e7b2dab
Update hilt and ical4android (ical4android had dependency that caused JSONObject problem in release builds)
2022-08-23 21:51:54 +02:00
Ricki Hirner
62912dc83a
Add F-Droid changelog
2022-08-23 12:01:17 +02:00
Ricki Hirner
acc3ca1b4c
Version bump to 4.2.3
2022-08-23 11:36:32 +02:00
Ricki Hirner
fec8eae9d0
Update dependencies, including ical4android
2022-08-19 12:39:32 +02:00
Ricki Hirner
885035fadf
Update dependencies
2022-08-19 12:39:32 +02:00
Sunik Kupfer
e5604118fd
confirmation dialog for removing webdav mount (closes bitfireAT/davx5#47) ( #119 )
...
* confirmation dialog for removing webdav mount
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-08-19 12:39:32 +02:00
Ricki Hirner
20e79e49b3
Rename notification for external file logging
2022-08-15 12:41:50 +02:00
Ricki Hirner
b3e0cef0a6
Fix Android10ResolverTest when IPv6 is the primary address type
2022-08-15 12:41:49 +02:00
Michael Biebl
7bb97ffa31
Remove unused colors ( #110 )
...
They are a left over from
commit 12802f8697 and the incomplete
removal in commit 054f1ece61
2022-08-10 17:09:35 +02:00
Ricki Hirner
fbb7c6d161
Update dav4jvm, gradle plugin
2022-08-08 20:52:03 +02:00
Ricki Hirner
4f143318da
Update dependencies and ical4android
2022-07-28 15:12:34 +02:00
Ricki Hirner
8aefab65f6
Update dependencies
2022-07-28 15:01:23 +02:00
Ricki Hirner
38c40d9466
Add authors
2022-06-21 14:45:14 +02:00
Sunik Kupfer
5daae1b74d
Update F-Droid changelog
2022-06-21 12:50:25 +02:00
Sunik Kupfer
8c22b4ed3b
Version bump to 4.2.2
2022-06-21 12:35:05 +02:00
Sunik Kupfer
dc94791637
etch translations from Transifex
2022-06-21 12:09:04 +02:00
Sunik Kupfer
d2c0a2bb44
use findActivity() provided by hilt (closes bitfireAT/davx5#106) ( #107 )
...
* use FragmentComponentManagers findActivity method provided by hilt (closes bitfireAT/davx5#106 )
* WebCalFragment CalendarViewHolder: Pass Fragment instead of FragmentManager so that requireActivity() can be used
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-06-21 12:05:43 +02:00
Patrick Lang
c90e0bf085
Removed update related to from JtxSyncManager ( #92 )
...
* Removed update related to from JtxSyncManager
updateRelatedTo is now done implicitely in the sync content provider for every inserted or updated icalobject/relatedto
* Update ical4android
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-06-21 12:04:12 +02:00
Sunik Kupfer
2e6ce88c58
non-flaky tests ( #103 )
...
* [WIP] initialization code to make tests non-flaky
* init code as junit rule and remove flaky annotations
* remove exception for flaky tests in Github test workflow
* ensure correct class rule execution order
2022-06-21 12:02:28 +02:00
Patrick Lang
5b0788b2e9
Don't set account visibility if it was already visible ( #102 )
2022-06-21 11:55:59 +02:00
Ricki Hirner
f813392c72
Version bump to 4.2.1.2-alpha.3
2022-05-30 14:49:47 +02:00
Ricki Hirner
bd7d6c7b4d
AccountSettings: handle address book accounts ( #101 )
...
* AccountSettings: handle address book accounts (fixes: address books are not synced because of IllegalArgumentException)
* Tests (not finished)
2022-05-30 14:49:47 +02:00
Ricki Hirner
0e93a47d6d
Version bump to 4.2.1.2-alpha.2
2022-05-29 15:03:37 +02:00
Ricki Hirner
99325e8930
Sync adapter: improve HttpClient and cancellation ( #100 )
...
* Sync adapter: share single HttpClient between all SyncManagers (should fix bitfireAT/davx5#99 )
* HttpClient: use producer for CertManager
* Call setAccountVisibility only when necessary
* Fix tests
2022-05-29 15:03:36 +02:00
Ricki Hirner
0a11a0bcfc
Don't set up periodic syncs for contacts sync of the address book acc… ( #97 )
...
Don't set up periodic syncs for contacts sync of the address book accounts (fixes bitfireAT/davx5#96 )
2022-05-29 15:02:17 +02:00
Ricki Hirner
f3c79367ef
Version bump to 4.2.1.2-alpha.1
2022-05-29 15:01:57 +02:00
Ricki Hirner
25ea4fc2ca
Create SECURITY.md
2022-05-28 20:06:35 +02:00
Ricki Hirner
4dfebe4355
Hilt: use intro OpenSourceFragment
2022-05-28 19:19:43 +02:00
Ricki Hirner
b51d18a659
Use Hilt instead of Koin ( #93 )
...
* Use Hilt for DI
* Use Hilt for settings providers
* Use Hilt for login credentials fragment
* Use Hilt instead of ServiceLoader for intro fragments
* Rewrite from Koin to Hilt
* Tests
* Use more Hilt modules for service loading (account drawer, intro fragments)
* Lint
* WebDAV provider: don't listen to changes in onCreate (causes problems with Hilt and tests)
2022-05-28 11:05:35 +02:00
Ricki Hirner
07ba158e66
Fix network security policy with tests
2022-05-27 14:36:25 +02:00
Patrick Lang
338d0d4691
Moved jtx Board in TaskProvider selection to first position ( #94 )
2022-05-27 14:35:59 +02:00
Bernhard Stockmann
7f58e3e4a8
Update images, add video URL ( #49 )
...
* Update images, add video URL
* Video without ab_channel
2022-05-26 12:05:11 +02:00
Michael Biebl
b71452195e
Remove duplicate copyright header ( #46 )
2022-05-23 11:31:47 +02:00
Ricki Hirner
cf3be750d0
Fetch translations from Transifex
2022-05-22 23:50:22 +02:00
Ricki Hirner
212392e78c
Version bump to 4.2.1.1
2022-05-22 23:49:45 +02:00
Sunik Kupfer
ddae93c225
Add mocck dependency for tests
2022-05-22 23:48:00 +02:00
Ricki Hirner
1f4a25e4a4
Use Koin for all tests; CI: run tests for all flavors ( #91 )
...
Closes bitfireAT/davx5#89
2022-05-22 18:56:47 +02:00
Ricki Hirner
84f55bc39a
Fix Android10Resolver test (requires Android 10 instead of 8)
2022-05-12 10:46:49 +02:00
Ricki Hirner
8384730aff
Refactor some models to use proper constructors instead of custom initialize() methods
2022-05-12 10:46:49 +02:00
Ricki Hirner
8ca3d857d3
Use Koin Dependency Injection for Singletons ( #84 )
2022-05-12 10:46:48 +02:00
Ricki Hirner
12cc2cfcde
Update submodules
2022-05-12 10:39:28 +02:00
Ricki Hirner
7d424183a8
Update gradle plugin, Kotlin, AndroidX Material
2022-05-12 10:39:26 +02:00
Ricki Hirner
d3c10c36b0
CI: create Github release for new tags
2022-05-05 15:21:57 +02:00
Ricki Hirner
f37f3e5104
Bump version to 4.2.1
2022-05-05 14:25:38 +02:00
Ricki Hirner
541f51f77e
Version bump to 4.2.1-rc.2
2022-04-29 16:03:59 +02:00
Ricki Hirner
9bc4b0a837
Fetch translations from Transifex
2022-04-25 14:52:53 +02:00
Ricki Hirner
f31c3cab3d
Move EarnBadgesActivity strings to gplay
2022-04-25 14:50:35 +02:00
Ricki Hirner
776adedfbf
Version bump to 4.2.1-rc.1
2022-04-25 14:25:36 +02:00
Ricki Hirner
054f1ece61
Setup intent filter ( #80 )
...
* Add intent filter for caldav(s)://, carddav(s):// and davx5:// schemes
* Define intent-filter only for standard and gplay flavors
* Merge manifest; remove Espresso tests (further tests should be added)
* Lint
Closes bitfireAT/davx5#77
2022-04-25 14:25:02 +02:00
Ricki Hirner
eaea4936d7
ical4android: don't crash on RDATEs with PERIOD
2022-04-25 14:20:51 +02:00
Ricki Hirner
6b98088922
Update dav4jvm
2022-04-24 10:38:17 +02:00
Ricki Hirner
5d61487a85
Rename at.bitfire.davdroid.model to at.bitfire.davdroid.db to make clear it contains database models (and not view models)
2022-04-24 10:38:17 +02:00
Ricki Hirner
d4b82d37be
Version bump to 4.2.1-beta.2
2022-04-21 21:18:32 +02:00
Ricki Hirner
ffea72bc7c
Update dav4jvm for improved service compatibility
2022-04-21 21:18:08 +02:00
Ricki Hirner
f4b157a101
Server handles only tasks not jouranls ( #79 )
...
* Service detection: update properties of already existing collections which are not in homesets
* Trigger service detection after creating a collection because the server may change properties
* jtx sync: query tasks/journals only when supported
Should fix bitfireAT/davx5#78
2022-04-20 17:57:11 +02:00
Ricki Hirner
c283691399
jtx Board sync: show whether VTODO and/or VJOURNAL components are supported by a collection; update ical4android
2022-04-20 17:57:09 +02:00
Ricki Hirner
e2c48df68f
Version bump to 4.2.1-beta.1
2022-04-15 12:22:42 +02:00
Ricki Hirner
40941f9bce
Move file, update gradle and plugin
2022-04-15 12:12:17 +02:00
Sunik Kupfer
12802f8697
Mirror changes in AccountsDrawerHandler
...
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-04-15 12:01:09 +02:00
Michael Biebl
3c0a26bb0c
Preferences ( #25 )
...
* Set InputType for proxy_host and proxy_port programmatically
Since AndroidX it is no longer sufficient to simply specify
android:inputType in settings_app.xml.
* Drop custom IntEditTextPreference.kt
Doesn't appear to be necessary anymore.
2022-04-11 11:24:24 +02:00
Ricki Hirner
08dfa3f048
Fetch translations from Transifex
2022-03-23 18:09:47 +01:00
Ricki Hirner
cd4aa0891b
ical4android fix; raise SDK level to 32; bump version to 4.2.0.3
2022-03-23 18:09:02 +01:00
Patrick Lang
c8723d0f64
propagate privWriteContent as read only collection ( #71 )
2022-03-23 18:08:34 +01:00
Ricki Hirner
5ee6e57b03
Fetch translations from Transifex
2022-03-22 13:10:56 +01:00
Ricki Hirner
48bd99e0b6
Version bump to 4.2.0.2
2022-03-22 13:05:23 +01:00
Ricki Hirner
ab806e458a
vcard4android: contact photo improvements
2022-03-22 12:55:42 +01:00
Ricki Hirner
2c785684a2
Navigation drawer: update Community
2022-03-20 20:26:45 +01:00
Ricki Hirner
522fc8763f
Fetch translations from Transifex
2022-03-20 20:26:17 +01:00
Ricki Hirner
df08cf6074
Version bump to 4.2.0.1
2022-03-20 20:25:32 +01:00
Ricki Hirner
763da2221c
Contact photos: always output JPEG (vcard4android); sync: query max-resource-size (at the moment only for debugging)
2022-03-20 20:25:14 +01:00
Ricki Hirner
850b1f54a8
vcard4android: better handling of (invalid) photos; reduce RAM usage by reducing sync threads a bit
2022-03-19 18:44:53 +01:00
Ricki Hirner
f24c591283
F-Droid changelogs
2022-03-18 11:05:04 +01:00
Ricki Hirner
b8d83cf46f
Fetch translations from Transifex
2022-03-18 10:36:21 +01:00
Ricki Hirner
ec7d59a46b
Version bump to 4.2
2022-03-18 10:36:05 +01:00
Ricki Hirner
66ebe4f224
Update dav4jvm ( fixes bitfireAT/davx5#69 )
2022-03-18 10:35:44 +01:00
Ricki Hirner
abb60a4331
Fetch translations from Transifex
2022-03-16 14:43:44 +01:00
Ricki Hirner
4950a2390d
Version bump to 4.2-rc.1
2022-03-16 14:43:43 +01:00
Ricki Hirner
49ba32e64f
Update dependencies
2022-03-16 14:43:43 +01:00
Ricki Hirner
da5ff1ea39
Move OnAccountsUpdateListener to App (may fix bitfireAT/davx5#45 )
2022-03-16 14:43:43 +01:00
Ricki Hirner
da4b5cf143
DebugInfo: provide IntentBuilder that truncates large logs/local resource dumps (should fix bitfireAT/davx5#69 )
2022-03-16 14:43:42 +01:00
Ricki Hirner
248dd6fdb3
Update dependencies (including vcard4android with new photo handling)
2022-03-16 14:43:42 +01:00
Ricki Hirner
979123b9ef
Add option to select detected collections for synchronization automatically
2022-03-16 14:43:37 +01:00
Sunik Kupfer
7367477ebe
Add option to use socks proxy for orbot (closes bitfireAT/davx5#28) ( #64 )
...
* Add option to use SOCKS proxy for Orbot
* Fix tests, add constants
* Add option for "no proxy", add migration
* Improve UI
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-03-09 12:51:31 +01:00
Ricki Hirner
8fb9b3a86e
Update dependencies; bump version to 4.2.0-beta.1
2022-03-06 11:47:39 +01:00
Sunik Kupfer
a7779ca6c3
billing and play dependencies (bitfireAT/davx5#62) ( #63 )
...
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-03-06 11:47:29 +01:00
Ricki Hirner
73a7b718e2
Update dependencies; version bump to 4.2.0-alpha.3
2022-03-06 11:44:12 +01:00
Patrick Lang
4084dc36a2
Updated queryCapabilities to use the same code as in TasksSyncManager, added try-catch block for sync-method ( #60 )
...
* Updated queryCapabilities to use the same code as in TasksSyncManager
Might solve #59
* Added try-catch block for sync-method
updated min version for JtxBoard in TaskProvider.kt
Should solve #59
* removed syncResult.databaseError = true
* Changed wrong file before
* Created TasksSyncUtils to put notifyProviderTooOld method
* Cleaned up imports
* Added Version check in JtxSyncAdapterService.kt, required TaskProvider.checkVersion to be public
* Minor changes
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-03-06 11:41:33 +01:00
Ricki Hirner
7534fe689b
Update ical4android
2022-03-06 11:41:33 +01:00
Ricki Hirner
955c09d518
Update gradle plugin and build tools
2022-03-06 11:41:28 +01:00
Ricki Hirner
7493d1eda8
Version bump to 4.2.0-alpha.2
2022-02-24 11:15:42 +01:00
Ricki Hirner
ff3b5f50af
Update ical4android to fix problem with Jtx Board relations
2022-02-24 11:15:26 +01:00
Ricki Hirner
1554c6ae1c
Version bump to 4.2.0-alpha.1; update dependencies
2022-02-09 13:43:57 +01:00
Patrick Lang
16311708f8
Jtx Board synchronization ( #56 )
...
Support tasks and notes synchronization with Jtx Board
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-02-09 13:43:17 +01:00
Ricki Hirner
6ab291bdb2
Update gradle plugin
2022-02-09 13:42:37 +01:00
Ricki Hirner
19be3c34bd
Version bump to 4.1.1; add F-Droid changelog
2022-02-01 11:00:55 +01:00
Ricki Hirner
64bd373611
Fetch translations from Transifex
2022-02-01 10:46:14 +01:00
Ricki Hirner
b2a5a1b1f3
Version bump to 4.1.1-rc.1
2022-01-28 17:06:26 +01:00
Ricki Hirner
6af033a351
Avoid UninitializedPropertyAccessException when accessing collectionURL for logging the sync
2022-01-27 14:11:20 +01:00
Ricki Hirner
1532fab49e
Use asSyncAdapter() for calendar provider URIs
2022-01-27 12:18:09 +01:00
Ricki Hirner
62af6f45ab
Update gradle plugin
2022-01-27 12:18:09 +01:00
Ricki Hirner
2ec33002c8
Version bump to 4.1.1-beta1
2022-01-24 11:23:51 +01:00
Ricki Hirner
81aa95223f
Fetch translations from Transifex
2022-01-24 11:14:50 +01:00
Ricki Hirner
c1125a5bd0
Update dependencies
2022-01-24 11:14:22 +01:00
Sunik Kupfer
7593229623
Delete dirty events without instances before syncing
...
Delete dirty events without instances before syncing (resolves bitfireAT/davx5#34 )
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-01-22 10:55:32 +01:00
Ricki Hirner
87725a3b5d
Show a warning when disk space is low, which will stop synchronization ( resolves bitfireAT/davx5#44 )
2022-01-17 18:22:45 +01:00
Ricki Hirner
708c80fa0a
Update cert4android and vcard4android (only copyright)
2022-01-13 14:18:23 +01:00
Ricki Hirner
6c34737cbc
Fix that foreground service notification was always shown (fix for bitfireAT/davx5#32 )
2022-01-13 14:18:23 +01:00
Sunik Kupfer
989cb1fd99
Fix foreground service start not allowed exception ( resolves bitfireAT/davx5#32 )
...
* Make "Battery optimization whitelisting" a global DAVx5 setting
* Make "Keep in foreground" setting dependent of "Battery optimization whitelisting" setting
* if foreground service is enabled, remind user to enable battery optimization whitelisting too, before starting the foreground service
Co-authored-by: Ricki Hirner <hirner@bitfire.at >
2022-01-13 14:18:23 +01:00
Sunik Kupfer
c9b88b0c73
Update ical4j (Closes bitfireAT/davx5#37) ( #43 )
2022-01-13 14:18:23 +01:00
Ricki Hirner
161157a37c
Fetch translations from Transifex
2022-01-05 16:20:12 +01:00
sunkup
9ac05f4f51
Add warning to avoid apostrophes in account names
...
Add warning to avoid apostrophes in account names. Resolves bitfireAT/davx5#5
2022-01-05 16:18:45 +01:00
sunkup
ed08cc8d15
update dependencies ( #33 )
2022-01-04 12:38:01 +01:00
Ricki Hirner
197432a245
README: Add Twitter and Website
2021-12-30 19:22:59 +01:00
Ricki Hirner
32d215b3a4
Add F-Droid changelog
2021-12-26 13:41:42 +01:00
Ricki Hirner
d08a1ec737
Version bump to 4.1; update vcard4android
2021-12-20 17:48:13 +01:00
Ricki Hirner
ccd738b4ff
Update vcard4android: always add FN (also for vCard4)
2021-12-20 17:47:57 +01:00
Ricki Hirner
985dcf09d3
Fetch translations from Transifex
2021-12-16 13:37:18 +01:00
Ricki Hirner
2b940bfcd7
Version bump to 4.1-rc.1
2021-12-16 13:36:55 +01:00
Ricki Hirner
22e4c75064
WebDAV mounts: add empty view manual link ( resolves bitfireAT/davx5#29 ); update dependencies
2021-12-16 13:36:38 +01:00
Ricki Hirner
c7fd893b31
Update copyright ( resolves bitfireAT/davx5#26 )
2021-12-15 17:55:00 +01:00
Ricki Hirner
ac7e717cde
WebDAV mounts activity: add Help icon
2021-12-15 17:48:30 +01:00
Ricki Hirner
0009429b68
Update dependencies
2021-12-12 16:50:53 +01:00
Ricki Hirner
4b49df77ed
Update room, version bump to 4.1-alpha.3
2021-12-03 16:57:09 +01:00
Ricki Hirner
3c6d1172cf
Optimize singletons and companion objects ( resolves bitfireAT/davx5#25 )
2021-12-03 16:57:09 +01:00
Ricki Hirner
6960a48021
Change static singletons to cached singletons with weak references to save memory when the objects are not needed anymore
2021-12-03 15:46:29 +01:00
Ricki Hirner
54d1b5ec2e
Refactor WebDAV cache
2021-12-03 15:46:29 +01:00
Ricki Hirner
99ecfb1ca3
WebDAV mounts: add empty view; add navigation drawer entry for Managed DAVx5 ( closes bitfireAT/davx5#23 )
2021-12-03 15:46:09 +01:00
Ricki Hirner
f1a441c27d
WebDAV: accept compliance class 2 or 3 ( closes bitfireAT/davx5#21 ); fix division by zero in progress
...
- WebDAV service detection: accept compliance class 2 or 3, because they both imply class 1 (there are servers which don't show class 1 although they MUST)
- WebDAV random access: fix division by zero when file size reported by HEAD is zero
2021-12-03 15:45:31 +01:00
Ricki Hirner
56c7d2d73f
Remove dokka because the generated documentation isn't used by anybody; fix dav4jvm reference
2021-11-27 18:07:12 +01:00
Ricki Hirner
be98bef4ab
Sync adapter: add tests, move check of simultaneous running syncs to new ConcurrentUtils
2021-11-23 14:34:25 +01:00
Ricki Hirner
1747cb2896
Update dependencies
2021-11-23 14:31:34 +01:00
Ricki Hirner
c82d5cb1b4
WebcalModel: get rid of extra WorkerThread + Handler (were not stopped when fragment was closed)
2021-11-22 19:48:28 +01:00
Ricki Hirner
f1de88a0f1
Android10Resolver: add test
2021-11-19 22:45:52 +01:00
Ricki Hirner
a280de73a3
Update cert4android and vcard4android (only README changes); Android10Resolver: use empty JVM object instead of UUID as handle
2021-11-19 14:41:32 +01:00
Michael Biebl
489e09ea08
Drop AboutInfo override for dav4jvm
...
With the recent move to GitHub, the AboutInfo override for dav4jvm was
broken as it still used com_gitlab_bitfireAT__dav4jvm whereas it is now:
```
$ ./gradlew findLibraries | grep dav4jvm
bitfireAT/dav4jvm (f1d9354a41) -> com_github_bitfireAT__dav4jvm
Manually requested license: mpl_2_0
```
Since the autogenerated dav4jvm AboutInfo looks fine (see attached
screenshot), remove the override.
2021-11-19 11:58:08 +01:00
Michael Biebl
3403992c8b
Fix cert4android project URL
...
Follow-up for commit 331c102992
2021-11-19 11:52:40 +01:00
Ricki Hirner
9418b4f2a5
Temporarily disable jCard because of nextcloud/server#29693 , version bump to 4.1-alpha.3
2021-11-13 13:56:42 +01:00
Ricki Hirner
26b4824124
Small Android10Resolver improvements
2021-11-13 13:56:19 +01:00
Ricki Hirner
2eeb1be833
DiskCacheTest: fixes another possible reason why tests may fail?
...
(trim deletes the files in modification time order, so if two files have the same
modification time, the order is not well-defined)
2021-11-13 11:09:50 +01:00
Ricki Hirner
db77f43931
Bump version to 4.1-alpha.2
2021-11-12 22:23:36 +01:00
Ricki Hirner
d96e311e8b
Improve SRV record resolving ( resolves bitfireAT/davx5#18 )
...
- Android 8 to 10: use all DNS servers; prioritize resolvers of active connections
(before: use only DNS servers of "active" connection, which may be a VPN connection without servers)
- Android 10+: use new DnsResolver API so that we don't need to know DNS servers anymore (also supports DoT etc.)
2021-11-12 22:23:09 +01:00
Ricki Hirner
952a10fb3d
WebDAV cache: fix problem that sometimes the tests fail
2021-11-12 01:13:03 +01:00
Ricki Hirner
09384948b5
Github issues: add link to forum; add sponsorships
2021-11-10 13:02:48 +01:00
Ricki Hirner
0a17169a8b
Update gradle and dependencies
2021-11-08 09:56:14 +01:00
Ricki Hirner
331c102992
Move to Github
2021-11-07 21:18:08 +01:00
Ricki Hirner
5de0718210
Update dependencies (including dav4jvm on Github instead of Gitlab)
2021-11-06 10:17:55 +01:00
Ricki Hirner
2504a81024
jCard: check MIME type from server; use MediaType for MIME types when possible
2021-11-05 01:38:59 +01:00
Ricki Hirner
ede9e1cf55
CI: use container from ghcr.io
2021-11-04 10:30:35 +01:00
Michael Biebl
cd1b14889b
Properly cancel NOTIFY_REFRESH_COLLECTIONS error notifications
...
When displaying the notification, we use serviceId as tag, so use
serviceId as well when cancelling it.
2021-10-22 12:56:36 +00:00
Ricki Hirner
d8fa5d4979
Version bump to 4.1-alpha.1
2021-10-22 14:52:05 +02:00
Ricki Hirner
563b131211
Support jCard ( closes #11 )
2021-10-22 14:51:41 +02:00
Ricki Hirner
201719af1a
Debug info: show available/total storage memory ( closes #10 )
2021-10-21 07:10:47 +02:00
Ricki Hirner
290e73229b
Update dependencies
2021-10-17 16:06:15 +02:00
Ricki Hirner
265d899d2c
WebDAV: always return MIME type; change cached file size/modification time after successful upload
2021-10-15 12:38:18 +02:00
Ricki Hirner
7d4a5863b3
Update gradle plugin
2021-10-14 18:16:06 +02:00
Ricki Hirner
265d75b290
Add F-Droid release notes
2021-10-11 16:57:50 +02:00
Ricki Hirner
918c2647da
Version bump to 4.0
2021-10-10 13:53:45 +02:00
Ricki Hirner
1bf66770ef
Version bump to 4.0-beta3
2021-10-07 21:50:19 +02:00
Ricki Hirner
75bd04e882
CardDAV KIND/MEMBER: always download group vCards after uploading them to keep groups in sync with server
2021-10-07 21:50:04 +02:00
Ricki Hirner
566d10ef8d
Add time zone to debug info
2021-10-06 13:57:22 +02:00
Ricki Hirner
a10b1153ea
Improve group assignment
2021-10-05 12:29:10 +02:00
Ricki Hirner
5b6a0a8114
Comments, version bump to 4.0-beta3
2021-10-05 10:19:39 +02:00
Ricki Hirner
e8fb6becf9
Fix Room crash and group processing performance problem
2021-10-05 10:08:14 +02:00
Ricki Hirner
f7eea633fb
WebDAV: fix random access without DocumentState; add tests
2021-10-04 19:09:47 +02:00
Ricki Hirner
e22928eeea
Fetch translations from Transifex
2021-10-04 17:42:43 +02:00
Ricki Hirner
be63957507
Version bump to 4.0-beta2
2021-10-04 17:42:43 +02:00
Ricki Hirner
764102ae6e
vCard4-groups: apply pending memberships after a contact has been downloaded again
2021-10-04 14:35:31 +02:00
Ricki Hirner
459cb538d7
GroupMembershipHandler: ignore memberships in groups that don't exist (anymore)
2021-10-04 11:20:19 +02:00
Ricki Hirner
9ee2930312
WebDAV: Add permanent notification to hopefully avoid being killed because of "excessive cpu usage"
2021-10-04 11:08:50 +02:00
Ricki Hirner
5161fad251
WebDAV: optimize cache
2021-10-03 12:51:33 +02:00
Ricki Hirner
a42517e1ed
Improve WebDAV UI
2021-10-02 18:54:43 +02:00
Ricki Hirner
231e54db4f
Lint
2021-09-29 13:40:36 +02:00
Ricki Hirner
6e502ae8dc
Squashed commit of the following:
...
commit 56f5f5a6cbad595534148a160678972734ca6cf2
Author: Ricki Hirner <hirner@bitfire.at >
Date: Wed Sep 29 10:59:23 2021 +0200
Version bump to 4.0-beta1
commit 2a4d7501d9d6cd572269de21e82c204c5a2a57e8
Author: Ricki Hirner <hirner@bitfire.at >
Date: Tue Sep 28 21:45:49 2021 +0200
Fix UiUtils.launchUri once again
commit 293accaf8f26842d198e9d5c4fc9029cb6ac71cc
Author: Ricki Hirner <hirner@bitfire.at >
Date: Tue Sep 28 13:47:06 2021 +0200
Adjust gradle daemon heap size
commit 7763a51c9bbc7baee36ef71648889f7fb4fe965d
Author: Ricki Hirner <hirner@bitfire.at >
Date: Tue Sep 28 12:21:37 2021 +0200
Query and show quota
commit 95f4dbfd8ffadd930aab9fc36dc3865bfee54fb7
Author: Ricki Hirner <hirner@bitfire.at >
Date: Mon Sep 27 22:16:48 2021 +0200
Persist cookies over WebDAV sessions
commit 17c9327eb3ef3d9384b28b70aa9637718d34e8a2
Author: Ricki Hirner <hirner@bitfire.at >
Date: Sun Sep 26 19:54:57 2021 +0200
Add WebDAV caches
* add random access page cache
* add thumbnail cache
* add HEAD response cache
commit 0e5237f8b178ab66099999f72e657c59c9302d71
Author: Ricki Hirner <hirner@bitfire.at >
Date: Tue Aug 31 13:25:36 2021 +0200
Add WebDAV Access over Storage Access Framework
2021-09-29 11:04:44 +02:00
Ricki Hirner
da7d1e1ec6
UiUtils: fix wrong "Please install a browser" message
2021-09-29 11:04:00 +02:00
Ricki Hirner
1a13fbbff4
ical4android: fix attendee problem; version bump to 3.4.1-beta1
2021-09-11 15:02:03 +02:00
Ricki Hirner
425a88f6f7
Fetch translations from Transifex
2021-09-09 19:31:34 +02:00
Ricki Hirner
3afc7c8dbc
Version bump to 3.4.0.1
2021-09-09 19:31:17 +02:00
Ricki Hirner
a6854f2461
Merge branch 'dev-3.x-ose' of gitlab.com:bitfireAT/davx5-ose into dev-3.x-ose
2021-09-09 16:35:19 +02:00
Ricki Hirner
fc574f5853
lint
2021-09-09 16:34:52 +02:00
rhi
12a85cbf60
Merge branch 'dev-3.x-ose' into 'dev-3.x-ose'
...
add app icon to Fastlane
See merge request bitfireAT/davx5-ose!62
2021-09-08 07:56:14 +00:00
Ricki Hirner
e0e69d3ffd
Collection list: migrate to Paging3
2021-09-07 23:04:28 +02:00
Hans-Christoph Steiner
17430ab9d1
add app icon to Fastlane
2021-09-07 17:25:07 +02:00
Ricki Hirner
3e77b3ab1b
SyncManager syncRemote: use main dispatcher for outer coroutine
2021-09-01 18:03:02 +02:00
Ricki Hirner
700ced1701
Simplify checking of duplicated sync calls (don't use WeakReference but locks instead)
2021-09-01 18:03:02 +02:00
Ricki Hirner
d8a70ca30c
ProGuard rules: XmlPullParser
2021-08-31 15:08:17 +02:00
Ricki Hirner
57f11f84c9
Update Gitlab CI
2021-08-31 14:24:03 +02:00
Ricki Hirner
660daf6573
Fetch translations from Transifex
2021-08-31 13:47:54 +02:00
Ricki Hirner
ad657dfad7
Version bump to 3.4
2021-08-31 13:47:19 +02:00
Ricki Hirner
bc8d9b5b8c
Update Gitlab CI
2021-08-26 18:22:20 +02:00
Ricki Hirner
925bc6a7b0
Update dav4jvm; group strategy: passing LocalAddressBook instead of ContactSyncManager is enough
2021-08-26 18:22:20 +02:00
Ricki Hirner
514dfdae80
Location permission for SSID restriction: make clear that "precise" location is required in Android 12+
2021-08-26 12:47:20 +02:00
Ricki Hirner
12a08b4a0b
Update dependencies
2021-08-25 17:54:05 +02:00
Ricki Hirner
52c1a69ac6
Version bump to 3.4-beta3
2021-08-23 12:02:14 +02:00
Ricki Hirner
87fdb06fc9
Version bump to 3.4-beta2
2021-08-23 11:08:17 +02:00
Ricki Hirner
450368bd0e
Use ThreadPoolExecutor with dynamic number of threads as global sync work dispatcher
2021-08-23 11:08:01 +02:00
Ricki Hirner
bf18d02715
Raise SDK level to 31 (Android 12); explicitly make components with intent-filters (not) exported
2021-08-23 11:08:01 +02:00
Ricki Hirner
43086f3cb9
Fetch translations from Transifex
2021-08-22 20:45:42 +02:00
Ricki Hirner
8973054e85
Version bump to 3.4-beta1
2021-08-22 20:44:48 +02:00
Ricki Hirner
8069657238
Fix tests
2021-08-22 18:50:36 +02:00
Ricki Hirner
9ecb02a059
Update SyncManager test
2021-08-22 15:12:33 +02:00
Ricki Hirner
5307333fcf
CardDAV: add tests for new data handlers/builders (also relevant for contact groups)
2021-08-22 14:40:39 +02:00
Ricki Hirner
2700ac51da
Refactor group handling
2021-08-22 14:40:39 +02:00
Ricki Hirner
7356a4152f
Manage worker threads in Sync*Service, not in SyncManager
2021-08-22 14:40:39 +02:00
Ricki Hirner
1c356c1e17
Use strategies to handle contact groups (decouple from ContactsSyncManager)
2021-08-22 14:40:39 +02:00
Ricki Hirner
5feb9d658f
Fetch translations from Transifex
2021-07-31 11:33:37 +02:00
Ricki Hirner
1259a8ae0d
Version bump to 3.3.13-beta1
2021-07-31 11:33:01 +02:00
Ricki Hirner
6dd6833446
Better support for vCard contact dates and other properties (great rewrite of vcard4android)
2021-07-31 11:32:39 +02:00
Ricki Hirner
bf1d3ef624
Remove onClick from layout XMLs
2021-07-29 13:08:50 +02:00
Ricki Hirner
9d77b54d89
Update gradle
2021-07-29 11:16:46 +02:00
Ricki Hirner
e580dceb65
AboutActivity: update copyright string to mention contributors
2021-07-26 12:51:28 +02:00
Ricki Hirner
6a9f31d3f0
Use new Flexbox repo
2021-07-25 15:52:54 +02:00
Ricki Hirner
12c1d99a2e
Update dependencies, including ical4android
2021-07-25 11:41:01 +02:00
Ricki Hirner
d8ab4ffddd
Debug info: attach logcat by default; ical4android: don't crash on too large strings when dumping objects
2021-07-22 21:24:31 +02:00
Ricki Hirner
265d086301
Use ./fetch-translations instead of "tx pull" again (also fetches translators)
2021-07-22 16:02:07 +02:00
Ricki Hirner
3a1844d5b5
Transifex: use "tx pull" instead of scripts/fetch-translations.sh from now on
2021-07-20 13:19:49 +02:00
Ricki Hirner
189d7a31d8
Version bump to 3.3.12
2021-07-18 11:35:04 +02:00
Ricki Hirner
5e49d9c191
Version bump to 3.3.12-rc1
2021-07-16 01:51:55 +02:00
Ricki Hirner
f7a176513a
Improve AutoComplete fields, especially in AppCompatDelegate-set dark mode
2021-07-16 01:50:37 +02:00
Ricki Hirner
0da5a967b9
Fetch translations from Transifex
2021-07-14 16:32:01 +02:00
Ricki Hirner
b39321d033
Update cert4android translations
2021-07-14 16:28:44 +02:00
Ricki Hirner
a84b8a5a65
Version bump to 3.3.12
2021-07-14 16:28:43 +02:00
Ricki Hirner
dbd0dd0a9b
Lint cleanup
2021-07-12 13:40:13 +02:00
Ricki Hirner
267e73723c
Version bump to 3.3.12-beta3
2021-07-12 12:49:16 +02:00
Ricki Hirner
42be478ab6
Update test dependencies
2021-07-12 12:42:56 +02:00
Ricki Hirner
ed76789417
AccountsActivity: use model for data/view separation
2021-07-12 12:36:08 +02:00
Ricki Hirner
ee48c41259
Fetch translations from Transifex
2021-07-08 14:38:49 +02:00
Ricki Hirner
137a916b20
Version bump to 3.3.12-beta2
2021-07-08 14:31:48 +02:00
Ricki Hirner
a7abb34fbe
Update dependencies
2021-07-08 14:18:55 +02:00
Ricki Hirner
47d317bce9
Create address book/calendar: set error on TextInputLayout instead of TextInputEditText, optimize layout
2021-07-08 11:16:58 +02:00
Ricki Hirner
b918b49ec2
Provide auto-completion for some common base URLs
2021-07-06 20:51:22 +02:00
Ricki Hirner
235b9b1ac6
Change remaining Spinners to AutoCompleteTextInput fields; update dependencies
2021-07-06 20:51:22 +02:00
Ricki Hirner
663957b7dc
Rewrite HomeSetAdapter so that it uses a Material-style text field instead of an old-style Spinner that doesn't work with dark mode anymore
2021-07-02 00:32:15 +02:00
Ricki Hirner
23235991d2
Log last sync time for each collection
2021-07-02 00:32:15 +02:00
Ricki Hirner
b94935db50
SyncManager: remove unused code
2021-06-29 19:30:32 +02:00
Ricki Hirner
6cd2af292d
Fetch translations from Transifex
2021-06-29 19:11:37 +02:00
Ricki Hirner
51ee39c4f0
Version bump to 3.3.12-beta1
2021-06-29 19:11:37 +02:00
Ricki Hirner
ed722d574e
SyncManager: don't create worker threads when not necessary; shut Executor down after using it
2021-06-29 19:11:37 +02:00
Ricki Hirner
2d388eb3ff
Debug info activity: create separate card for archive, provide UI feedback for archive generation
2021-06-25 18:08:47 +02:00
Ricki Hirner
7b4ccb3fd4
Set UI theme directly in App.onCreate() and not in an asynchronous thread to avoid rare occurrences of IllegalStateException
2021-06-25 15:38:58 +02:00
Ricki Hirner
d67f57dd13
Update dependencies
2021-06-25 15:28:45 +02:00
Ricki Hirner
36a8ccf740
Debug info .zip: change MIME type from application/zip to */*
2021-06-21 11:56:02 +02:00
Ricki Hirner
616833c9dc
Remove deprecated kotlin-android-extensions in favor of view bindings
2021-06-06 20:46:57 +02:00
Ricki Hirner
520f96f017
Update dependencies
2021-06-06 20:41:52 +02:00
Ricki Hirner
0b4fdaffe2
Debug info: use max compression for .zip
2021-06-06 12:12:37 +02:00
Ricki Hirner
0da6b5b032
Changelog for F-Droid
2021-05-26 12:34:37 +02:00
Ricki Hirner
ad4caecf7d
Version bump to 3.3.11
2021-05-26 12:13:39 +02:00
Ricki Hirner
d87789690b
Catch DB errors while renaming account
2021-05-23 14:32:03 +02:00
Ricki Hirner
5f5da4681e
Fetch translations from Transifex
2021-05-23 14:04:49 +02:00
Ricki Hirner
b87c881f12
Version bump to 3.3.11-rc1
2021-05-23 14:03:42 +02:00
Ricki Hirner
bd45588865
Debug info: show app standby bucket; update AndroidX dependencies; minor night mode updates
2021-05-23 14:03:19 +02:00
Ricki Hirner
be99cb0a18
Debug info: show app standby bucket; update AndroidX dependencies
2021-05-23 14:03:00 +02:00
Ricki Hirner
3545cf30cf
Remove comments which are not understood by Transifex
2021-05-11 15:04:29 +02:00
Ricki Hirner
6178f39639
Minor amendments for dark theme
2021-05-08 21:31:43 +02:00
Ricki Hirner
c8eae2c90e
Version bump to 3.3.11-beta2
2021-05-07 23:06:06 +02:00
Ricki Hirner
78fb37516f
Update ical4j
2021-05-07 23:05:36 +02:00
Ricki Hirner
f74c613b53
Dark theme, animation for WelcomeFragment
2021-05-07 22:54:42 +02:00
Ricki Hirner
9ce481b37a
Don't use jCenter anymore
2021-05-04 21:02:19 +02:00
Ricki Hirner
d6dc42eb91
Update gradle plugin and version
2021-05-04 21:02:19 +02:00
Ricki Hirner
20034a8f32
Fix Espresso tests
2021-05-04 21:02:19 +02:00
Ricki Hirner
8b43c6f280
Merge branch 'dev-3.x_EspressoExperimental-ose' into 'dev-3.x-ose'
...
Dev 3.x espresso experimental ose
See merge request bitfireAT/davx5-ose!59
2021-05-04 17:20:44 +00:00
Patrick Lang
a5c51bc05f
Dev 3.x espresso experimental ose
2021-05-04 17:20:44 +00:00
Ricki Hirner
6f398701cc
Update dependencies
2021-05-04 15:56:10 +02:00
Ricki Hirner
fc1b5d6a33
Merge branch 'dev-3.x_RTLSupportEnabled-ose' into dev-3.x-ose
2021-05-04 12:02:01 +02:00
Ricki Hirner
b44ed202a3
ical4android: assume 1 day/1 hour for Android events without dtEnd and duration (should not occur, but occurs)
2021-04-21 15:14:34 +02:00
Ricki Hirner
90b61d541e
Add Vietnamese translations (thanks!); fetch translations from Transifex
2021-04-19 18:54:22 +02:00
Ricki Hirner
42832f22c9
Version bump to 3.3.11-beta1
2021-04-19 18:52:52 +02:00
Ricki Hirner
dffe5d176b
Android 11: fix problems when viewing URLs in some default browsers; vcard4android: don't convert TYPEs into explicit custom labels
2021-04-19 18:52:20 +02:00
Ricki Hirner
7122e344b7
F-Droid changelog for 3.3.10
2021-04-15 17:43:53 +02:00
Ricki Hirner
26900c5d4f
Version bump to 3.3.10
2021-04-15 17:37:08 +02:00
Patrick Lang
f7c0ef231b
Update .gitlab-ci.yml file
2021-04-13 18:06:48 +00:00
Patrick Lang
5c430664a9
Update .gitlab-ci.yml file, added CURL: - curl -XPOST -d 'email=gitlab%40bitfire.at&password=$DAVTEST_TOKEN&action=Request+access' ' https://davtest.dev001.net/access/ '
2021-04-13 17:43:05 +00:00
Ricki Hirner
d9d593a4d6
Fetch translations from Transifex
2021-04-12 23:03:04 +02:00
Ricki Hirner
6790d95b21
Update build tools, ical4android, cert4android
2021-04-12 22:59:55 +02:00
Ricki Hirner
db2c207669
Version bump to 3.3.10-rc1
2021-04-09 20:54:26 +02:00
Ricki Hirner
71d6402ff2
Update dependencies (including ical4j to 3.0.24)
2021-04-09 20:54:06 +02:00
Ricki Hirner
e19ae992ea
Client certificates: fix occasional HTTP 400 errors
...
* don't catch and ignore exceptions when adding client certificates for authentication
* remove useless KeyStore usage
2021-04-06 13:37:42 +02:00
Ricki Hirner
ef63165783
Update dependencies
2021-03-20 13:03:31 +01:00
Ricki Hirner
9048af4af5
Update ical4android
2021-03-20 12:38:58 +01:00
Ricki Hirner
512754d014
Typo
2021-03-12 12:12:52 +01:00
Ricki Hirner
8fdf57ea28
Version bump to 3.3.10-beta2
2021-03-08 19:20:38 +01:00
Ricki Hirner
a1506e1514
Update Kotlin, ical4android
2021-03-08 19:20:13 +01:00
Ricki Hirner
3049f7304d
Update AboutLibraries
2021-03-08 18:50:54 +01:00
Ricki Hirner
b1d230353e
debug info: wording; update JUnit
2021-03-08 18:45:12 +01:00
Ricki Hirner
f9a6107f38
Debug info: allow sharing only after debug info is generated
2021-03-02 12:31:19 +01:00
Ricki Hirner
266490bf14
Update libraries
2021-03-02 11:53:01 +01:00
Ricki Hirner
c037b7e152
Version bump to 3.3.10-beta1
2021-02-12 17:59:28 +01:00
Ricki Hirner
83f257f07a
Events: support URL as extended property; rewrite deprecated unknown properties to current format
2021-02-12 17:47:11 +01:00
Ricki Hirner
1d35f80afb
Fetch translations from Transifex
2021-02-09 11:02:45 +01:00
Ricki Hirner
46b78c043b
Version bump to 3.3.9
2021-02-09 11:00:27 +01:00
Ricki Hirner
0687b8599e
Version bump to 3.3.9-beta4
2021-02-07 13:12:51 +01:00
Ricki Hirner
77bd44044e
Fix foreground notification crash
2021-02-07 12:56:11 +01:00
Ricki Hirner
e95366adcc
Fix translations
2021-02-07 12:01:26 +01:00
Ricki Hirner
a1d689eb1b
Fetch translations from Transifex
2021-02-07 12:01:26 +01:00
Ricki Hirner
2d5b879b34
Update kotlin and cert4android
2021-02-07 12:01:26 +01:00
Ricki Hirner
7667ecb437
Version bump to 3.3.9-beta3
2021-02-01 14:58:25 +01:00
Ricki Hirner
6942ad9867
Debug info activity: remove string
2021-02-01 14:40:09 +01:00
Ricki Hirner
8aba0c80bc
New option: keep in foreground (may help when the device prevents automatic synchronization)
2021-02-01 14:40:09 +01:00
Ricki Hirner
652b0ba92c
Version bump to 3.3.9-beta2
2021-01-31 13:45:57 +01:00
Ricki Hirner
a92593ea77
Update okhttp
2021-01-31 13:45:41 +01:00
Ricki Hirner
3fb4e305ad
Debug info: show number of events, contacts, tasks for each account (to know whether sync is working)
2021-01-31 13:45:40 +01:00
Ricki Hirner
e96f8a627e
Version bump to 3.3.9-beta1
2021-01-16 14:18:11 +01:00
Ricki Hirner
eebd21a02e
AccountActivity: don't show "Create addressbook/calendar" when there's no bind privilege on any homeset
2021-01-16 12:53:32 +01:00
Ricki Hirner
8323ea1872
AccountActivity: finish when account has been removed externally
2021-01-16 12:53:32 +01:00
Ricki Hirner
2f1ee9994d
*DAV service detection: save all information of homesets again
2021-01-16 12:53:32 +01:00
Ricki Hirner
e157322a1f
Correctly show dav4jvm in About/Libraries
2021-01-16 12:53:32 +01:00
Ricki Hirner
40a35ac7a0
Version bump to 3.3.8
2021-01-11 20:10:34 +01:00
Ricki Hirner
d0385ea8ce
Fetch translations from Transifex
2021-01-11 20:08:37 +01:00
Ricki Hirner
4a89bb762e
Catch some exceptions
2021-01-11 20:05:18 +01:00
Ricki Hirner
51c96a50c0
Update vcard4android
2021-01-06 10:25:51 +01:00
Ricki Hirner
16464ed025
Fetch translations from Transifex
2021-01-02 15:27:43 +01:00
Ricki Hirner
5567e79d2d
Update libraries and dependencies
2021-01-02 15:11:45 +01:00
Ricki Hirner
ececb08bb6
Debug info: include interface name and DNS servers (because DNS-related problems are reported often)
2020-12-23 16:49:21 +01:00
Ricki Hirner
07fccd86d1
Version bump to 3.3.8-beta1
2020-12-14 19:12:18 +01:00
Ricki Hirner
4e870123ff
Merge branch 'dev-3.x_DontShowUnspportedCollections-ose' into dev-3.x-ose
2020-12-14 19:06:31 +01:00
Patrick
e2e852c2e0
Exclude unsupported calendar collections
...
Excludes calendar collections that have both VEVENT and VTODO not supported from being displayed in the collections overview.
2020-12-14 19:04:31 +01:00
Ricki Hirner
46ee17f04b
Make default sync interval a setting
2020-12-14 18:52:06 +01:00
Ricki Hirner
21fffe0b65
Update dependencies
2020-12-14 18:51:52 +01:00
Ricki Hirner
35a6ddb89c
Bump version code
2020-11-28 14:32:48 +01:00
Ricki Hirner
be48945c03
Support resizeable activites (multi-window mode)
2020-11-28 14:26:38 +01:00
Ricki Hirner
1a7b1f9420
Update ical4android and version code
2020-11-28 13:38:25 +01:00
Ricki Hirner
9e1dc44048
Version bump to 3.3.7
2020-11-28 08:58:47 +01:00
Ricki Hirner
30348b40a4
Fetch translations from Transifex
2020-11-27 21:47:02 +01:00
Ricki Hirner
7af2b8bd00
Version bump to 3.3.7-beta3
2020-11-27 21:46:16 +01:00
Ricki Hirner
90c503fc16
add "show only personal" as setting
2020-11-27 21:45:28 +01:00
Ricki Hirner
6411dfef3a
Update ical4android and vcard4android; add HTTP/2 ping every 45 secs to avoid cancellation
2020-11-26 11:39:18 +01:00
Ricki Hirner
6b84350df5
Minor rewriting
2020-11-24 12:14:34 +01:00
Ricki Hirner
f1d06a305f
Fetch translations from Transifex
2020-11-23 11:48:42 +01:00
Ricki Hirner
38eb9693d2
Version bump to 3.3.7-beta2
2020-11-23 11:39:00 +01:00
Ricki Hirner
c7c547e391
Update ical4android, vcard4android
2020-11-23 00:31:34 +01:00
Ricki Hirner
0226414458
Save sync intervals and check/repair them at app start and reboot
2020-11-19 17:51:24 +01:00
Ricki Hirner
7a95bfdb94
Update AboutLibraries
2020-11-17 23:36:12 +01:00
Ricki Hirner
491763025b
Merge branch 'dev-3.x_NoCertificatesFoundToast-ose' into dev-3.x-ose
2020-11-16 09:22:11 +01:00
Patrick
2d6b9eef4d
Shows a toast when no certificate was found
...
Currently the certificate selection would popup und disappear immedeately. This quick fix would show a Toast for User Feedback
2020-11-16 09:20:30 +01:00
Ricki Hirner
0a06d0ea11
Account settings: always allow client certificate selection
2020-11-16 09:05:14 +01:00
Ricki Hirner
737af880bd
Add migration for AppDatabase v8
2020-11-15 22:41:54 +01:00
Ricki Hirner
19474a1e17
Version bump to 3.3.7-beta1
2020-11-15 21:38:04 +01:00
Ricki Hirner
326267afce
DAV:owner: resolve relative paths, only show in UI when it's set
2020-11-15 21:32:28 +01:00
Ricki Hirner
8ff0a192b8
Update submodules
2020-11-15 21:13:21 +01:00
Ricki Hirner
e9a62eddf5
DAV:owner small rewrite
2020-11-15 21:11:39 +01:00
Patrick Lang
ced1ed9abf
Added Owner
...
- Extend Collection to store owner
- Show Owner in collection_properties.xml
2020-11-15 20:04:32 +00:00
Ricki Hirner
a1898888cb
Fix tests
2020-11-15 20:47:31 +01:00
Ricki Hirner
7e5a7dff20
Add an account setting for "Show only personal collections"
2020-11-15 20:35:46 +01:00
Ricki Hirner
5c44332e69
Add account view option: show only personal collections
2020-11-15 20:35:46 +01:00
Ricki Hirner
4fb6e39148
Associate each collection to its homeset
2020-11-15 20:35:46 +01:00
Ricki Hirner
2c28ffad2e
Update dependencies
2020-11-14 13:09:48 +01:00
Patrick
674455cc8c
Merge branch 'dev-3.x-ose' into dev-3.x_RTLSupportEnabled-ose
2020-11-11 19:36:28 +01:00
Ricki Hirner
540d1ddb74
Merge branch 'infomaniak/android-infomaniak-sync-fix-string-localization' into dev-3.x-ose
2020-11-10 22:04:09 +01:00
Joris Bodin
fb4f870742
Extract string for remove auto reset permission
2020-11-10 22:03:46 +01:00
Ricki Hirner
1a8fca415d
Update ez-vcard
2020-11-10 13:34:07 +01:00
Ricki Hirner
b69ff2380a
Wifi permission activity: add "Allow all the time" string for Android 10
2020-11-07 12:31:12 +01:00
Ricki Hirner
260c5f928d
Version bump to 3.3.6
2020-11-07 12:31:12 +01:00
Patrick
d199560add
Merge branch 'dev-3.x-ose' into dev-3.x_RTLSupportEnabled-ose
2020-11-06 21:03:26 +01:00
Ricki Hirner
775a8abc60
cert4android: fetch translations from Transifex
2020-11-05 12:10:14 +01:00
Ricki Hirner
74f2bf69d6
Fetch translations from Transifex
2020-11-05 12:09:19 +01:00
Ricki Hirner
c583d92205
Version bump to 3.3.6-beta2
2020-11-05 12:06:36 +01:00
Ricki Hirner
64cb191c6d
Try to work around problems with package visibility: use package instead of provider in visibility declaration
2020-11-05 12:06:22 +01:00
Ricki Hirner
b84ef186d8
Merge branch 'mbiebl/davx5-ose-share-icon-dark' into dev-3.x-ose
2020-11-03 13:14:48 +01:00
Ricki Hirner
bf08231bbd
Don't sync Webcal-only calendars/tasks lists over CalDAV (may cause duplicate calendars)
...
(If a calendar is both CalDAV- and Webcal-capable, i.e. resourcetype is collection
and subscribed, it will be shown as CalDAV calendar.)
2020-11-03 12:58:48 +01:00
Patrick
907c1cb1ba
Fixed layout gravity in login_credentials_fragment
2020-10-31 14:12:22 +01:00
Patrick
203fa7b1cd
RTL Support enabled
...
+ Checked all Screens
+ checked drawables and mirrored if applicable
+ checked screens without translations to still fulfill RTL layout
2020-10-31 13:03:33 +01:00
Ricki Hirner
1973fc4f29
Add login layout ID for pre-launch tests; version bump to 3.3.6-beta1
2020-10-30 18:23:32 +01:00
Ricki Hirner
e6cc326166
Check whether WiFi permissions are declared
2020-10-30 12:52:42 +01:00
Ricki Hirner
1f47798cf7
Minor refactoring: About, styles
2020-10-29 20:19:23 +01:00
Ricki Hirner
1ed91ff11a
Use Western digits where Western digits are required; show locale in debug info
2020-10-26 18:28:32 +01:00
Ricki Hirner
0782af6e91
cert4android: use MD5 fingerprint instead of CN as key to store custom certs
2020-10-25 20:26:08 +01:00
Ricki Hirner
99f59286c7
Really disable calendar sync for an account when there is no CalDAV service; update ez-vcard
2020-10-25 17:56:55 +01:00
Ricki Hirner
ecdf2607f9
Update ez-vcard
2020-10-25 15:53:40 +01:00
Ricki Hirner
c4440bfc4f
Always enable verbose logs in debug builds; show SyncResult when a sync is complete
2020-10-25 14:19:05 +01:00
Ricki Hirner
96aa2fe3ce
Don't ask for active location services on Android <9 / location permissions on Android 8.0
2020-10-25 10:28:29 +01:00
Ricki Hirner
ca9044cf76
Fetch translations from Transifex
2020-10-24 14:02:00 +02:00
Ricki Hirner
88bbb3c8bf
Update ical4android; version bump to 3.3.5
2020-10-24 13:52:42 +02:00
Ricki Hirner
b920cdb6f8
Add ICSx5 to visible packages so that it can be detected under Android 11
2020-10-23 13:11:45 +02:00
Ricki Hirner
baedab5228
Account settings: make password a password field
2020-10-23 00:33:52 +02:00
Ricki Hirner
8e0d85615f
When an account is created, open it immediately after setup
2020-10-22 18:21:50 +02:00
Ricki Hirner
dc1d5b6016
Don't require location permissions for SSID access on Android <8
2020-10-21 13:21:22 +02:00
Ricki Hirner
b75064ee3c
Version bump to 3.3.4.1
2020-10-20 12:20:04 +02:00
Ricki Hirner
f39a0c2459
Fetch translations from Transifex
2020-10-20 12:19:25 +02:00
Ricki Hirner
93dd713c41
Sync algorithm: when uploading a locally modified resource results in 404/410, try as fresh upload again
2020-10-20 12:10:24 +02:00
Ricki Hirner
817e2e834d
Fetch translations from Transifex
2020-10-19 23:17:03 +02:00
Ricki Hirner
5e071c7a61
Fix libraries; version bump to 3.3.4
2020-10-19 23:16:11 +02:00
Ricki Hirner
26a7c72ad7
Update ical4j to 3.0.20
2020-10-19 20:38:43 +02:00
Michael Biebl
9323464dd1
Use dark variant of share icon in Debug activity
...
We typically provide a dark variant for icons that are used on a light
background. The current share icon sticks out a bit, so add a dark
variant of that icon and use that in the Debug activity.
2020-10-19 16:14:10 +02:00
Ricki Hirner
244dd7e3e7
Version bump to 3.3.4-beta1
2020-10-18 21:20:47 +02:00
Ricki Hirner
f365570952
Advanced login: small fixes
2020-10-18 12:32:56 +02:00
Patrick Lang
4f1d546174
Login with advanced options
...
Adds a new radiobutton for login with advanced options
2020-10-17 18:58:08 +00:00
Michael Biebl
998da1bebf
Typo fixes
2020-10-17 11:45:32 +02:00
Ricki Hirner
3e2bb92a15
F-Droid Changelog
2020-10-16 14:05:15 +02:00
Ricki Hirner
b77586e31c
Fetch translations from Transifex
2020-10-16 13:06:27 +02:00
Ricki Hirner
204e0444f9
Version bump to 3.3.3
2020-10-16 13:02:38 +02:00
Ricki Hirner
ebed7e63c2
Nextcloud Login Flow v2: better error handling
2020-10-16 13:02:20 +02:00
Ricki Hirner
0d9c78ee07
Debug info: add Share action hint
2020-10-16 12:40:48 +02:00
Ricki Hirner
6666b28f31
Version bump to 3.3.3-beta4
2020-10-15 18:18:28 +02:00
Ricki Hirner
acbd93ce7e
Update gradle plugin to 4.1; update dependencies
2020-10-15 18:08:39 +02:00
Ricki Hirner
61904434ff
Fetch translations from Transifex
2020-10-14 13:26:49 +02:00
Ricki Hirner
33f5cf8099
Version bump to 3.3.3-beta3
2020-10-14 13:25:36 +02:00
Ricki Hirner
d52e94ebe8
Fix bug where OpenTasks permissions where hidden in UI when tasks.org was not installed
2020-10-13 20:34:09 +02:00
Ricki Hirner
72faa6a456
Update dependencies
2020-10-13 20:33:36 +02:00
Ricki Hirner
3204000411
Nextcloud: use Login Flow v2 for better browsing experience and to support things like Webauthn
2020-10-05 15:45:32 +02:00
Ricki Hirner
63572ad62a
Debug info: show all permissions
2020-10-04 10:45:49 +02:00
Ricki Hirner
394e319959
Version bump to 3.3.3-beta2
2020-10-03 14:22:36 +02:00
Ricki Hirner
bd154a6315
Fetch translations from Transifex
2020-10-03 14:21:23 +02:00
Ricki Hirner
35b92f4469
Background location: use mandatory wording for explanation [ https://support.google.com/googleplay/android-developer/answer/9799150?hl=en#prominent_disclosure ]
2020-10-03 14:11:43 +02:00
Ricki Hirner
eaf5b37c01
Version bump to 3.3.3-beta1
2020-10-02 13:12:24 +02:00
Ricki Hirner
2656e7e58d
Fetch translations from Transifex
2020-10-02 13:04:41 +02:00
Ricki Hirner
7e98563038
Improve logging notification/debug info; fix account settings UI WiFi permission info
2020-10-02 13:03:33 +02:00
Ricki Hirner
4a83df50b6
Error "Expected 207, got 200": show HTTP request/body in debug info
2020-10-01 12:23:12 +02:00
Ricki Hirner
cea038f29b
Small compatibility fix/lint
2020-10-01 11:35:47 +02:00
Ricki Hirner
0bb1aa0243
Android 11: declare package visibility; adapt debug info
2020-10-01 11:05:17 +02:00
Ricki Hirner
de7ca2cf16
Refactor navigation from/to account settings activity
2020-10-01 11:05:17 +02:00
Ricki Hirner
f057b41c0f
Android 11: handle new background location permissions for WiFi SSID restriction
2020-10-01 11:05:17 +02:00
Ricki Hirner
ab5f834ded
Android 11: increase target SDK level; PermissionsFragment: ask to keep permissions on Android >= 11
2020-10-01 11:05:15 +02:00
Ricki Hirner
31c9f0f745
F-droid release notes
2020-09-29 15:57:48 +02:00
Ricki Hirner
d9f8185604
Version bump to 3.3.2
2020-09-29 15:23:53 +02:00
Ricki Hirner
da38fab28d
Version bump to 3.3.2-beta5
2020-09-27 16:55:42 +02:00
Ricki Hirner
511ae6ad4e
Fetch translations from Transifex
2020-09-27 16:55:12 +02:00
Ricki Hirner
1883bc8f64
Sync intervals: remove endless loop, add tests
2020-09-27 16:48:30 +02:00
Ricki Hirner
def9222148
Cache task provider in the UI
2020-09-25 12:46:41 +02:00
Ricki Hirner
9c2b81017f
Collections fragment: use current task provider's status only
2020-09-25 12:46:41 +02:00
Ricki Hirner
8a8ae586c1
Version bump to 3.3.2-beta4
2020-09-21 11:14:22 +02:00
Ricki Hirner
517e1daea9
Fix tasks sync interval setting for tasks.org
2020-09-20 22:30:01 +02:00
Ricki Hirner
559665a481
Bump version to 3.3.2-beta3
2020-09-20 14:23:02 +02:00
Ricki Hirner
65f5f3cf62
Fetch translations from Transifex
2020-09-20 14:22:29 +02:00
Ricki Hirner
92bf8d55a1
Fix permissions UI
2020-09-20 14:21:05 +02:00
Ricki Hirner
093671a43d
Dependencies; lint
2020-09-19 14:50:39 +02:00
Ricki Hirner
36263e0044
Fetch translations from Transifex
2020-09-18 16:54:19 +02:00
Ricki Hirner
1ea156750c
Update cert4android/vcard4android, bump version to 3.3.2-beta2
2020-09-18 16:52:39 +02:00
Ricki Hirner
799eb05097
Small TasksWatcher fix; update ical4android and build tools
2020-09-17 19:38:43 +02:00
Ricki Hirner
1a92067262
Version bump to 3.3.2-beta1
2020-09-15 21:59:37 +02:00
Ricki Hirner
a9d652684e
tasks.org support
2020-09-15 21:59:18 +02:00
Ricki Hirner
1cd17a88f7
Update strings
2020-09-14 10:15:40 +02:00
Ricki Hirner
5a9dc79595
Move translation pt-rBR to pt
2020-09-13 18:09:26 +02:00
Ricki Hirner
62a4420d73
improve HTTP requests in debug info; cert4android update
2020-09-09 21:49:45 +02:00
Ricki Hirner
ff8de74f21
Add F-Droid Changelog
2020-09-09 12:54:21 +02:00
Ricki Hirner
ba973a7320
Fetch translations from Transifex
2020-09-09 12:06:12 +02:00
Ricki Hirner
5bfc343629
Version bump to 3.3.1; minor dependency updates
2020-09-09 12:00:02 +02:00
Ricki Hirner
d6df81586b
Fetch translations from Transifex
2020-08-31 12:43:17 +02:00
Ricki Hirner
c502834530
Version bump to 3.3.1-beta1
2020-08-31 12:41:53 +02:00
Ricki Hirner
638f9f9264
Adaptation for Google Contacts in Android 11: export address book authenticator so that Google Contacts shows the address book accounts
2020-08-31 12:41:34 +02:00
Ricki Hirner
ed38d38f20
Scripts etc.
2020-08-31 12:41:33 +02:00
Ricki Hirner
838855b9e8
Add F-Droid changelog for 3.3
2020-08-23 18:02:32 +02:00
Ricki Hirner
99502d827d
Fetch translations from Transifex
2020-08-22 13:21:15 +02:00
Ricki Hirner
0ee9ed4999
Version bump to 3.3
2020-08-22 13:17:36 +02:00
Ricki Hirner
b2a6bddfa5
Update dependencies (including ical4android)
2020-08-22 13:17:04 +02:00
Ricki Hirner
6898e05b7f
Version bump to 3.3-beta5
2020-08-15 13:36:17 +02:00
Ricki Hirner
83eca1ea3d
Update app settings dynamically when they are changed
2020-08-15 12:37:58 +02:00
Ricki Hirner
4e42aa1375
Use plain-text debug info instead of HTML, again
...
* use UTF-8
* use plain-text tables
2020-08-15 12:19:58 +02:00
Ricki Hirner
949049f414
Fetch translations from Transifex
2020-08-12 12:12:11 +02:00
Ricki Hirner
5346095d66
Version bump to 3.3-beta4
2020-08-12 12:11:23 +02:00
Ricki Hirner
7358461ecc
Add settings to debug info
2020-08-12 12:11:09 +02:00
Ricki Hirner
22c399e6fd
Fixes for Android <25
2020-08-10 15:32:30 +02:00
Ricki Hirner
6b2828646e
Version bump to 3.3-beta3
2020-08-10 15:09:36 +02:00
Ricki Hirner
6ce830442d
Rewrite DebugInfoActivity
2020-08-10 15:09:15 +02:00
Ricki Hirner
0129f4bcf8
Fix Sync all shortcut
2020-08-10 15:09:14 +02:00
Ricki Hirner
d4942cbf14
Some lint
2020-08-07 12:23:50 +02:00
Ricki Hirner
f18a8cb9ab
Update AppIntro
2020-08-07 11:44:32 +02:00
Ricki Hirner
f4194a7f95
Update dependencies
2020-08-07 11:44:21 +02:00
Ricki Hirner
a79ec19c6a
Provide "Sync all accounts" option
...
* show sync status in accounts overview
* add "sync all accounts" in accounts overview
* add "sync all accounts" shortcut
2020-08-02 17:22:12 +02:00
Ricki Hirner
a14169d19d
Bump version code
2020-08-02 17:14:36 +02:00
Ricki Hirner
28dc549744
Fix isSyncable problems
...
- set isSyncable(AddressBooks)=0 at account creation when there is no CardDAV service
- OpenTasksWatcher: enumerate real accounts and not services from DB -> isSyncable(tasks) will be set to 0 correctly for accounts without CalDAV service
- SyncAdapter base class: set autoInitialize to true, although it should not be needed regularly
2020-08-02 17:14:24 +02:00
Ricki Hirner
3069d79e8b
Version bump to 3.2.1.4
2020-08-01 00:05:15 +02:00
Ricki Hirner
2e9f4c4a95
Update ical4android, vcard4android
2020-08-01 00:04:53 +02:00
Ricki Hirner
a833d002df
Don't grey out WiFi SSID setting when data saver is active; update dependencies
2020-08-01 00:04:53 +02:00
Ricki Hirner
87a52cceef
Sync interval settings: wait with UI update until settings have arrived in sync framework
2020-08-01 00:04:53 +02:00
Ricki Hirner
349c1beab5
Fetch translations from Transifex
2020-07-25 11:55:20 +02:00
Ricki Hirner
8835220116
Update vcard4android, version bump to 3.2.1.3
2020-07-25 11:50:04 +02:00
Ricki Hirner
6982304ea3
Nextcloud login flow: decode parameters in nc://login URL
2020-07-24 18:39:20 +02:00
Ricki Hirner
4aee529457
Rename account: handle exceptions (for instance, when the desired name already exists)
2020-07-22 13:16:43 +02:00
Ricki Hirner
6e84ea52c8
Fetch translations from Transifex
2020-07-22 11:13:05 +02:00
Ricki Hirner
ab3122e731
Version bump to 3.2.1.2
2020-07-22 11:12:18 +02:00
Ricki Hirner
3325e6a9bc
Update dependencies
2020-07-21 15:54:43 +02:00
Ricki Hirner
b120a797f2
Sort accounts in AccountsActivity by name
2020-07-20 19:17:12 +02:00
Ricki Hirner
eca4ac177d
Version bump to 3.2.1.2-beta1
2020-07-15 13:10:19 +02:00
Ricki Hirner
c5960b6b40
Regenerate UID if it was dropped from an existing resource
2020-07-15 13:09:43 +02:00
Ricki Hirner
0f44b63262
Version bump to 3.2.1.1
2020-07-11 22:26:48 +02:00
Ricki Hirner
01ae43bdcc
Fix crash in ical4android, update okhttp
2020-07-11 22:26:28 +02:00
Ricki Hirner
c6d4a07b05
Fix SyncManager tests on Android 5
2020-07-10 18:15:02 +02:00
Ricki Hirner
8104ed4aed
SyncManager tests
2020-07-10 17:21:49 +02:00
Ricki Hirner
4f0236e14b
Fetch translations from Transifex
2020-07-09 14:59:56 +02:00
Ricki Hirner
86c49f2afa
Version bump to 3.2.1
2020-07-09 14:59:04 +02:00
Ricki Hirner
ab489dbb44
Sync fix
2020-07-09 14:58:48 +02:00
Ricki Hirner
e0d0ef7370
Version bump to 3.2
2020-07-07 17:08:07 +02:00
Ricki Hirner
047a115171
Minor settings provider change
2020-07-07 16:50:17 +02:00
Ricki Hirner
fd72d4611f
Fetch translations from Transifex
2020-07-07 16:49:36 +02:00
Ricki Hirner
519dda024b
Update ical4android
2020-07-07 16:20:36 +02:00
Ricki Hirner
c746aa4ddf
Lint
2020-07-06 12:26:18 +02:00
Ricki Hirner
ec6b2dd16a
Version bump to 3.2-beta3
2020-07-06 11:19:56 +02:00
Ricki Hirner
1e57b83a66
Sync algorithm: small refactoring
2020-07-06 11:14:12 +02:00
Ricki Hirner
32b0c8355b
Merge branch 'verify-user-data' into 'dev-3.x-ose'
...
When creating an addressbook account, verify the stored user data
See merge request bitfireAT/davx5-ose!33
2020-07-05 13:34:16 +00:00
Ricki Hirner
8e2bee7d36
Improve debug info: software information
2020-07-05 15:30:47 +02:00
Ricki Hirner
3c202d35d5
Set address book accounts isSyncable=1 at creation (and not only after first sync)
2020-07-05 15:30:47 +02:00
Alex Baker
d82341f310
Clear url, username, and name errors
2020-07-05 15:30:47 +02:00
Michael Biebl
77c00414c1
Intro: Use consistent padding among screens
...
The battery optimization screen used some additional padding which made
it look out of place when swiping through the intro screens.
Instead of applying app:cardUseCompatPadding="true" to the other
screens, we remove it from intro_battery_optimizations.xml.
While at it, fix the indentation of the TextView element.
2020-07-05 15:30:47 +02:00
Ricki Hirner
4b26ab1f34
rename useLocal and useRemote for better readability
2020-07-05 15:30:47 +02:00
Ricki Hirner
9582e08d0e
Sync algorithm: use resource name (and not ETag) to determine whether a dirty local record is new or modified
2020-07-05 15:30:47 +02:00
Ricki Hirner
0cdb2d1ff3
Fetch translations from Transifex
2020-07-03 16:49:54 +02:00
Ricki Hirner
31b75cffa3
Version bump to 3.2-beta2
2020-07-03 16:41:35 +02:00
Ricki Hirner
71111172cb
Task improvements
2020-07-03 16:41:17 +02:00
Ricki Hirner
357e7cca24
Login: show "username/password wrong" when 401 is encountered during resource detection; update ical4android
2020-07-03 11:34:14 +02:00
Ricki Hirner
a652d5bccf
Improve Schedule-Tag handling
2020-07-03 11:34:14 +02:00
Ricki Hirner
c794e1ffbb
Resource detection: evaluate priority/weight of multiple SRV records
2020-07-03 11:34:14 +02:00
Ricki Hirner
9350818029
Events scheduling: support schedule-tag
2020-07-03 11:34:14 +02:00
Ricki Hirner
9f0db15bca
Fetch translations from Transifex
2020-06-29 23:15:13 +02:00
Ricki Hirner
73e2d554fb
Update dependencies; bump version to 3.1-beta2
2020-06-29 23:14:20 +02:00
Ricki Hirner
fd44aea3ce
Minor group-scheduling improvements; ical4android: always generate DTEND instead of DURATION
2020-06-29 23:13:52 +02:00
Ricki Hirner
c0cf9194b7
Shorten PRODID; don't minify debug builds anymore; ical4android update
2020-06-22 16:25:03 +02:00
Ricki Hirner
ca3b308018
Show CalDAV/CardDAV account settings only when CalDAV/CardDAV is present; update ical4android
2020-06-19 13:46:54 +02:00
Ricki Hirner
c9ccbb73ac
Update dependencies
2020-06-18 17:44:03 +02:00
Ricki Hirner
9ee65a229d
Always set "Sync over WiFi only" when data saver is active
2020-06-16 17:10:23 +02:00
Michael Biebl
27e5504de8
When creating an addressbook account, verify the stored user data
...
Apparently even with newer Android versions we sometimes fail to store
the user data. If we fail to save the main account, synchronization will fail.
2020-06-14 23:41:15 +02:00
Ricki Hirner
d3e851cb58
Version bump to 3.1.1
2020-06-14 16:39:37 +02:00
Ricki Hirner
453200ab1e
Version bump to 3.1.1-beta2
2020-06-12 13:39:47 +02:00
Ricki Hirner
c51677b001
ical4android update
2020-06-12 13:39:32 +02:00
Ricki Hirner
aeb0dd70f8
Use some Kotlin extensions
2020-06-11 23:22:46 +02:00
Ricki Hirner
47874bf7eb
Fetch translations from Transifex
2020-06-11 18:32:10 +02:00
Ricki Hirner
e0f90bb311
Version bump to 3.1.1-beta1
2020-06-11 18:31:26 +02:00
Ricki Hirner
055fdeaf4c
Use fragment-ktx viewModels(); begin removing I- prefix from interface names
2020-06-11 18:26:19 +02:00
Ricki Hirner
cc092daf72
R8: keep all ez-vcard properties/parameters in release builds
2020-06-11 14:38:49 +02:00
Ricki Hirner
9acbb49a27
Fix UI crash
2020-06-11 00:07:08 +02:00
Ricki Hirner
c536a8a50c
Refactor settings management
2020-06-11 00:07:07 +02:00
Ricki Hirner
d3bed790ab
Improve singletons and settings management
2020-06-11 00:03:43 +02:00
Ricki Hirner
2a24e05161
LocalAddressBook.findAll: don't return address book accounts without associated main account
2020-06-05 12:58:55 +02:00
Ricki Hirner
9e08e73fc6
AccountActivity: use constructor instead of initialize() to avoid non-initialized lateinit properties
2020-06-05 12:49:23 +02:00
Ricki Hirner
80df1eecaa
Add F-Droid changelog
2020-05-31 21:05:40 +02:00
Ricki Hirner
4e062bc621
Version bump to 3.1
2020-05-31 20:52:14 +02:00
Ricki Hirner
02a1899109
Fetch translations from Transifex
2020-05-31 20:51:36 +02:00
Ricki Hirner
59180cda06
Version bump to 3.1-rc4
2020-05-31 17:36:48 +02:00
Ricki Hirner
74cb4963e4
Update libraries; use Kotlin for JDK7
2020-05-31 16:32:48 +02:00
Ricki Hirner
0e4e655d51
Link PermissionsActivity from app settings
2020-05-31 16:32:48 +02:00
Ricki Hirner
76020736bb
Don't use R8 shrinking for debug builds/tests
2020-05-31 01:03:33 +02:00
Ricki Hirner
1e14bbfe42
Version bump to 3.1-rc3
2020-05-30 23:53:42 +02:00
Ricki Hirner
6f5363ef7a
Workaround: Android loses initial account data sometimes
2020-05-30 23:53:42 +02:00
Ricki Hirner
cd85c4b05a
Completely remove customCerts build flag; shrink resources for release builds
2020-05-30 23:53:42 +02:00
Ricki Hirner
4bef2420df
Fix account name selection
2020-05-30 20:29:04 +02:00
Ricki Hirner
9f052f6231
Documentation: link to JDK8
2020-05-30 14:19:59 +02:00
Ricki Hirner
877d06abba
Version bump to 3.1-rc2
2020-05-30 14:19:58 +02:00
Ricki Hirner
822720e597
Enable R8 desugaring also for debug builds
2020-05-30 14:19:02 +02:00
Ricki Hirner
24c583b784
Fetch translations from Transifex
2020-05-29 00:27:08 +02:00
Ricki Hirner
c3f6791baa
Version bump to 3.1-rc1
2020-05-29 00:27:08 +02:00
Ricki Hirner
a09f1575c2
Update dependencies
2020-05-29 00:27:08 +02:00
Ricki Hirner
63898da6e3
Fix some TextInputLayouts
2020-05-27 16:20:47 +02:00
Ricki Hirner
558ced82da
Show all detected email addresses as account name suggestion
2020-05-27 16:20:47 +02:00
Ricki Hirner
b59f6c8b7e
Update logger tags
2020-05-27 16:20:47 +02:00
Ricki Hirner
85beb90b2f
Fix exception in OpenTasksWatcher when account is not available (anymore)
2020-05-27 16:20:47 +02:00
Ricki Hirner
e732aa7ebd
Version bump to 3.1-beta7
2020-05-27 16:20:47 +02:00
Ricki Hirner
eb38791d61
Drop customCerts build flag (alwase use cert4android and thus Conscrypt)
2020-05-27 16:20:47 +02:00
Ricki Hirner
447e7c3bdf
Update dependencies
2020-05-27 16:20:47 +02:00
Ricki Hirner
a81eb8be51
Nextcloud login fragment: always use fragment view for Snackbar
2020-05-27 16:20:47 +02:00
Ricki Hirner
c0e2488ef8
Rename account: handle situation when account doesn't exist (anymore)
2020-05-27 16:20:47 +02:00
Ricki Hirner
34adafeac2
Account settings activity: handle situation when account is not available (anymore)
2020-05-27 16:20:47 +02:00
Ricki Hirner
cad2b15a81
Synchronize possibly simultaneous calls to ServiceLoader
2020-05-27 16:20:47 +02:00
Ricki Hirner
0670732cc8
Version bump to 3.1-beta6
2020-05-27 16:20:47 +02:00
Ricki Hirner
3089d42c9f
Update dependencies (ical4android: minify VTIMEZONEs)
2020-05-27 16:20:47 +02:00
Ricki Hirner
b6bdf2dfaa
Update dependencies, remove obsolete version checks
2020-05-27 16:20:47 +02:00
Ricki Hirner
5a657ba5e0
Update okhttp, use new version constant for User-Agent
2020-05-27 16:20:47 +02:00
Ricki Hirner
9055b34a1d
Fetch translations from Transifex
2020-05-27 16:20:47 +02:00
Ricki Hirner
7bf1d5618a
Version bump to 3.1-beta5
2020-05-27 16:20:47 +02:00
Ricki Hirner
f7d001ae1d
ical4j: fix XParameter type cast problem with ATTENDEE EMAILs
2020-05-27 16:20:47 +02:00
Ricki Hirner
8cf8dadb8f
Update copyright
2020-05-27 16:20:47 +02:00
Michael Biebl
d5d9f276a3
Clear all errors when a different login method is chosen
...
See https://forums.bitfire.at/topic/2275/error-message-not-updated-when-switching-to-different-login-method/
2020-05-27 16:20:47 +02:00
Ricki Hirner
a1509f8ce4
Update cert4android, add comment
2020-05-27 16:20:47 +02:00
Michael Biebl
af227737f5
Override Brotli meta data in About activity
...
This is a workaround until
https://github.com/mikepenz/AboutLibraries/issues/490 has been resolved.
2020-05-27 16:20:47 +02:00
Ricki Hirner
65ca1c37e8
Update dependencies
2020-05-27 16:20:47 +02:00
Ricki Hirner
1c2bfc582c
Version bump to 3.1-beta4
2020-05-27 16:20:47 +02:00
Ricki Hirner
dbc7ca7cc3
Fetch translations from Transifex
2020-05-27 16:20:47 +02:00
Ricki Hirner
6ceca3793c
Update dependencies
2020-05-27 16:20:46 +02:00
Ricki Hirner
2ff46e5219
Add app settings to debug info
2020-05-27 16:20:46 +02:00
Ricki Hirner
00cf40a694
Version bump to 3.1-beta3
2020-05-27 16:20:46 +02:00
Ricki Hirner
3445d0df54
Fetch translations from Transifex
2020-05-27 16:20:46 +02:00
Ricki Hirner
1b0720d798
Handle exceptions when event/task SEQUENCE is increased; update ical4android
2020-05-27 16:20:46 +02:00
Ricki Hirner
fa1ed29659
Show Donate in Navigation drawer only in ose
2020-05-27 16:20:46 +02:00
Ricki Hirner
f01b57bb66
Version bump to 3.1-beta2
2020-05-27 16:20:46 +02:00
Ricki Hirner
94fc3b7cdd
Make sure Thread.getContextClassLoader is set while syncing (for ical4j)
...
* use dav4jvm version that doesn't depend on ServiceLoader anymore
2020-05-27 16:20:46 +02:00
Ricki Hirner
ffa40e5e13
Use coroutines instead of threads, when possible
2020-05-27 16:20:46 +02:00
Ricki Hirner
17846c2413
Permissions activity: add App settings button
2020-05-27 16:20:46 +02:00
Ricki Hirner
cc6194fdf6
Sync algorithm: use Kotlin coroutines instead of thread-pool executors
2020-05-27 16:20:46 +02:00
Ricki Hirner
ebcec6a5a4
Update dependencies; version bump to 3.1.0-beta1
2020-05-27 16:20:46 +02:00
Ricki Hirner
4977a1ab58
New permissions model
2020-05-27 16:20:46 +02:00
Ricki Hirner
7ef847ea35
Update gradle plugin
2020-05-27 16:20:46 +02:00
Ricki Hirner
5e0e26a5e5
Sync cancellation: show in logs, cancel whole thread group
2020-05-27 16:20:46 +02:00
Ricki Hirner
dcdc659882
Version bump to 3.0.1-beta1
2020-05-27 16:20:46 +02:00
Ricki Hirner
96adb926c6
Use ical4j 3.x
2020-05-27 16:20:46 +02:00
Ricki Hirner
14bdaaa189
minor change in evil manufacturer warning in intro fragment
2020-05-27 16:15:19 +02:00
Ricki Hirner
86bb432625
Fix intro fragment checkbox/button interaction
2020-05-27 16:15:16 +02:00
Ricki Hirner
97d657e501
Fix crash because of empty drawable in -ose version
2020-04-27 12:04:09 +02:00
Ricki Hirner
4067afb20d
Fix build
2020-04-24 21:04:43 +02:00
Ricki Hirner
843f1e099b
Merge branch 'dev-3.x-ose' into master-ose
2020-04-22 13:16:02 +02:00
Ricki Hirner
4ed9d8a6a8
F-Droid changelog for 3.0
2020-04-22 13:15:19 +02:00
Ricki Hirner
5b60ccaa2e
Merge branch 'dev-3.x-ose' into master-ose
2020-04-22 11:53:27 +02:00
Ricki Hirner
9bdfcb5dc1
Update AboutLibraries, bump version to 3.0
2020-04-22 11:49:28 +02:00
Ricki Hirner
fd92267c4d
Replace stock images by images from undraw.co
2020-04-21 19:19:20 +02:00
Ricki Hirner
3c100274ad
Fetch translations from Transifex
2020-04-21 18:49:46 +02:00
Ricki Hirner
ede9f2a472
cert4android: update strings
2020-04-21 18:49:46 +02:00
Ricki Hirner
884dbdbd3d
Adapt WebView progress bar; don't use okhttp BOM
2020-04-21 18:49:46 +02:00
Ricki Hirner
e267e620ba
Fix build; bump version to 3.0-beta2
2020-04-21 18:49:46 +02:00
Ricki Hirner
f32006254f
Nextcloud Login flow: show progress and errors (including TLS errors)
2020-04-21 18:49:46 +02:00
Ricki Hirner
2f92002fc3
Update dependencies; clean up ProGuard/R8 rules
2020-04-21 18:49:46 +02:00
Ricki Hirner
a7c814bafd
Use new AboutLibraries gradle plugin
2020-04-21 18:49:46 +02:00
Ricki Hirner
e124ce2f70
Update gradle plugin
2020-04-21 18:49:46 +02:00
Ricki Hirner
17c9537fc5
Adapt login styles
2020-04-21 18:49:46 +02:00
Ricki Hirner
ad4c7c97c2
Don't cancel notifications of other sync threads (lets important notifications disappear sometimes)
2020-04-21 18:49:46 +02:00
Ricki Hirner
27675de7ec
Version bump to 3.0-beta1
2020-04-21 18:49:46 +02:00
Ricki Hirner
204ca9120d
Update About activity
2020-04-21 18:49:46 +02:00
Ricki Hirner
061df6a014
Enable Brotli (in addition to gzip) compression
2020-04-21 18:49:46 +02:00
Ricki Hirner
aab676b7e4
Code cleanup
2020-04-21 18:49:46 +02:00
Ricki Hirner
7fd2a99edb
Keep TLS 1.0 and 1.1 for now; update dependencies
2020-04-21 18:49:46 +02:00
Ricki Hirner
b7893398bd
Fix some vector icons
2020-04-21 18:49:46 +02:00
Ricki Hirner
07f2c85ae1
Remove bitmap notification icons
2020-04-21 18:49:45 +02:00
Ricki Hirner
08cefe9f80
Fix tests
2020-04-21 18:49:45 +02:00
Ricki Hirner
0b9aeb05ab
Update okhttp to 4.5.0 and dav4jvm to 2.0
2020-04-21 18:49:45 +02:00
Ricki Hirner
1d7e4e8d33
Revert "Update libraries (including dnsjava 2.x -> 3.x)"
...
This reverts commit bcd7700dc7d2d67a6c3a25c8f9a18694e496a29c.
2020-04-21 18:49:45 +02:00
Ricki Hirner
621c32da2a
Remove vectorDrawables support library and multidex
2020-04-21 18:49:45 +02:00
Ricki Hirner
dcb3dd577a
Require Android 5 (SDK level 21); update gradle
...
Recent okhttp versions require Android 5. Also, a lot of workarounds
(like non-vector graphics for notification icons) which are cumbersome
to maintain have accumulated.
So, DAVx5 will require Android 5 (SDK level 21) from the next release,
which will probably tagged as 3.0.
2.6.x (currently 2.6.5) will be the last branch which supports Android 4.4.
Maybe there will never be a version after 2.6.5, which will still be offered for
Android 4.4 devices. If there's big need for a maintenance release (like severe security
problems), there may be further 2.6.x releases (branched from 2.6.5), but
development and new features will only go to the master branch.
2020-04-21 18:49:45 +02:00
Ricki Hirner
a07d849c35
Version bump to 2.7.0-beta2
2020-04-21 18:49:45 +02:00
Ricki Hirner
cea8d54556
lint; remove soldupe for now
2020-04-21 18:49:45 +02:00
Ricki Hirner
6189eef55f
Update libraries (including dnsjava 2.x -> 3.x)
...
* dnsjava 3.x is now compatible with Android by default; removed compatibility code
2020-04-21 18:49:45 +02:00
Ricki Hirner
07dc7592b7
Minor code cleanup
2020-04-21 18:49:45 +02:00
Ricki Hirner
da42ad63a2
Intro optimizations
2020-04-21 18:49:45 +02:00
Ricki Hirner
a2eabbdcee
battery intro: capitalize manufacturer and re-check on activity resume; update dependencies
2020-04-21 18:49:45 +02:00
Ricki Hirner
ad185865c4
Version bump to 2.7.0-beta1
2020-04-21 18:49:45 +02:00
Ricki Hirner
b0a5bfccad
Introduce IntroActivity instead of startup fragments
2020-04-21 18:49:45 +02:00
Ricki Hirner
4303132a38
Fetch translations from Transifex
2020-04-21 18:48:47 +02:00
Ricki Hirner
a0da93f910
cert4android: update strings
2020-04-21 18:48:47 +02:00
Ricki Hirner
3c38f063c5
Adapt WebView progress bar; don't use okhttp BOM
2020-04-21 18:48:47 +02:00
Ricki Hirner
c18ef6304b
Fix build; bump version to 3.0-beta2
2020-04-21 18:48:47 +02:00
Ricki Hirner
2542aba3f0
Nextcloud Login flow: show progress and errors (including TLS errors)
2020-04-21 18:48:47 +02:00
Ricki Hirner
75ef28bd1d
Update dependencies; clean up ProGuard/R8 rules
2020-04-21 18:48:47 +02:00
Ricki Hirner
3aa729051f
Use new AboutLibraries gradle plugin
2020-04-21 18:48:47 +02:00
Ricki Hirner
49fafb40e3
Update gradle plugin
2020-04-21 18:48:47 +02:00
Ricki Hirner
d1dcf889f3
Adapt login styles
2020-04-21 18:48:47 +02:00
Ricki Hirner
91f9baf042
Don't cancel notifications of other sync threads (lets important notifications disappear sometimes)
2020-04-21 18:48:47 +02:00
Ricki Hirner
453e703bc0
Version bump to 3.0-beta1
2020-04-21 18:48:47 +02:00
Ricki Hirner
0d5b3c2816
Update About activity
2020-04-21 18:48:47 +02:00
Ricki Hirner
86744db3b3
Enable Brotli (in addition to gzip) compression
2020-04-21 18:48:47 +02:00
Ricki Hirner
2965ae4b1e
Code cleanup
2020-04-21 18:48:47 +02:00
Ricki Hirner
3a1edbafbf
Keep TLS 1.0 and 1.1 for now; update dependencies
2020-04-21 18:48:47 +02:00
Ricki Hirner
7f5f3e492b
Fix some vector icons
2020-04-21 18:48:47 +02:00
Ricki Hirner
e7dce774c8
Remove bitmap notification icons
2020-04-21 18:48:47 +02:00
Ricki Hirner
25b97e96e1
Fix tests
2020-04-21 18:48:47 +02:00
Ricki Hirner
0d66d29380
Update okhttp to 4.5.0 and dav4jvm to 2.0
2020-04-21 18:48:47 +02:00
Ricki Hirner
029c4737bd
Revert "Update libraries (including dnsjava 2.x -> 3.x)"
...
This reverts commit bcd7700dc7d2d67a6c3a25c8f9a18694e496a29c.
2020-04-21 18:48:47 +02:00
Ricki Hirner
5e5d59889f
Remove vectorDrawables support library and multidex
2020-04-21 18:48:47 +02:00
Ricki Hirner
bc9aaf04fe
Require Android 5 (SDK level 21); update gradle
...
Recent okhttp versions require Android 5. Also, a lot of workarounds
(like non-vector graphics for notification icons) which are cumbersome
to maintain have accumulated.
So, DAVx5 will require Android 5 (SDK level 21) from the next release,
which will probably tagged as 3.0.
2.6.x (currently 2.6.5) will be the last branch which supports Android 4.4.
Maybe there will never be a version after 2.6.5, which will still be offered for
Android 4.4 devices. If there's big need for a maintenance release (like severe security
problems), there may be further 2.6.x releases (branched from 2.6.5), but
development and new features will only go to the master branch.
2020-04-21 18:48:47 +02:00
Ricki Hirner
3ba2922bde
Version bump to 2.7.0-beta2
2020-04-21 18:48:47 +02:00
Ricki Hirner
6277f35db4
lint; remove soldupe for now
2020-04-21 18:48:47 +02:00
Ricki Hirner
b0c53fb852
Update libraries (including dnsjava 2.x -> 3.x)
...
* dnsjava 3.x is now compatible with Android by default; removed compatibility code
2020-04-21 18:48:47 +02:00
Ricki Hirner
ce0e623912
Minor code cleanup
2020-04-21 18:48:47 +02:00
Ricki Hirner
d1709df0b6
Intro optimizations
2020-04-21 18:48:47 +02:00
Ricki Hirner
5469dee1f2
battery intro: capitalize manufacturer and re-check on activity resume; update dependencies
2020-04-21 18:48:47 +02:00
Ricki Hirner
489f7ac639
Version bump to 2.7.0-beta1
2020-04-21 18:48:47 +02:00
Ricki Hirner
58ca99198f
Introduce IntroActivity instead of startup fragments
2020-04-21 18:48:47 +02:00
Ricki Hirner
8a46fcedba
Do full resync if "past event time limit" is changed from number to null
2020-03-29 17:57:25 +02:00
Ricki Hirner
a0816c11d2
Show languages in About
2020-03-07 18:51:02 +01:00
Ricki Hirner
c06950751b
Version bump to 2.6.5
2020-03-07 12:30:52 +01:00
Ricki Hirner
cfc0130bec
Version bump to 2.6.5-beta1; update dependencies
2020-03-06 12:08:36 +01:00
Alex Baker
213851856e
Clear password error on text changed
2020-03-06 12:04:48 +01:00
Ricki Hirner
b7e60cd143
Only use multi-get for tasks sync, too
2020-03-06 12:04:48 +01:00
Ricki Hirner
37a299d0f7
Fetch translations from Transifex
2020-03-06 00:23:42 +01:00
Ricki Hirner
41d33fac44
Version bump to 2.6.5
2020-03-06 00:22:36 +01:00
Ricki Hirner
3dc2aa65df
Sync algorithm bug fixes/improvements
...
- Collection sync: don't save new sync state before downloading is finished
- throw exception when waiting for completion times out
- always use multi-get, even for single vCards/iCalendars
2020-03-06 00:06:07 +01:00
Ricki Hirner
43f4d9c05d
Merge branch 'textlayout_errors' into 'master-ose'
...
Move errors from EditTexts to TextInputLayouts
See merge request bitfireAT/davx5-ose!28
2020-03-03 21:38:09 +00:00
Ricki Hirner
6c0b555ec9
lint
2020-03-03 18:59:33 +01:00
Ricki Hirner
8918382003
Use requireView() instead of view!! and requireActivity() instead of activity!!
2020-03-03 16:28:32 +01:00
Ricki Hirner
e30c41828f
Update gradle plugin, okhttp
2020-03-03 14:46:00 +01:00
Ricki Hirner
224c92cc87
Update gradle version and Android plugin; dependencies
2020-03-03 14:46:00 +01:00
Ricki Hirner
4498f9bf03
Update okhttp to 3.12.9
2020-03-03 14:45:52 +01:00
Alex Baker
b3c7f1f9ef
Move errors from EditTexts to TextInputLayouts
2020-02-27 08:57:07 -06:00
Ricki Hirner
5622d743c3
Version bump to 2.6.4
2020-02-20 18:31:01 +01:00
Ricki Hirner
ae4c6e94c8
Fetch translations from Transifex
2020-02-20 18:15:50 +01:00
Ricki Hirner
7bdb5c5a97
Update cert4android
2020-02-20 18:13:57 +01:00
Ricki Hirner
62c0dfbaee
Update support libraries
2020-02-20 18:10:57 +01:00
Ricki Hirner
53f35d5ee3
Event sync: delete exceptions from events when events are mass-deleted, too
2020-02-20 18:10:57 +01:00
Ricki Hirner
c9dab31067
Webcal calendars: use UrlUtils.equals to find matching calendar; update dependencies
2020-01-24 20:22:02 +01:00
Ricki Hirner
ac3e9fb825
Fetch translations from Transifex
2020-01-23 18:39:07 +01:00
Ricki Hirner
8325fdcf86
Version bump to 2.6.4-beta1
2020-01-23 18:37:41 +01:00
Ricki Hirner
3f2090ecc7
Update ical4android (alarm handling) and AboutLibraries
2020-01-20 22:17:19 +01:00
Ricki Hirner
e236b07184
Use okhttp version defined by DAVx5 (dav4jvm version may be older)
2020-01-16 19:57:38 +01:00
Ricki Hirner
3905679576
Version bump to 3.6.2.1
2020-01-14 21:11:58 +01:00
Ricki Hirner
2f33374649
Update dependencies (including okhttp 3.12.8)
2020-01-14 21:08:49 +01:00
Ricki Hirner
54222d3328
Version bump to 2.6.3; add F-Droid changelog
2020-01-07 14:47:55 +01:00
Ricki Hirner
31339f3014
Don't create default reminder for full-day events
2020-01-07 09:47:32 +01:00
Ricki Hirner
6f1d513e54
Version bump to 2.6.3-beta6
2020-01-06 20:59:44 +01:00
Ricki Hirner
fef8ce2366
Improve resource detection: detect address books/calendars when they are identical with their home-set
2020-01-06 16:25:39 +01:00
Ricki Hirner
c9ca84f14b
Account activity: make space for FAB at end of collection list
2020-01-06 14:40:30 +01:00
Ricki Hirner
53698adda2
Version bump to 2.6.3-beta5
2020-01-06 13:50:29 +01:00
Ricki Hirner
27c89e762e
Fetch translations from Transifex
2020-01-06 13:49:35 +01:00
Ricki Hirner
92394bb6af
Take default reminder from settings provider, if available
2020-01-06 13:39:46 +01:00
Ricki Hirner
eba5280a58
Update ical4android, okhttp
2020-01-05 13:58:16 +01:00
Ricki Hirner
c3157f1256
Bump version to 2.6.3-beta4
2019-12-30 17:35:50 +01:00
Ricki Hirner
5c795950af
Fetch translations from Transifex
2019-12-30 17:28:28 +01:00
Ricki Hirner
15f5152a7d
UiUtils.launchUri: show toast if no browser is installed
2019-12-28 15:33:59 +01:00
Ricki Hirner
03f54f5402
Add link to Privacy policy to Accounts drawer
2019-12-28 15:16:03 +01:00
Ricki Hirner
41ba92cc4c
Default alarms: don't take app-wide Settings into account
2019-12-27 23:22:27 +01:00
Ricki Hirner
c267c92a87
Rewrite account settings to use ViewModel
2019-12-27 19:00:33 +01:00
Ricki Hirner
3111e54d1a
Rename "default alarm" to "default reminder"
2019-12-27 19:00:19 +01:00
Ricki Hirner
ebd20866b3
Version bump to 2.6.3-beta3
2019-12-26 17:51:07 +01:00
Ricki Hirner
a789246925
Account settings: always call sync adapter for re-sync
2019-12-26 17:49:12 +01:00
Ricki Hirner
11452caa13
cert4android: use new Material theme
2019-12-26 17:26:29 +01:00
Ricki Hirner
7577eb10e8
Rename SyncAdapterService.SYNC_EXTRAS_RELOAD_ALL to SYNC_EXTRAS_FULL_RESYNC
2019-12-26 17:26:29 +01:00
Ricki Hirner
4b579ca419
Introduce default alarm setting
...
* move .ui.AccountSettingsActivity to .ui.account.SettingsActivity
* add setting for default alarms
* add sync extra: SyncAdapterService.SYNC_EXTRAS_RELOAD_ALL (forces full re-synchronization of all members)
* LocalCollection: add forgetETags() which resets the ETags of members
* account settings: automatic reloading of members when certain settings are modified
2019-12-26 17:26:29 +01:00
Ricki Hirner
f9a8de29e2
Fix vcard4android; bump version to 2.6.3-beta2
2019-12-23 22:42:07 +01:00
Ricki Hirner
d28f5115fb
vCard sync: improve compatibility (for instance with Samsung "Edge panel"); version bump to 2.6.3-beta1
2019-12-22 17:24:52 +01:00
Ricki Hirner
2a40432494
Fetch translations from Transifex
2019-12-22 11:03:28 +01:00
Ricki Hirner
06d79087b0
Version bump to 2.6.2
2019-12-22 11:01:32 +01:00
Ricki Hirner
3e6243901e
Version bump to 2.6.2-beta5
2019-12-20 17:14:52 +01:00
Ricki Hirner
054955b89e
Use String for SYNC_EXTRAS_PRIORITY_COLLECTIONS becuase LongArray mustn't be used for sync extras
2019-12-20 12:14:39 +01:00
Ricki Hirner
c28001f0f1
Version bump to 2.6.2-beta4
2019-12-17 14:01:27 +01:00
Ricki Hirner
c4d7e6857b
CardDAV: handle (non-standard) TYPE=other for phone numbers and addresses, too (for better compatibility)
2019-12-17 13:34:01 +01:00
Ricki Hirner
4f237d82fb
Update theme
2019-12-17 12:55:24 +01:00
Ricki Hirner
05cb460cf5
Version bump to 2.6.2-beta3
2019-12-15 22:22:26 +01:00
Ricki Hirner
2a31ebb2a3
Increase vCard compatibility
2019-12-15 22:14:51 +01:00
Ricki Hirner
372ad8b704
SYNC_EXTRAS_PRIORITY_COLLECTIONS: use LongArray instead of String
2019-12-13 11:06:55 +01:00
Ricki Hirner
296f55651e
Introduce SYNC_EXTRAS_PRIORITY_COLLECTIONS; ical4android: map event categories to special extended property
2019-12-12 20:15:30 +01:00
Ricki Hirner
fe5c5737ef
Update gradle plugin, version bump to 2.6.2-beta2
2019-12-11 12:48:31 +01:00
Ricki Hirner
32fe98a196
ProGuard: keep enum classes
2019-12-07 23:48:48 +01:00
Ricki Hirner
de687eaf52
Version bump to 2.6.2-beta1
2019-12-06 12:50:37 +01:00
Ricki Hirner
2062802cb6
Improve usage of Material theme
2019-12-03 18:52:35 +01:00
Ricki Hirner
b280941b2b
Don't handle uncaught exceptions in debug builds
2019-12-03 18:52:33 +01:00
Ricki Hirner
049145d0ea
use Material theme; update AboutLibraries dependency
2019-12-03 18:51:47 +01:00
Ricki Hirner
c1162fce8e
Library updates; show permissions in debug info
2019-11-30 23:50:42 +01:00
Ricki Hirner
40fd412064
Fetch translations from Transifex
2019-11-25 22:58:38 +01:00
Ricki Hirner
c13243f3ae
Version bump to 2.6.1.1
2019-11-25 22:58:38 +01:00
Ricki Hirner
bda2d64ca4
ical4android: generate DTSTAMP again
2019-11-25 22:57:16 +01:00
Ricki Hirner
f974ca2ffa
ical4android: unify VEVENT/VTODO parsing
2019-11-24 15:35:42 +01:00
Ricki Hirner
d6cd0faeeb
ical4android: better compatibility with Outlook timezone IDs
2019-11-24 14:38:44 +01:00
Ricki Hirner
33345db0f0
Managed DAVx5: don't show OpenTasks startup dialog
2019-11-23 14:52:33 +01:00
Ricki Hirner
6e2d7b10d7
Fetch translations from Transifex
2019-11-22 18:04:10 +01:00
Ricki Hirner
b9fb983b97
Version bump to 2.6.1
2019-11-22 18:02:55 +01:00
Ricki Hirner
fe738636a2
Events: ignore empty strings when processing locally stored events; tasks: clear parent_id when it's not set anymore after a remote update
2019-11-16 18:57:41 +01:00
Ricki Hirner
46df7a63c7
Version bump to 2.6.1-beta4
2019-11-16 16:21:57 +01:00
Ricki Hirner
b4ebfa4fe5
SyncManager: generate all UID/file names before uploading any resources
...
- provider queries: use boolean syntax ("WHERE dirty" instead of "WHERE dirty!=0" etc.)
2019-11-16 16:21:39 +01:00
Ricki Hirner
9979dc95c2
Fetch translations from Transifex
2019-11-15 23:48:45 +01:00
Ricki Hirner
ebf1273c37
Version bump to 2.6.1-beta3
2019-11-15 23:47:59 +01:00
Ricki Hirner
3bfe33e37a
Correctly handle EMAIL reminders
2019-11-15 23:47:41 +01:00
Ricki Hirner
6d273f8b0d
Account settings migration: download all tasks again to parse relations etc.
2019-11-13 17:17:23 +01:00
Ricki Hirner
6922a68b77
Version bump to 2.6.1-beta2
2019-11-13 14:12:15 +01:00
Ricki Hirner
af3a588632
Tasks: directly use Relation rows, no need for DelayedRelation anymore
2019-11-13 14:11:58 +01:00
Ricki Hirner
285dfe9307
Fetch translations from Transifex
2019-11-13 00:04:00 +01:00
Ricki Hirner
bc80e74a83
Version bump to 2.6.1-beta1
2019-11-13 00:03:17 +01:00
Ricki Hirner
6fe5fafed7
Tasks: support RELATED-TO (subtasks)
2019-11-13 00:02:55 +01:00
Ricki Hirner
058354b9a4
Update dependencies
2019-11-12 14:02:56 +01:00
Ricki Hirner
16e1d5041f
Dokka: add links to source code and libraries
2019-11-12 14:02:56 +01:00
Ricki Hirner
4bca002892
ical4android: save/restore unknown properties of tasks; disable allowBackup because it won't work anyway
2019-11-11 00:10:30 +01:00
Ricki Hirner
fba759583d
Login with URL: assume https:// URI scheme if none given
2019-11-10 10:36:12 +01:00
Ricki Hirner
3ed16ae5b2
Add CONTRIBUTING
2019-11-09 22:06:47 +01:00
Ricki Hirner
888ffc8d90
Require privileged container for tests
2019-11-09 19:52:18 +01:00
Ricki Hirner
5ff90d8e20
Update dependencies
2019-11-09 19:52:04 +01:00
Ricki Hirner
edab897732
Use headless emulator from new repo for testing
2019-11-08 00:57:01 +01:00
Ricki Hirner
06637b4b47
Update dependencies
2019-11-08 00:56:56 +01:00
Ricki Hirner
2ff839837a
Fetch translations from Transifex
2019-10-25 11:09:35 +02:00
Ricki Hirner
e80243b133
Version bump to 2.6
2019-10-25 11:08:55 +02:00
Ricki Hirner
481eccc4d6
Login Flow: optimization
2019-10-24 11:21:35 +02:00
Ricki Hirner
2e641a9e9b
Merge branch 'fixLoginFlow' into 'master-ose'
...
Nextcloud login flow: correct concatenate url with davPath
See merge request bitfireAT/davx5-ose!22
2019-10-24 08:48:21 +00:00
Ricki Hirner
fe8b4b1d24
Merge branch 'fixUsername' into 'master-ose'
...
username was retrieved from intent, but not used
See merge request bitfireAT/davx5-ose!23
2019-10-24 08:44:13 +00:00
tobiasKaminsky
2fc9d2862e
username was retrieved from intent, but not used
2019-10-22 09:48:01 +02:00
tobiasKaminsky
23a9be403b
correct concatenate url with davPath.
...
Previously a subfolder was omitted:
serverUrl: http://localhost/nc
davPath: /remote.php/dav
-->
wrong: http://localhost/remote.php/dav
correct: http://localhost/nc/remote.php/dav
2019-10-22 09:37:09 +02:00
Ricki Hirner
cd9518c619
Version bump to 2.6-beta3
2019-10-09 11:04:28 +02:00
Ricki Hirner
29c0a9b586
Account list fragment network detection: compatibility with Android <6
2019-10-08 19:07:57 +02:00
Ricki Hirner
aac25b3bdc
Connectivity check: check for VALIDATED INTERNET capability
2019-10-07 17:17:35 +02:00
Ricki Hirner
31b47a8554
Fetch translations from Transifex
2019-10-07 11:45:34 +02:00
Ricki Hirner
f8eb7a6d56
cert4android: fetch translations from Transifex
2019-10-07 11:43:53 +02:00
Ricki Hirner
f41786f9f1
Version bump to 2.6-beta1
2019-10-07 11:43:52 +02:00
Ricki Hirner
80f31bbc03
Implement Nextcloud Login Flow
2019-10-07 11:37:13 +02:00
Ricki Hirner
4c229c81a1
Account list fragment: Show "Network unavailable" message if there is no Internet connection (only API 21+)
2019-10-07 11:35:05 +02:00
Ricki Hirner
0ac6dc8538
Set target SDK to level 29 (Android 10)
...
- ask for ACCESS_FINE_LOCATION/ACCESS_BACKGROUND_LOCATION when sync is restricted to specific WiFi SSIDs
- use Android 5+ way to determine active network connections, if possible
2019-09-30 17:28:11 +02:00
Ricki Hirner
1a52794bd1
Keep "force read only" flag when refreshing collections
2019-09-30 15:36:52 +02:00
Ricki Hirner
5f9f5e2732
Get dav4jvm from jitpack instead of using a submodule
2019-09-30 13:45:34 +02:00
Ricki Hirner
9c50903fd6
Fetch translations from Transifex
2019-09-21 11:48:08 +02:00
Ricki Hirner
aa4b3657e5
Version bump to 2.5.5
2019-09-21 11:46:33 +02:00
Ricki Hirner
ed23b4834c
Fetch translations from Transifex (thanks for Bulgarian and Silesian!)
2019-09-20 00:10:18 +02:00
Ricki Hirner
da81482bad
lint
2019-09-19 14:27:27 +02:00
Ricki Hirner
f453d06929
Minor method signature updates for SDK level 29
2019-09-19 13:58:28 +02:00
Ricki Hirner
0d07fe9020
Version bump to 2.5.5-beta1, compile against SDK level 29
2019-09-19 13:43:30 +02:00
Ricki Hirner
ddd3ffb2c2
Remove conscrypt version (set by cert4android)
2019-09-19 13:43:03 +02:00
Ricki Hirner
b4b87bc4f5
Update cert4android
2019-09-18 23:40:24 +02:00
Ricki Hirner
e74a919812
Update dependencies; new findPreference syntax
2019-09-18 23:40:24 +02:00
Ricki Hirner
ef8931c9c4
Tasks: support CATEGORIES
2019-09-18 23:40:24 +02:00
Ricki Hirner
13e9d7c7b4
Enable Autofill for login screen
2019-08-25 16:35:43 +02:00
Ricki Hirner
4c4cbf6f2e
Version bump to 2.5.4.1
2019-08-25 15:32:05 +02:00
Ricki Hirner
55a51c0b87
Fetch translations from Transifex
2019-08-25 15:31:01 +02:00
Ricki Hirner
e7833e403f
Update gradle plugin
2019-08-25 15:29:27 +02:00
Ricki Hirner
ee36b10fd4
Add ProGuard line to avoid AppCompat crash
2019-08-13 18:59:57 +02:00
Ricki Hirner
79c4e24816
Version bump to 2.5.4
2019-08-06 12:45:47 +02:00
Ricki Hirner
4a8bf47aa3
Update material components to 1.1.0-alpha09, allegedly fixes Meizu crash
2019-08-05 22:57:02 +02:00
Ricki Hirner
d32a142ef0
Fetch translations from Transifex
2019-07-20 22:12:18 +02:00
Ricki Hirner
1a8171a55e
Version bump to 2.5.3
2019-07-20 22:07:37 +02:00
Ricki Hirner
d5a03d7837
Update dependencies
2019-07-19 14:32:47 +02:00
Ricki Hirner
bcc8e02d77
Create collections: enable sync of created collections by default
2019-07-19 14:30:55 +02:00
Ricki Hirner
75124d99bc
Home set enumeration: use correct displayName, also honor bind privilege; version bump to 2.5.3-beta1
2019-07-19 14:30:55 +02:00
Ricki Hirner
a081ef210b
Re-enable HTTP/2 again (was disabled for all connections and not only when using client certificates by mistake)
2019-07-19 14:30:55 +02:00
Ricki Hirner
1882dee0c2
Process home-set display names
2019-07-16 12:52:41 +02:00
Ricki Hirner
fb7012e7c6
Update gradle plugin
2019-07-12 22:48:10 +02:00
Ricki Hirner
bbb32d501f
Fetch translations from Transifex
2019-07-10 14:57:29 +02:00
Ricki Hirner
338375789a
Fetch translations from Transifex
2019-07-08 21:46:08 +02:00
Ricki Hirner
123c5906bd
Update ical4j; version bump to 2.5.2
2019-07-08 16:45:54 +02:00
devvv
eeac458d93
Update README.md
2019-06-24 17:18:14 +00:00
Ricki Hirner
471722496e
ical4android: fix threading problem
2019-06-23 15:53:53 +02:00
Ricki Hirner
1ecd16c229
Address books accounts: set initial user data twice for older Android versions
2019-06-20 12:26:19 +02:00
Ricki Hirner
1804c4af96
Debug info: also show UnknownHostException; update Room dependency
2019-06-19 01:06:27 +02:00
Ricki Hirner
5974ffc7f6
Fetch translations from Transifex
2019-06-09 11:18:31 +02:00
Ricki Hirner
5073a56fd6
Version bump to 2.5.1
2019-06-09 11:18:31 +02:00
Ricki Hirner
1e76a92d02
Version bump to 2.5.1-beta2
2019-06-07 21:26:56 +02:00
Ricki Hirner
5709fd38d9
Webcal subscriptions: handle webcal(s):// URLs and treat them as http(s)://
2019-06-07 21:26:31 +02:00
Ricki Hirner
4bf9ba5f2d
Update dependencies
2019-06-07 21:26:31 +02:00
Ricki Hirner
f5e317a08a
Fetch translations from Transifex
2019-05-29 18:12:07 +02:00
Ricki Hirner
8936ad7810
Update dokka, Kotlin
2019-05-29 18:10:14 +02:00
Ricki Hirner
1d20dbe4e8
Version bump to 2.5.1-beta1
2019-05-29 18:05:58 +02:00
Ricki Hirner
b247e70d2a
Use android:hint in TextInputLayout instead of TextInputEditText (should fix Meizu crashes)
2019-05-29 18:05:31 +02:00
Ricki Hirner
477ee085fc
Show unhandled exceptions with DebugInfoActivity
2019-05-25 11:14:45 +02:00
Ricki Hirner
8f62c185ec
Don't use HTTP/2 with client certificates
2019-05-22 23:58:00 +02:00
Ricki Hirner
f6144dc0ab
Update gradle plugin, library dependencies
2019-05-17 12:04:03 +02:00
Ricki Hirner
a958ed48f9
AccountActivity: set color for swipe refresh
2019-05-15 11:52:21 +02:00
Ricki Hirner
3458f786f5
Fetch translations from Transifex; add Finnish
2019-05-15 11:43:56 +02:00
Ricki Hirner
db037f1dfb
Bump version code to 288
2019-05-15 11:39:43 +02:00
Ricki Hirner
c4ee6037ec
Don't show permantenly pending sync for CalDAV if OpenTasks is not installed
2019-05-14 21:12:56 +02:00
Ricki Hirner
82310b2c0d
Fetch translations from Transifex
2019-05-13 20:20:09 +02:00
Ricki Hirner
292b72b62f
Version bump to 2.5; minor lint fixes
2019-05-13 20:13:08 +02:00
Ricki Hirner
4cdf26d674
cert4android: update translations
2019-05-10 16:47:07 +02:00
Ricki Hirner
c5c68ad7c9
Fetch translations from Transifex; new translation: Slovak (thanks brango67!)
2019-05-10 16:46:51 +02:00
Ricki Hirner
c734e1a1f2
Debug info: set informational text for shared logs
2019-05-09 21:21:56 +02:00
Ricki Hirner
459f9da486
Fetch translations from Transifex
2019-05-09 12:22:12 +02:00
Ricki Hirner
1fbd532237
Version bump to 2.5-beta2
2019-05-09 12:17:21 +02:00
Ricki Hirner
a67a56e0c5
Fix NPE in WebcalFragment
2019-05-09 12:16:57 +02:00
Ricki Hirner
787c5e480a
Update icon resolutions, names and action bar icon color
2019-05-09 12:16:48 +02:00
Ricki Hirner
38ecd7a4c4
Update libraries
2019-05-09 12:16:41 +02:00
Ricki Hirner
17cf4a6289
Version bump to 2.5-beta1
2019-05-06 21:42:11 +02:00
Ricki Hirner
ac8558ce6a
Progress bars for AccountActivity (which now also show pending syncs)
2019-05-06 21:41:42 +02:00
Ricki Hirner
4db40ac223
Fetch translations from Transifex
2019-05-06 19:35:54 +02:00
Ricki Hirner
38ab785382
Update ical4j: now allows UTC properties to have non-UTC values for compatibility
2019-05-06 19:23:30 +02:00
Ricki Hirner
0c5bb19be9
Minor fixes
2019-05-06 19:20:22 +02:00
Ricki Hirner
310e5a1720
More AccountActivity; fix bug in CreateCalendarActivity & co
2019-05-06 19:20:15 +02:00
Ricki Hirner
9df0db1ec3
Correctly handle permissions in WebcalFragment
2019-05-06 19:20:08 +02:00
Ricki Hirner
f6f3ebb48b
DavService: don't delete all homesets/collections on refresh, but update only changed rows
2019-05-06 19:20:01 +02:00
Ricki Hirner
ffe59915d9
Rename AccountActivity2 to AccountActivity
2019-05-06 19:19:54 +02:00
Ricki Hirner
94a8c4c218
Make AccountActivity2 fully working again
2019-05-06 19:19:46 +02:00
Ricki Hirner
efa168b941
Use AppBarLayout for AccountActivity
2019-05-06 19:19:38 +02:00
Ricki Hirner
b8abc60752
Linuxtage Action
2019-05-06 19:19:01 +02:00
Ricki Hirner
77d6fc7243
Fix Android 4.4 compatibility; version code bump
2019-04-19 14:15:49 +02:00
Ricki Hirner
f50f86c1ad
vCard: use "groupX" instead of "davdroidX" for property grouping
2019-04-19 12:57:55 +02:00
Ricki Hirner
3c07bc3abc
Use Conscrypt; show progress bar when loading account activity
2019-04-19 02:33:01 +02:00
Ricki Hirner
400b7babbc
Improve database migrations
2019-04-18 13:35:29 +02:00
Ricki Hirner
5ff86d809f
Fix crash in account setup
2019-04-18 13:35:29 +02:00
Ricki Hirner
9af246a01a
Version bump to 2.4.1-beta1
2019-04-18 13:25:39 +02:00
Ricki Hirner
d7cefa84f4
Update Kotlin, gradle, gradle plugin
2019-04-17 22:53:19 +02:00
Ricki Hirner
d7b73a35e1
Tests
2019-04-17 12:24:33 +02:00
Ricki Hirner
f20d921559
Handle permissions with LiveData; manifest: add app settings/debug info activity
2019-04-16 21:36:14 +02:00
Ricki Hirner
cdec545568
Use live paged data for AccountActivity
2019-04-16 21:36:14 +02:00
Ricki Hirner
6af50dbc43
Use Room for database
2019-04-16 21:36:14 +02:00
Ricki Hirner
7a44f61887
Minor cert4android/ical4android update
2019-04-03 00:00:53 +02:00
Ricki Hirner
4ec98acdd1
Fetch translations from Transifex
2019-04-02 23:48:55 +02:00
Ricki Hirner
e0a000cbd8
Hotfix: AccountActivity: avoid endless loop of asking for permissions; version bump to 2.4.0.1
2019-04-02 23:48:14 +02:00
Ricki Hirner
7c8f74ab14
Version bump to 2.4
2019-03-29 15:07:42 +01:00
Ricki Hirner
03cbe4f665
Update read-only state or raw contacts/data rows according to the address book
2019-03-27 12:34:44 +01:00
Ricki Hirner
a76829c3dd
Version bump to 2.4-beta4
2019-03-27 12:15:20 +01:00
Ricki Hirner
d83a4df524
Account activity: update "force read only" responsively
2019-03-27 12:13:21 +01:00
Ricki Hirner
afdfb735bd
Fetch translations from Transifex
2019-03-26 22:02:48 +01:00
Ricki Hirner
414f771156
Remove unused sync status notification channel
2019-03-26 22:00:03 +01:00
Ricki Hirner
c690dfd148
Support read-only flag in raw contacts/data rows for read-only address books
2019-03-26 21:11:56 +01:00
Ricki Hirner
50775f26ce
Change secondary text color to darker gray
2019-03-26 18:19:06 +01:00
Ricki Hirner
40a1748461
Use .closeCompat for ContentProviderClient instances
2019-03-26 18:19:06 +01:00
Ricki Hirner
63e360fb3a
AccountActivity: remove "Select collections to synchronize"
2019-03-26 13:01:33 +01:00
Ricki Hirner
d7216f5ffa
Update libraries; bump version to 2.4-beta3
2019-03-26 12:14:53 +01:00
Ricki Hirner
a749a9fd34
Rename "debug model" (artifact from search/replace) to "debug info" again
2019-03-26 12:14:25 +01:00
Ricki Hirner
6951397945
AccountActivity: use ViewModel, RecyclerView
2019-03-25 11:37:44 +01:00
Ricki Hirner
6153b3aafe
AccountAdapter not-null assertion
2019-03-24 17:17:37 +01:00
Ricki Hirner
325dd41820
Version bump to 2.4-beta2
2019-03-24 00:05:59 +01:00
Ricki Hirner
be94ee19d8
Enable gradle incubation
2019-03-23 23:27:17 +01:00
Ricki Hirner
d03ef78db9
Update tests
2019-03-23 23:24:37 +01:00
Ricki Hirner
e7e580132f
Enable Gitlab CI again
2019-03-23 23:24:37 +01:00
Ricki Hirner
a7c62d11ca
Update libs, About logo
2019-03-23 22:54:38 +01:00
Ricki Hirner
d978e6a17d
Fetch translations from Transifex
2019-03-23 21:19:20 +01:00
Ricki Hirner
87457bf6d4
Small fixes
2019-03-23 21:19:20 +01:00
Ricki Hirner
bff9c87c1f
Create collections: use ViewModel
2019-03-23 20:53:49 +01:00
Ricki Hirner
d27261f18a
Handle exceptions when acquiring task provider
2019-03-23 20:52:09 +01:00
Ricki Hirner
affce28652
Don't rely on Manifest-declared implicit broadcast to detect when a tasks app is being installed/removed (Android 8 compatibility)
2019-03-23 20:50:28 +01:00
Ricki Hirner
b319fef88a
Version bump to 2.4-beta1
2019-03-23 20:37:18 +01:00
Ricki Hirner
6369ae1d36
About: use vector icon
2019-03-23 20:37:18 +01:00
Ricki Hirner
8fe093d975
Create calendar: new UI, use ViewModel
2019-03-23 20:37:18 +01:00
Ricki Hirner
e99acb2921
Delete collection: use ViewModel
2019-03-23 20:37:18 +01:00
Ricki Hirner
88e0c16f83
AboutActivity: use ViewModel
2019-03-23 20:37:18 +01:00
Ricki Hirner
b348f54f95
Update beta feedback email address, libraries
2019-03-23 20:37:18 +01:00
Ricki Hirner
b75f8d140a
Login: couple user name and email address
2019-03-23 20:37:18 +01:00
Ricki Hirner
206c2e8aa9
Account setup: fix crash
2019-03-23 20:37:18 +01:00
Ricki Hirner
e8f14c3745
Enable Multidex for >64k methods on Android 4.4
2019-03-23 20:37:18 +01:00
Ricki Hirner
c2e6514a3c
AccountListFragment: use ViewModel
2019-03-23 20:37:18 +01:00
Ricki Hirner
676f74a528
HttpClient: close cache, provide app:html binding
2019-03-16 13:05:43 +01:00
Ricki Hirner
22b9624c0a
Use ViewModel and data binding for login process
2019-03-16 13:02:10 +01:00
Ricki Hirner
f22dd3e013
Debug info: use ViewModel
2019-03-16 13:01:38 +01:00
Ricki Hirner
913b395e56
Update libraries; enable Java 8 compatibility
2019-03-16 13:01:26 +01:00
Ricki Hirner
f9974dbb7e
Move CustomTlsSocketFactory to cert4android so it can be used in other apps like ICSx⁵; update ical4android
2019-02-20 18:29:43 +01:00
Ricki Hirner
49fae85852
Notify on invalid events, too
2019-02-19 21:24:09 +01:00
Ricki Hirner
3addab5bc0
Version bump to 2.3
2019-02-19 21:24:09 +01:00
Ricki Hirner
1bfacff3df
Merge branch 'remove-stray-settings' into 'master-ose'
...
Remove stray Settings.kt file
See merge request bitfireAT/davx5-ose!18
2019-02-14 10:13:41 +00:00
Michael Biebl
643c4f04c9
Remove stray Settings.kt file
...
It was most likely added by accident in commit
7d4689969a
2019-02-14 01:40:54 +01:00
Ricki Hirner
517b60aa21
Metadata: allow translations over Transifex
2019-02-12 16:46:55 +01:00
Ricki Hirner
98eeaf171e
Fetch translations from Transifex
2019-02-09 14:20:41 +01:00
Ricki Hirner
9320de54c3
Metadata: add feature graphic
2019-02-08 17:50:41 +01:00
Ricki Hirner
24730d1925
Notify on invalid iCalendar/vCard objects
...
* add notification channel: sync warnings
* notify on invalid iCalendar/vCard objects
* add app setting: Notification settings (only when notification channels are available)
2019-02-08 17:42:51 +01:00
Ricki Hirner
94fd665b6d
Update Kotlin, gradle, dav4jvm
2019-02-07 13:21:25 +01:00
Ricki Hirner
7d9d9ea57c
Translations: fix positional argument (thanks @mbiebl)
2019-02-06 17:28:33 +01:00
Ricki Hirner
bc1b1ca40f
Update README, use absolute submodules URLs
2019-02-06 17:01:24 +01:00
Ricki Hirner
4ff8a5eb4e
README update
2019-02-06 16:46:00 +01:00
Ricki Hirner
517a859dbf
Fetch translations from Transifex
2019-02-06 16:45:38 +01:00
Ricki Hirner
1b6689133a
Add Greek translation (thanks Efstathios Iosifidis)
2019-02-06 16:44:40 +01:00
Ricki Hirner
8a18e1e738
CalenderSyncManager/TaskSyncManager: log created/updated data; update
...
libs
2019-02-06 01:25:41 +01:00
Ricki Hirner
f241de264d
Update ical4j; show new davx5 logger in scripts/adb-log.sh
2019-01-30 17:45:57 +01:00
Ricki Hirner
2cf73f0f07
Use AppCompatResources.getDrawable instead of context.getDrawable
2019-01-29 23:01:01 +01:00
Ricki Hirner
15008c1a53
Use HtmlCompat.fromHtml instead of deprected Html.fromHtml
2019-01-29 22:55:00 +01:00
Ricki Hirner
c90e491739
Update gradle, Kotlin
2019-01-29 20:02:08 +01:00
Ricki Hirner
1b5ea52138
Settings provider: more logging, scripts update, lib updates
2019-01-29 19:18:38 +01:00
Ricki Hirner
48478c421f
Finish renaming dav4android → dav4jvm (thanks @mbiebl)
2019-01-27 12:15:52 +01:00
Ricki Hirner
f4823f9524
Version bump to 2.2.3.1
2019-01-18 16:16:01 +01:00
Ricki Hirner
2abe164e08
Don't use shouldShowRequestPermissionRationale in debug info (crashes on Motorola Android 6 when permission name is unknown)
2019-01-18 16:14:47 +01:00
Ricki Hirner
fa5856604d
update homepage links; version bump to 2.2.3
2019-01-18 11:33:14 +01:00
Ricki Hirner
c88508ea66
Add Galician translation (thanks Xosé M. Lamas)
2019-01-18 09:58:55 +01:00
Ricki Hirner
e1c5fb2bfd
Add Galician translation (thanks)
2019-01-18 09:58:32 +01:00
Ricki Hirner
9536d43047
Debug info: show location permission; show "Dont ask again" for permissions; show CalDAV "use event colors" option
2019-01-18 02:08:58 +01:00
Ricki Hirner
273c23ee44
Change some DAVdroid leftovers to DAVx⁵; remove Lombok config (thanks @mbiebl)
2019-01-18 01:43:33 +01:00
Ricki Hirner
a34b3b1fee
AccountSettings version 9: disable OpenTasks isSyncable for non-CalDAV accounts
2019-01-18 01:33:30 +01:00
Ricki Hirner
6157d6e767
Disable OpenTasks sync on account creation without CalDAV service; Account UI: finish activity from main thread on account deletion
2019-01-18 01:33:24 +01:00
Ricki Hirner
013729ed73
Account settings: fix sync interval setting once more. Maybe it now works like this?
2019-01-17 12:27:51 +01:00
Ricki Hirner
2287b802ce
Update README
...
* fix Twitter link (thanks Felix Eckhofer)
* update dav4jvm URL
2019-01-16 17:22:28 +01:00
Ricki Hirner
0166008ab6
Fetch translations from Transifex
2019-01-13 21:46:46 +01:00
Ricki Hirner
739bf3e53d
Version bump to 2.2.3-beta1
2019-01-13 21:46:20 +01:00
Ricki Hirner
e36102721f
Restrict sync to WiFi SSIDs: explain why Location permissions are required
2019-01-12 16:01:51 +01:00
Ricki Hirner
5ef9693ac8
Add some phone screenshots
2019-01-08 19:27:29 +01:00
Ricki Hirner
19320dda17
Version bump to 2.2.2
2019-01-08 19:19:43 +01:00
Ricki Hirner
322f9a0da0
Fetch translations from Transifex
2019-01-08 19:17:31 +01:00
Ricki Hirner
ba20d74b64
User-Agent and iCalendar/vCard product IDs: useBuild config; change to dav4jvm
2019-01-08 19:14:03 +01:00
Ricki Hirner
6a512e1f0f
Fix crash on single-core devices and ProGuard rules
2019-01-08 01:21:37 +01:00
Ricki Hirner
4300954101
Fix CI in libs; include dav4jvm as standalone project
2019-01-06 20:01:29 +01:00
Ricki Hirner
2fe19e9342
Rename dav4android to dav4jvm; update gradle
2019-01-06 18:17:19 +01:00
Ricki Hirner
e764d31d18
Login: Show error message when account name is already taken
2019-01-05 11:55:32 +01:00
Ricki Hirner
8d0d920033
Version bump to 2.2.1
2019-01-04 22:30:41 +01:00
Ricki Hirner
e2fcbbea0b
Fetch translations from Transifex
2019-01-04 22:30:41 +01:00
Ricki Hirner
1cefa88b98
Notifications: fix crashes (for Android 4.4 and when wrong CardDAV password occurs)
2019-01-04 22:13:47 +01:00
Ricki Hirner
be4a650deb
Remove unnecessary permissions; ical4android update
...
* remove external storage permissions because logs are now written to the app data directory
* ical4android: use ical4j 2.2.3 with built-in RFC 7986 properties
2019-01-04 14:26:04 +01:00
Ricki Hirner
ab47b2b222
Debug info: fix onShare
...
* bump version code to 261
2019-01-04 01:04:40 +01:00
Ricki Hirner
7f301640da
Account settings: reload in UI thread on Android callback
...
* version bump to 260
2019-01-03 19:20:52 +01:00
Ricki Hirner
83656ef497
Bump version code to 259
2019-01-03 18:55:09 +01:00
Ricki Hirner
77c54a2150
Fetch translations from Transifex
2019-01-03 18:54:52 +01:00
Ricki Hirner
16e3526a66
Retain sync intervals and isSyncable when renaming an account
2019-01-03 18:14:38 +01:00
Ricki Hirner
3ae5653da4
Install Webcal app: rename ICSdroid to ICSx⁵
2019-01-03 17:13:40 +01:00
Ricki Hirner
c02b033f8c
Version bump to 2.2
2019-01-03 16:53:24 +01:00
Ricki Hirner
4afe4837e7
Update strings and ical4j
2019-01-03 16:53:01 +01:00
Ricki Hirner
56813ad4d6
Logging: Use FileProvider instead of external file
2019-01-02 23:56:24 +01:00
Ricki Hirner
036fc405f4
Make sure the account is seen by OpenTasks
2019-01-02 22:07:25 +01:00
Ricki Hirner
95173dcd7d
Ask for contacts/calendar permissions as soon there is a known CalDAV/CardDAV service
2019-01-02 22:07:25 +01:00
Ricki Hirner
be754d6ede
Add F-Droid metadata
2018-12-31 11:26:34 +01:00
Ricki Hirner
20097c0b69
Version bump to 2.1
2018-12-30 20:34:36 +01:00
Ricki Hirner
0d1c265e97
Show Color Picker in README
2018-12-30 18:57:25 +01:00
Ricki Hirner
7ce739c271
Further DAVdroid -> DAVx5 replacements
2018-12-30 16:52:06 +01:00
Ricki Hirner
241957f2dd
New launcher icons
2018-12-30 15:37:41 +01:00
Ricki Hirner
3dea33e100
Fix string references
2018-12-30 14:16:39 +01:00
Ricki Hirner
f8f60f4b52
Update CI script
2018-12-30 13:41:05 +01:00
Ricki Hirner
0d75cf0cdc
Update strings
2018-12-30 12:37:54 +01:00
Ricki Hirner
556843df4f
Remove "Accounts may be gone after rebooting" startup dialog
2018-12-30 12:08:45 +01:00
Ricki Hirner
8b12cb7a29
Fetch translations from Transifex
2018-12-30 11:59:27 +01:00
Ricki Hirner
07c5cdc754
Rename DAVdroid to DAVx⁵
2018-12-30 11:16:23 +01:00
Ricki Hirner
1d33e4c311
Replace AmbilWarna by ColorPicker
2018-12-26 13:58:41 +01:00
Ricki Hirner
7d4689969a
Refactor Settings provider
...
* don't use a separate :sync process anymore, so that settings management doesn't need IPC
* remove Settings service and IPC, use singleton with application Context instead
* adapt default number of sync worker threads
* library updates
2018-12-26 13:30:00 +01:00
Ricki Hirner
b863d355f6
Fetch translations from Transifex
2018-12-22 11:52:27 +01:00
Ricki Hirner
bcd468f2e5
DAV service detection: cancel previous notification (MR #15 thanks @mbiebl)
2018-12-22 11:52:27 +01:00
Ricki Hirner
21fdf2cebc
Version bump to 2.0.7, fix small NPE
2018-12-22 11:52:27 +01:00
Ricki Hirner
ea071bbd1a
Debug info: show details about DAVdroid, contact/calendar providers and contact/calendar/task apps
2018-12-21 18:03:36 +01:00
Ricki Hirner
bc5f1e935e
Ignore HTTP 403 when the resource upload fails because of missing permissions (server will win)
2018-12-21 17:02:33 +01:00
Ricki Hirner
72749addcd
Settings: add some icons; rearrange account settings
2018-12-08 23:25:19 +01:00
Ricki Hirner
6abbd019ad
Version bump to 2.0.6
2018-12-05 12:56:51 +01:00
Ricki Hirner
67b1685d01
Version bump to 2.0.6-beta2
2018-12-03 11:19:01 +01:00
Ricki Hirner
4bbb2b8419
Ignore non-successful multiget responses
2018-12-01 22:01:37 +01:00
Ricki Hirner
8bdf03bfc5
Minor changes (lint/remove warnings)
2018-11-30 13:46:52 +01:00
Ricki Hirner
8b43677d01
Don't do emulator checks (because we can only use shared runners at the moment)
2018-11-30 11:40:24 +01:00
Ricki Hirner
e454fa398a
Update ProGuard rules
2018-11-29 23:37:55 +01:00
Ricki Hirner
f5b1194599
Version bump to 2.0.6-beta1
2018-11-29 23:26:13 +01:00
Ricki Hirner
e549a25812
Update to okhttp 3.12.0
2018-11-29 23:25:43 +01:00
Ricki Hirner
fb90955b2a
Switch to AndroidX
2018-11-29 23:03:38 +01:00
Ricki Hirner
a7f0161983
Merge branch 'dont-hardcode-account_type' into 'master-ose'
...
Don't hard-code accountType and use @string/account_type instead
See merge request bitfireAT/davdroid!12
2018-11-04 17:28:41 +00:00
Ricki Hirner
45efb88b1f
Fetch translations from Transifex
2018-11-04 18:16:58 +01:00
Ricki Hirner
2c022d46fe
Version bump to 2.0.5
2018-11-04 18:16:11 +01:00
Ricki Hirner
50c4ee94e2
Handle unresolvable ACTION_VIEW intents; update gradle, Kotlin
2018-11-04 18:15:07 +01:00
Michael Biebl
d06d24a13e
Don't hard-code accountType and use @string/account_type instead
2018-10-18 19:57:05 +02:00
Ricki Hirner
2c5cdf813a
Allow clear-text traffic (sync with http://) explicitly for Android 9
2018-10-07 18:53:39 +02:00
Ricki Hirner
0250baeeb3
Lint cleanup for Android P
2018-10-05 13:41:03 +02:00
Ricki Hirner
05d1970754
Version bump to 2.1-beta1
2018-10-05 13:21:04 +02:00
Ricki Hirner
a97be98b11
Mark as compatible with Android P (SDK level 28)
2018-10-05 13:21:04 +02:00
Ricki Hirner
1625f092fd
Update Kotlin, gradle, build tools
2018-10-05 13:21:04 +02:00
Ricki Hirner
c0ff8f61f9
Resource detection: separate CalDAV/CardDAV detection; handle SocketTimeoutException better; version bump to 2.0.4
2018-09-08 21:49:21 +02:00
Ricki Hirner
dbfb74a16f
Fetch translations from Transifex
2018-08-28 13:40:14 +02:00
Ricki Hirner
39b277bc6d
Version bump to 2.0.3
2018-08-28 13:38:03 +02:00
Ricki Hirner
d09c70f52b
More fine-grained WebDAV permissions
...
* service DB: split readOnly into privWriteContent and privUnbind
* collections: use privWriteContent (DAV:write-content privilege) for read-only detection
* AccountActivity: allow collection deletion only when privUnbind (DAV:unbind privilege) is set
2018-08-26 20:05:48 +02:00
Ricki Hirner
2f0ee8e230
Make debug info text selectable
2018-08-26 20:05:40 +02:00
Ricki Hirner
c320094b3b
Service detection: ignore HTTP 4xx errors when looking for homesets
2018-08-25 15:59:05 +02:00
Ricki Hirner
5b12015307
Don't offer collection deletion for read-only collections
2018-08-25 15:59:05 +02:00
Ricki Hirner
e7d2c23989
Update Kotlin, dokka, build tools, FAQ URL, libs
2018-08-22 13:17:53 +02:00
Ricki Hirner
80971c52b5
Version bump to 2.0.2
2018-08-15 13:09:46 +02:00
Ricki Hirner
23abf7c1f0
DAVdroid address book sync: only sync address book sub-accounts of current account
2018-08-15 13:08:37 +02:00
Ricki Hirner
613b88ad5e
Fix crash in resource detection
2018-08-15 12:43:22 +02:00
Ricki Hirner
b09d6c13b5
Fetch translations from Transifex
2018-08-10 21:25:43 +02:00
Ricki Hirner
e30ae04534
Version bump to 2.0.1
2018-08-10 21:25:01 +02:00
Ricki Hirner
0ed54bb671
Don't keep Acticity context when creating an account
2018-08-09 12:56:23 +02:00
Ricki Hirner
889ebe160e
AccountActivity: use AsyncTask instead of own Executor
2018-08-07 19:20:36 +02:00
Ricki Hirner
602e14d2bf
Really cancel resource detection when dialog is cancelled
2018-08-06 12:33:29 +02:00
Ricki Hirner
7ed275712e
Use AsyncTask and progress indicator for creating an account
2018-08-06 12:33:25 +02:00
Ricki Hirner
3dc3e75721
Fetch translations from Transifex; always replace "..." by "…"
2018-08-05 10:55:15 +02:00
Ricki Hirner
a63e717ca7
OSE AboutActivity: take GPL from file and use loader
2018-08-05 10:47:58 +02:00
Ricki Hirner
c0044ae901
Don't use gradle variables in version name (F-Droid workaround)
2018-08-03 14:30:27 +02:00
Ricki Hirner
edabdbadc9
Collection properties: replace "Copy URL" button by selectable TextView
2018-08-03 14:30:04 +02:00
Ricki Hirner
47543e448c
Version bump to 2.0
2018-07-30 10:16:19 +02:00
Ricki Hirner
5ff88c5b2b
Fetch translations from Transifex
2018-07-28 14:33:53 +02:00
Ricki Hirner
eadfa39760
Version bump to 2.0-rc1
2018-07-28 14:33:05 +02:00
Ricki Hirner
2342bc92ca
Vector drawable: fix Android 4.4 compatibility
2018-07-28 14:33:00 +02:00
Ricki Hirner
f0d150d491
Fetch translations from Transifex
2018-07-27 16:52:39 +02:00
Ricki Hirner
949a1916b5
Fix/improve error handling; bump version to 1.12-beta4
2018-07-27 16:49:57 +02:00
Ricki Hirner
efa4b7dc66
Version bump to 1.12-beta3
2018-07-22 11:24:14 +02:00
Ricki Hirner
971be44ffe
Fetch translations from Transifex
2018-07-22 11:17:32 +02:00
Ricki Hirner
88efd5ab04
Use Apache Commons ContextedException instead of own class
2018-07-22 11:16:35 +02:00
Ricki Hirner
b44306eaf2
Rewrite startup strings
2018-07-21 11:08:12 +02:00
Ricki Hirner
abb0850889
Version bump to 1.12-beta2
2018-07-17 13:34:11 +02:00
Ricki Hirner
7760bddca7
Collection info: allow copying URL to clipboard
2018-07-17 13:24:57 +02:00
Ricki Hirner
60527e83fe
Collection info fragment
2018-07-17 13:24:52 +02:00
Ricki Hirner
54cc9b39e1
Account activity: show "Select collections to synchronize" hint when no collections are selected
2018-07-16 20:05:40 +02:00
Ricki Hirner
be9d404e6c
Update to okhttp 3.11
2018-07-16 14:01:38 +02:00
Ricki Hirner
fd40b5a4e3
Update build tools; enable parallel sync of address books authority
2018-07-15 17:10:57 +02:00
Ricki Hirner
abb142d118
Fetch translations from Transifex
2018-07-13 15:21:23 +02:00
Ricki Hirner
7a7a940089
New About activity
...
* new About activity using AboutLibraries library
* include DAVdroid version and other non-personal information in URL when DAVdroid homepage is opened
(so that we know what DAVdroid versions are used out there and maybe can provide version-specific help)
2018-07-13 15:21:19 +02:00
Ricki Hirner
f0e1e03095
New sync logic with XML streaming
...
* refactored dav4android to use XML streaming
* refactored collection detection
* refactored sync logic
2018-07-12 00:05:53 +02:00
Ricki Hirner
2358996940
Enable strict mode for debugging; use thread for DB changes in AccountActivity
2018-06-27 12:55:07 +02:00
Ricki Hirner
09b42fc940
Change detection error message
2018-06-24 21:33:59 +02:00
Ricki Hirner
9c796f8226
Rename address book accounts correctly when renaming accounts; drop unparsable fields from vCards
2018-06-20 12:39:35 +02:00
Ricki Hirner
9a635875a1
Version bump to 1.11.5
2018-06-17 16:37:50 +02:00
Ricki Hirner
9d598cead7
move lambda expressions out of parentheses; use CREATOR-named companion objects for Parcelable
2018-06-17 16:37:11 +02:00
Ricki Hirner
2915a1f2b6
Fix lateinit null value in resource detection; update Kotlin and gradle
2018-06-16 15:08:06 +02:00
Ricki Hirner
5316fb42a5
Trigger a full calendar sync when past event time limit is changed in account settings
2018-06-14 09:21:42 +02:00
Ricki Hirner
1c3a5ceb09
Don't show contacts permission notification when no address book is selected for synchronization
2018-06-13 17:23:55 +02:00
Ricki Hirner
c34ca0f8e6
Version bump to 1.11.4.1
2018-06-12 11:15:40 +02:00
Ricki Hirner
b9f629f6ce
Collection sync: don't reset "present remotely" flag after enumerating resources
2018-06-12 00:43:12 +02:00
Ricki Hirner
c6e37fcc58
Version bump to 1.11.4
2018-06-08 11:52:16 +02:00
Ricki Hirner
cb8c1f45ad
Fetch translations from Transifex
2018-06-08 11:52:16 +02:00
Ricki Hirner
f7e1b97a66
Update gradle plugin
2018-06-08 11:52:16 +02:00
Ricki Hirner
90a70f39e8
Fix crash when collection is deleted
2018-05-30 10:33:26 +02:00
Ricki Hirner
9226d867c3
Update copyright
2018-05-28 12:04:56 +02:00
Ricki Hirner
216579680d
Add maxOccurs to contacts.xml group membership (allows editing of contacts again)
2018-05-28 11:56:47 +02:00
Ricki Hirner
fe8b50c76d
Fetch translations from Transifex
2018-05-28 10:47:33 +02:00
Ricki Hirner
9ab7b3b105
Add group memberships to contacts.xml so that they can be edited with some Contacts apps
2018-05-28 10:47:04 +02:00
Ricki Hirner
b90ec5b64c
Version bump to 1.11.4-beta2
2018-05-27 16:28:41 +02:00
Ricki Hirner
b197ac7da2
Show HTTP request/response in debug info
2018-05-27 16:28:02 +02:00
Ricki Hirner
9aa58d170f
Use US locale for date in User-Agent
2018-05-27 15:34:30 +02:00
Ricki Hirner
553b782339
Fix lateinit problem
2018-05-26 12:42:02 +02:00
Ricki Hirner
8b6376e01d
Use HttpUrl whenever possible
...
* HttpUrl is the preferred class because we use URLs mainly for okhttp
* don't use URI or String for URLs, if possible
* HttpUrl is not Serializable, so use Parcelable for data classes with HttpUrl
X
2018-05-26 12:29:42 +02:00
Ricki Hirner
5da229ed88
Use weak reference for sync adapter thread lock
2018-05-26 12:29:38 +02:00
Ricki Hirner
a0bb681f48
Don't show InterruptedIOException; tests
2018-05-25 10:57:03 +02:00
Ricki Hirner
2e3987e6af
Version bump to 1.11.4-beta1
2018-05-24 14:14:27 +02:00
Ricki Hirner
f72588a691
Update ical4android
2018-05-24 14:14:27 +02:00
Ricki Hirner
56fc2121f8
Integrate adaptive icon
2018-05-24 14:14:27 +02:00
Lokesh Krishna
c863d05f3f
Adaptive icon
2018-05-24 14:14:27 +02:00
Ricki Hirner
f0ff12ebb9
dav4android update (immutable responses)
2018-05-24 14:14:27 +02:00
Ricki Hirner
87cb43b0e6
Fetch translations from Transifex
2018-05-24 14:14:27 +02:00
Ricki Hirner
2e073897b8
Collection sync: handle 403 with valid-sync-token precondition
2018-05-24 14:14:27 +02:00
Ricki Hirner
bdc032d1b9
Update build.gradle
2018-05-12 11:27:19 +02:00
Ricki Hirner
d07fcdcddc
ical4android: reduce size of sent VTIMEZONEs
2018-05-11 23:18:54 +02:00
Ricki Hirner
5f2f151e14
Version bump to 1.11.3
2018-05-10 12:57:00 +02:00
Ricki Hirner
33ddb06272
Enable Collection Synchronization for CalDAV when past time event limit is disabled
2018-05-10 12:55:32 +02:00
Ricki Hirner
ef9f13d1d6
Version bump to 1.11.2
2018-05-04 11:01:06 +02:00
Ricki Hirner
6b9520287b
Collection sync: mark skipped entries as locally present
2018-05-01 16:34:38 +02:00
Ricki Hirner
3944ab0222
Version bump to 1.11.2-beta1
2018-05-01 10:19:57 +02:00
Ricki Hirner
103459464c
Improve collection sync for contacts
2018-04-30 12:42:15 +02:00
Ricki Hirner
be2d10278d
Collection sync: don't download already available resources
2018-04-30 12:41:27 +02:00
Ricki Hirner
f4b864b3d0
Support collection sync (RFC 6578) for contacts
2018-04-30 12:41:21 +02:00
Ricki Hirner
a576701ee3
Code cleanup (lint)
2018-04-28 21:23:37 +02:00
Ricki Hirner
40bca54c09
Fix memory leak in vcard4android
2018-04-27 00:54:01 +02:00
Ricki Hirner
88efbd7a00
Add message to local storage error notification
2018-04-26 12:29:16 +02:00
Ricki Hirner
292eb3bb52
Fetch translations from Transifex
2018-04-26 10:53:53 +02:00
Ricki Hirner
bfddf92a3b
Don't throw exception when content provider doesn't return all results; ignore RemoteException on getting contacts sync state
2018-04-26 10:53:27 +02:00
Ricki Hirner
872bfa2f40
Version bump to 1.11.1
2018-04-26 10:52:30 +02:00
Ricki Hirner
73d9dff1b7
Show and use ical4j and okhttp version numbers when possible
2018-04-25 01:04:13 +02:00
Ricki Hirner
fd84ff37e5
Log remote resource info for tasks, too
2018-04-19 08:30:23 +02:00
Ricki Hirner
d280ce9d63
Treat InterruptedIOException like IOException
2018-04-13 15:24:03 +02:00
Ricki Hirner
67c7be900a
Fetch translations from Transifex
2018-04-13 10:24:33 +02:00
Ricki Hirner
c9cd6de476
Version bump to 1.11
2018-04-13 10:19:29 +02:00
Ricki Hirner
924ef0243d
Fetch translations from Transifex
2018-03-29 14:41:22 +02:00
Ricki Hirner
62d9668081
Version bump to 1.11-rc1
2018-03-29 14:41:00 +02:00
Ricki Hirner
ab6fa7ecbf
Update gradle, kotlin, build tools
2018-03-29 14:07:52 +02:00
Ricki Hirner
74b0e5cd31
Fetch translations from Transifex
2018-03-26 09:37:19 +02:00
Ricki Hirner
e2960ab572
Ask for LOCATION_COARSE permission for WiFi name detection on Android 8.1+
2018-03-26 09:36:14 +02:00
Ricki Hirner
50bd119871
Don't re-schedule non-existent master events of deleted exceptions
2018-03-24 23:14:03 +01:00
Ricki Hirner
c1f3165f5d
Improve OpenTasks install message
2018-03-20 12:26:13 +01:00
Ricki Hirner
915cd6ec44
Restrict more method names by interfaces
2018-03-16 13:16:17 +01:00
Ricki Hirner
73e936aeb5
Fix sync bugs
2018-03-15 19:37:04 +01:00
Ricki Hirner
190fc020ae
Minor fixes
2018-03-15 18:14:28 +01:00
Ricki Hirner
c40a6bca2f
OSE fixes
2018-03-15 17:37:19 +01:00
Ricki Hirner
3129fd909f
Use Google repo
2018-03-15 13:11:00 +01:00
Ricki Hirner
31c77a1d57
Themeing, minor refactoring
2018-03-15 13:05:57 +01:00
Ricki Hirner
380562bd28
Add "app auto-start permission" startup dialog for specific vendors
2018-03-15 13:04:38 +01:00
Ricki Hirner
80b1cb55c7
Tests, minor refactoring
2018-03-15 13:01:41 +01:00
Ricki Hirner
59dd66383e
Sync error notifications: retry action, lower importance of IOEXceptions
2018-03-15 13:01:19 +01:00
Ricki Hirner
44af04e310
Account activity: remove SnackBar message when a read-only address book is selected
2018-03-15 13:00:11 +01:00
Ricki Hirner
adf45cb569
Show startup fragments only once per AccountActivity lifecycle
2018-03-15 12:59:58 +01:00
Ricki Hirner
ab88020c15
Sync logic fix, theming, ProGuard
2018-03-15 12:58:56 +01:00
Ricki Hirner
e27c6fde08
Update to support library 27.1.0 and use it wherever possible
...
* Fragment transactions can now be done in onLoadFinished().
2018-03-15 12:57:51 +01:00
Ricki Hirner
3135af78af
Tests
2018-03-15 12:44:43 +01:00
Ricki Hirner
9200ec89e1
Further improve notifications
2018-03-15 12:44:23 +01:00
Ricki Hirner
b37a2ad0e0
Remove Project Lombok from About
...
* not used anymore because of Kotlin
* thanks to Project Lombok!
2018-03-15 12:43:44 +01:00
Ricki Hirner
1df42350cc
Remove PermissionsActivity
...
* asking for permissions is already (and better) done by AccountActivity
2018-03-15 12:43:32 +01:00
Ricki Hirner
3dbd5e3d18
Synchronization error messages / notifications
2018-03-15 12:41:53 +01:00
Ricki Hirner
7fdcb3710b
Rewrite sync algorithm, prepare for WebDAV collection sync
2018-03-15 12:40:32 +01:00
Ricki Hirner
2f9f4f1d7b
Optimize notification icons
...
* don't show DAVdroid icon unless there's a strong relationship to DAVdroid itself
2018-03-15 12:39:13 +01:00
Ricki Hirner
9fc3921b32
Account activity: show progress bar at beginning
2018-01-30 14:58:50 +01:00
Ricki Hirner
4f4a22a14e
ical4android update
2018-01-27 22:57:34 +01:00
Ricki Hirner
16c44d8ad3
OpenTasks is installed by ical4android tests
2018-01-25 15:11:24 +01:00
Ricki Hirner
6cd2aa783e
Prefer AutoCloseable over Closeable
2018-01-25 15:09:57 +01:00
Ricki Hirner
c2e161dac6
lib updates
2018-01-25 15:04:43 +01:00