Loading app-ose/build.gradle.kts +1 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ android { compileSdk = 36 defaultConfig { minSdk = 24 // Android 7.0 minSdk = 31 // Android 12 - canScheduleExactAlarms minimum requirement targetSdk = 36 // Android 16 applicationId = "at.bitfire.davdroid" Loading app-ose/src/ose/AndroidManifest.xml +4 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" /> <uses-permission android:name="foundation.e.permission.READ_TASKS"/> <uses-permission android:name="foundation.e.permission.WRITE_TASKS"/> Loading Loading @@ -250,6 +251,9 @@ android:value="205" /> </activity-alias> <receiver android:name="foundation.e.accountmanager.sync.SyncBroadcastReceiver" /> <!-- endregion /e/ Specific --> </application> Loading core/build.gradle.kts +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ android { compileSdk = 36 defaultConfig { minSdk = 24 // Android 7.0 minSdk = 31 // Android 12 - canScheduleExactAlarms minimum requirement testInstrumentationRunner = "at.bitfire.davdroid.HiltTestRunner" Loading core/src/main/kotlin/at/bitfire/davdroid/repository/AccountRepository.kt +3 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,9 @@ class AccountRepository @Inject constructor( // set up automatic sync (processes inserted services) automaticSyncManager.get().updateAutomaticSync(account) // Schedule sync AccountHelper.scheduleSyncWithDelay(context) } catch(e: InvalidAccountException) { logger.log(Level.SEVERE, "Couldn't access account settings", e) return null Loading core/src/main/kotlin/at/bitfire/davdroid/sync/SyncManager.kt +7 −4 Original line number Diff line number Diff line Loading @@ -764,11 +764,10 @@ abstract class SyncManager<LocalType: LocalResource, out CollectionType: LocalCo */ private fun handleException(e: Throwable, local: LocalResource?, remote: HttpUrl?) { var message: String var isNetworkAvailable = true val isNetworkAvailable = SystemUtils.isNetworkAvailable(context) when (e) { is IOException -> { logger.log(Level.WARNING, "I/O error", e) isNetworkAvailable = SystemUtils.isNetworkAvailable(context) if (isNetworkAvailable) { syncResult.numIoExceptions++ } Loading @@ -777,13 +776,17 @@ abstract class SyncManager<LocalType: LocalResource, out CollectionType: LocalCo is UnauthorizedException -> { logger.log(Level.SEVERE, "Not authorized anymore", e) if (isNetworkAvailable) { syncResult.numAuthExceptions++ } message = context.getString(R.string.sync_error_authentication_failed) } is HttpException, is DavException -> { logger.log(Level.SEVERE, "HTTP/DAV exception", e) if (isNetworkAvailable) { syncResult.numHttpExceptions++ } message = context.getString(R.string.sync_error_http_dav, e.localizedMessage) } Loading Loading
app-ose/build.gradle.kts +1 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ android { compileSdk = 36 defaultConfig { minSdk = 24 // Android 7.0 minSdk = 31 // Android 12 - canScheduleExactAlarms minimum requirement targetSdk = 36 // Android 16 applicationId = "at.bitfire.davdroid" Loading
app-ose/src/ose/AndroidManifest.xml +4 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" /> <uses-permission android:name="foundation.e.permission.READ_TASKS"/> <uses-permission android:name="foundation.e.permission.WRITE_TASKS"/> Loading Loading @@ -250,6 +251,9 @@ android:value="205" /> </activity-alias> <receiver android:name="foundation.e.accountmanager.sync.SyncBroadcastReceiver" /> <!-- endregion /e/ Specific --> </application> Loading
core/build.gradle.kts +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ android { compileSdk = 36 defaultConfig { minSdk = 24 // Android 7.0 minSdk = 31 // Android 12 - canScheduleExactAlarms minimum requirement testInstrumentationRunner = "at.bitfire.davdroid.HiltTestRunner" Loading
core/src/main/kotlin/at/bitfire/davdroid/repository/AccountRepository.kt +3 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,9 @@ class AccountRepository @Inject constructor( // set up automatic sync (processes inserted services) automaticSyncManager.get().updateAutomaticSync(account) // Schedule sync AccountHelper.scheduleSyncWithDelay(context) } catch(e: InvalidAccountException) { logger.log(Level.SEVERE, "Couldn't access account settings", e) return null Loading
core/src/main/kotlin/at/bitfire/davdroid/sync/SyncManager.kt +7 −4 Original line number Diff line number Diff line Loading @@ -764,11 +764,10 @@ abstract class SyncManager<LocalType: LocalResource, out CollectionType: LocalCo */ private fun handleException(e: Throwable, local: LocalResource?, remote: HttpUrl?) { var message: String var isNetworkAvailable = true val isNetworkAvailable = SystemUtils.isNetworkAvailable(context) when (e) { is IOException -> { logger.log(Level.WARNING, "I/O error", e) isNetworkAvailable = SystemUtils.isNetworkAvailable(context) if (isNetworkAvailable) { syncResult.numIoExceptions++ } Loading @@ -777,13 +776,17 @@ abstract class SyncManager<LocalType: LocalResource, out CollectionType: LocalCo is UnauthorizedException -> { logger.log(Level.SEVERE, "Not authorized anymore", e) if (isNetworkAvailable) { syncResult.numAuthExceptions++ } message = context.getString(R.string.sync_error_authentication_failed) } is HttpException, is DavException -> { logger.log(Level.SEVERE, "HTTP/DAV exception", e) if (isNetworkAvailable) { syncResult.numHttpExceptions++ } message = context.getString(R.string.sync_error_http_dav, e.localizedMessage) } Loading