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>
This commit is contained in:
dependabot[bot]
2025-12-11 11:27:37 +01:00
committed by GitHub
parent b354bfebc2
commit cc43998148
12 changed files with 38 additions and 6 deletions

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:installLocation="internalOnly"> android:installLocation="internalOnly">
<!-- account management permissions not required for own accounts since API level 22 --> <!-- account management permissions not required for own accounts since API level 22 -->
@@ -7,4 +8,9 @@
<uses-permission android:name="android.permission.GET_ACCOUNTS" android:maxSdkVersion="22"/> <uses-permission android:name="android.permission.GET_ACCOUNTS" android:maxSdkVersion="22"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" android:maxSdkVersion="22"/> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" android:maxSdkVersion="22"/>
<!--
Since Mockk 1.14.7 it's required to use minSdk 26. We use 24, so override for tests.
-->
<uses-sdk tools:overrideLibrary="io.mockk.android,io.mockk.proxy.android" />
</manifest> </manifest>

View File

@@ -4,6 +4,7 @@
package at.bitfire.davdroid.ui package at.bitfire.davdroid.ui
import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
@@ -118,6 +119,7 @@ fun TasksCard(
context.startActivity(intent) context.startActivity(intent)
else else
coroutineScope.launch { coroutineScope.launch {
@SuppressLint("LocalContextGetResourceValueCall")
snackbarHostState.showSnackbar( snackbarHostState.showSnackbar(
message = context.getString(R.string.intro_tasks_no_app_store), message = context.getString(R.string.intro_tasks_no_app_store),
duration = SnackbarDuration.Long duration = SnackbarDuration.Long

View File

@@ -4,6 +4,7 @@
import android.Manifest import android.Manifest
import android.accounts.Account import android.accounts.Account
import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import android.widget.Toast import android.widget.Toast
import androidx.compose.animation.AnimatedContent import androidx.compose.animation.AnimatedContent
@@ -420,6 +421,7 @@ fun AccountScreen(
} }
idxWebcal -> { idxWebcal -> {
@SuppressLint("LocalContextGetResourceValueCall")
LaunchedEffect(showNoWebcalApp) { LaunchedEffect(showNoWebcalApp) {
if (showNoWebcalApp) { if (showNoWebcalApp) {
if (snackbarHostState.showSnackbar( if (snackbarHostState.showSnackbar(

View File

@@ -5,6 +5,7 @@
package at.bitfire.davdroid.ui.account package at.bitfire.davdroid.ui.account
import android.accounts.Account import android.accounts.Account
import android.annotation.SuppressLint
import android.app.Activity import android.app.Activity
import android.security.KeyChain import android.security.KeyChain
import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.compose.rememberLauncherForActivityResult
@@ -609,6 +610,7 @@ fun AuthenticationSettings(
onUpdateCredentials(credentials.copy(certificateAlias = newAlias)) onUpdateCredentials(credentials.copy(certificateAlias = newAlias))
else else
scope.launch { scope.launch {
@SuppressLint("LocalContextGetResourceValueCall")
if (snackbarHostState.showSnackbar( if (snackbarHostState.showSnackbar(
context.getString(R.string.settings_certificate_alias_empty), context.getString(R.string.settings_certificate_alias_empty),
actionLabel = context.getString(R.string.settings_certificate_install) actionLabel = context.getString(R.string.settings_certificate_install)

View File

@@ -4,6 +4,7 @@
package at.bitfire.davdroid.ui.account package at.bitfire.davdroid.ui.account
import android.annotation.SuppressLint
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
@@ -189,6 +190,7 @@ fun CollectionsList_Item_Standard(
modifier = Modifier modifier = Modifier
.padding(start = 4.dp, top = 4.dp, bottom = 4.dp) .padding(start = 4.dp, top = 4.dp, bottom = 4.dp)
.semantics { .semantics {
@SuppressLint("LocalContextGetResourceValueCall")
contentDescription = context.getString(R.string.account_synchronize_this_collection) contentDescription = context.getString(R.string.account_synchronize_this_collection)
} }
) )

View File

@@ -5,6 +5,7 @@
package at.bitfire.davdroid.ui.account package at.bitfire.davdroid.ui.account
import android.accounts.Account import android.accounts.Account
import android.annotation.SuppressLint
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.IntrinsicSize
@@ -210,6 +211,7 @@ fun CreateCalendarScreen(
.fillMaxHeight() .fillMaxHeight()
.aspectRatio(1f) .aspectRatio(1f)
.semantics { .semantics {
@SuppressLint("LocalContextGetResourceValueCall")
contentDescription = context.getString(R.string.create_collection_color) contentDescription = context.getString(R.string.create_collection_color)
} }
) { /* no content */ } ) { /* no content */ }

View File

@@ -5,6 +5,7 @@
package at.bitfire.davdroid.ui.composable package at.bitfire.davdroid.ui.composable
import android.accounts.Account import android.accounts.Account
import android.annotation.SuppressLint
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.rounded.Error import androidx.compose.material.icons.rounded.Error
import androidx.compose.material3.AlertDialog import androidx.compose.material3.AlertDialog
@@ -48,6 +49,7 @@ fun ExceptionInfoDialog(
Icon(Icons.Rounded.Error, null) Icon(Icons.Rounded.Error, null)
}, },
text = { text = {
@SuppressLint("LocalContextGetResourceValueCall")
val message = if (exception is HttpException) { val message = if (exception is HttpException) {
when (exception.statusCode) { when (exception.statusCode) {
403 -> context.getString(R.string.debug_info_http_403_description) 403 -> context.getString(R.string.debug_info_http_403_description)

View File

@@ -5,6 +5,7 @@
package at.bitfire.davdroid.ui.setup package at.bitfire.davdroid.ui.setup
import android.accounts.Account import android.accounts.Account
import android.annotation.SuppressLint
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
@@ -57,6 +58,7 @@ fun AccountDetailsPage(
uiState.createdAccount?.let(onAccountCreated) uiState.createdAccount?.let(onAccountCreated)
val context = LocalContext.current val context = LocalContext.current
@SuppressLint("LocalContextGetResourceValueCall")
LaunchedEffect(uiState.couldNotCreateAccount) { LaunchedEffect(uiState.couldNotCreateAccount) {
if (uiState.couldNotCreateAccount) { if (uiState.couldNotCreateAccount) {
snackbarHostState.showSnackbar(context.getString(R.string.login_account_not_added)) snackbarHostState.showSnackbar(context.getString(R.string.login_account_not_added))

View File

@@ -213,7 +213,7 @@ fun GoogleLoginScreen(
val privacyPolicyNote = HtmlCompat.fromHtml( val privacyPolicyNote = HtmlCompat.fromHtml(
stringResource( stringResource(
R.string.login_google_client_privacy_policy, R.string.login_google_client_privacy_policy,
context.getString(R.string.app_name), stringResource(R.string.app_name),
privacyPolicyUrl.toString() privacyPolicyUrl.toString()
), 0 ), 0
).toAnnotatedString() ).toAnnotatedString()
@@ -223,7 +223,11 @@ fun GoogleLoginScreen(
) )
val limitedUseNote = HtmlCompat.fromHtml( val limitedUseNote = HtmlCompat.fromHtml(
stringResource(R.string.login_google_client_limited_use, context.getString(R.string.app_name), GOOGLE_POLICY_URL), 0 stringResource(
R.string.login_google_client_limited_use,
stringResource(R.string.app_name),
GOOGLE_POLICY_URL
), 0
).toAnnotatedString() ).toAnnotatedString()
Text( Text(
text = limitedUseNote, text = limitedUseNote,

View File

@@ -4,6 +4,7 @@
package at.bitfire.davdroid.ui.setup package at.bitfire.davdroid.ui.setup
import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.provider.Browser import android.provider.Browser
@@ -104,6 +105,7 @@ object NextcloudLogin : LoginType {
checkResultCallback.launch(browser) checkResultCallback.launch(browser)
} else } else
this@LaunchedEffect.launch { this@LaunchedEffect.launch {
@SuppressLint("LocalContextGetResourceValueCall")
snackbarHostState.showSnackbar(context.getString(R.string.install_browser)) snackbarHostState.showSnackbar(context.getString(R.string.install_browser))
} }
} }

View File

@@ -4,6 +4,7 @@
package at.bitfire.davdroid.ui.webdav package at.bitfire.davdroid.ui.webdav
import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Build import android.os.Build
@@ -107,6 +108,7 @@ fun WebdavMountsScreen(
val uriHandler = LocalUriHandler.current val uriHandler = LocalUriHandler.current
var isRefreshing by remember { mutableStateOf(false) } var isRefreshing by remember { mutableStateOf(false) }
@SuppressLint("LocalContextGetResourceValueCall")
LaunchedEffect(isRefreshing) { LaunchedEffect(isRefreshing) {
if (isRefreshing) { if (isRefreshing) {
delay(300) delay(300)
@@ -324,7 +326,11 @@ fun WebdavMountsItem(
addCategory(Intent.CATEGORY_OPENABLE) addCategory(Intent.CATEGORY_OPENABLE)
type = "*/*" type = "*/*"
} }
val uri = DocumentsContract.buildRootUri(context.getString(R.string.webdav_authority), info.mount.id.toString()) @SuppressLint("LocalContextGetResourceValueCall")
val uri = DocumentsContract.buildRootUri(
context.getString(R.string.webdav_authority),
info.mount.id.toString()
)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, uri) intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, uri)
} }

View File

@@ -3,7 +3,7 @@
[versions] [versions]
android-agp = "8.13.1" android-agp = "8.13.1"
android-desugaring = "2.1.5" android-desugaring = "2.1.5"
androidx-activityCompose = "1.12.0" androidx-activityCompose = "1.12.1"
androidx-appcompat = "1.7.1" androidx-appcompat = "1.7.1"
androidx-arch = "2.2.0" androidx-arch = "2.2.0"
androidx-browser = "1.9.0" androidx-browser = "1.9.0"
@@ -22,7 +22,7 @@ bitfire-cert4android = "42d883e958"
bitfire-dav4jvm = "de16b12343" bitfire-dav4jvm = "de16b12343"
bitfire-synctools = "de78892b5c" bitfire-synctools = "de78892b5c"
compose-accompanist = "0.37.3" compose-accompanist = "0.37.3"
compose-bom = "2025.11.01" compose-bom = "2025.12.00"
conscrypt = "2.5.3" conscrypt = "2.5.3"
dnsjava = "3.6.3" dnsjava = "3.6.3"
glance = "1.1.1" glance = "1.1.1"
@@ -34,7 +34,7 @@ kotlinx-coroutines = "1.10.2"
ksp = "2.3.3" ksp = "2.3.3"
ktor = "3.3.3" ktor = "3.3.3"
mikepenz-aboutLibraries = "13.1.0" mikepenz-aboutLibraries = "13.1.0"
mockk = "1.14.5" mockk = "1.14.7"
okhttp = "5.3.2" okhttp = "5.3.2"
openid-appauth = "0.11.1" openid-appauth = "0.11.1"
robolectric = "4.16" robolectric = "4.16"