chore: Bump dependencies and migrate away from deprecated methods

This commit is contained in:
Artem Chepurnoy 2024-09-15 16:37:31 +03:00
parent 3714670287
commit d9b63d3aa2
No known key found for this signature in database
GPG Key ID: FAC37D0CF674043E
83 changed files with 186 additions and 145 deletions

View File

@ -126,6 +126,7 @@ kotlin {
api(libs.kodein.kodein.di.framework.compose)
api(libs.androidx.lifecycle.common)
api(libs.androidx.lifecycle.runtime)
api(libs.androidx.lifecycle.runtime.compose)
api(libs.ktor.ktor.client.core)
api(libs.ktor.ktor.client.logging)
api(libs.ktor.ktor.client.content.negotiation)

View File

@ -114,7 +114,7 @@ class KeyguardClipboardService : Service(), DIAware {
) : Args
@Parcelize
object Cancel : Args
data object Cancel : Args
}
private data class CopyValueEvent(

View File

@ -44,12 +44,12 @@ class SubscriptionServiceAndroid(
private val billingManager: BillingManager,
) : SubscriptionService {
companion object {
private val SkuListSubscription = listOf(
private val SkuListSubscription = setOf(
"premium",
"premium_3m",
)
private val SkuListProduct = listOf(
private val SkuListProduct = setOf(
"premium_lifetime",
)
}
@ -144,7 +144,7 @@ class SubscriptionServiceAndroid(
.run {
val existingPurchase = receipts
?.firstOrNull {
SkuListSubscription.intersect(it.products)
it.products.intersect(SkuListSubscription)
.isNotEmpty()
}
if (existingPurchase != null && it.productId !in existingPurchase.products) {

View File

@ -232,7 +232,7 @@ fun ChangePasswordScreen(
) { item ->
AppItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -409,7 +409,7 @@ private fun getApps(
ApplicationInfo.FLAG_SYSTEM or ApplicationInfo.FLAG_UPDATED_SYSTEM_APP
applicationInfo.flags.and(mask) != 0
}
val label = info.loadLabel(pm)?.toString().orEmpty()
val label = info.loadLabel(pm).toString()
val installTime = packageInfo.firstInstallTime
AppInfo(
packageName = info.activityInfo.packageName,

View File

@ -5,8 +5,8 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.compose.LocalLifecycleOwner
import androidx.lifecycle.whenResumed
import arrow.core.left
import arrow.core.right

View File

@ -114,6 +114,7 @@ private fun getPermissionItems(context: Context) = kotlin.run {
val result = info
.requestedPermissions
.orEmpty()
.mapNotNull { permission ->
kotlin.runCatching {
val permissionInfo = pm.getPermissionInfo(permission, 0)

View File

@ -21,10 +21,10 @@ import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.compose.ui.unit.dp
import androidx.compose.ui.viewinterop.AndroidView
import androidx.core.content.ContextCompat
import androidx.lifecycle.compose.LocalLifecycleOwner
import com.artemchep.keyguard.feature.navigation.NavigationIcon
import com.artemchep.keyguard.feature.navigation.RouteResultTransmitter
import com.artemchep.keyguard.res.Res
@ -172,7 +172,7 @@ private fun ScanQrCamera(
val preview = Preview.Builder()
.build()
.also {
it.setSurfaceProvider(previewView.surfaceProvider)
it.surfaceProvider = previewView.surfaceProvider
}
val imageAnalysis = ImageAnalysis.Builder()
.setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST)

View File

@ -1,13 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<network-security-config xmlns:tools="http://schemas.android.com/tools">
<!--
Users can access their own servers even if
it's not though an HTTPS connection.
-->
<base-config cleartextTrafficPermitted="true">
<base-config
cleartextTrafficPermitted="true"
tools:ignore="InsecureBaseConfiguration">
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
<certificates
src="user"
tools:ignore="AcceptsUserCertificates" />
</trust-anchors>
</base-config>
<!--

View File

@ -608,7 +608,7 @@ fun DSecret.gett(
return@forEach
}
val variant = variants.removeFirst()
val variant = variants.removeAt(0)
val value = get(
hint = variant.hint,
getTotpCode = getTotpCode,

View File

@ -672,7 +672,7 @@ private fun AttachmentTextField(
placeholder = "File name",
value = state.name,
keyboardOptions = KeyboardOptions(
autoCorrect = false,
autoCorrectEnabled = false,
keyboardType = KeyboardType.Text,
),
singleLine = true,

View File

@ -139,7 +139,7 @@ fun AttachmentsScreen(
items(items, key = { it.key }) { item ->
Item(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -416,7 +416,7 @@ private fun ColumnScope.LoginOtpScreenContentAuthenticator(
fontFamily = monoFontFamily,
),
keyboardOptions = KeyboardOptions(
autoCorrect = false,
autoCorrectEnabled = false,
keyboardType = KeyboardType.Number,
imeAction = ImeAction.Go,
),
@ -488,7 +488,7 @@ private fun ColumnScope.LoginOtpScreenContentEmail(
fontFamily = monoFontFamily,
),
keyboardOptions = KeyboardOptions(
autoCorrect = false,
autoCorrectEnabled = false,
keyboardType = KeyboardType.Number,
imeAction = ImeAction.Go,
),

View File

@ -267,7 +267,7 @@ private fun ConfirmationStringItem(
keyboardOptions = when {
item.password ->
KeyboardOptions(
autoCorrect = false,
autoCorrectEnabled = false,
keyboardType = KeyboardType.Password,
)

View File

@ -214,7 +214,7 @@ fun DuplicatesListScreen(
) { model ->
VaultListItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = model,
)
}

View File

@ -110,7 +110,7 @@ private fun FeedbackContent(
label = stringResource(Res.string.contactus_message_label),
value = state.message,
keyboardOptions = KeyboardOptions(
autoCorrect = true,
autoCorrectEnabled = true,
keyboardType = KeyboardType.Text,
),
)

View File

@ -245,7 +245,7 @@ fun CipherFiltersListScreen(
) { item ->
FilterItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -226,7 +226,7 @@ fun EmailRelayListScreen(
) { item ->
AppItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -131,7 +131,7 @@ private fun LazyListScope.populateGeneratorPaneMasterContent(
items(state.items, key = { it.id }) { item ->
GeneratorHistoryItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -250,7 +250,7 @@ fun WordlistListScreen(
) { item ->
WordlistItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -256,7 +256,7 @@ fun WordlistViewScreen(
) { item ->
AppItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -2,11 +2,12 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.RowScope
import androidx.compose.material.icons.Icons
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetAppIcons
@ -67,7 +68,7 @@ private fun SettingAppIcons(
leading = icon<RowScope>(Icons.Stub),
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -1,10 +1,11 @@
package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetAutofillCopyTotp
@ -64,7 +65,7 @@ private fun SettingAutofillCopyTotp(
FlatItem(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -1,10 +1,11 @@
package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetAutofillInlineSuggestions
@ -61,7 +62,7 @@ private fun SettingAutofillInlineSuggestions(
FlatItem(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -1,10 +1,11 @@
package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetAutofillManualSelection
@ -61,7 +62,7 @@ private fun SettingAutofillManualSelection(
FlatItem(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -3,13 +3,14 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height
import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
@ -70,7 +71,7 @@ private fun SettingAutofillRespectAutofillOff(
FlatItemLayout(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -1,10 +1,11 @@
package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetAutofillSaveRequest
@ -69,7 +70,7 @@ private fun SettingAutofillSaveRequest(
FlatItem(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -1,10 +1,11 @@
package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetAutofillSaveUri
@ -69,7 +70,7 @@ private fun SettingAutofillSaveUri(
FlatItem(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -3,12 +3,13 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.RowScope
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Fingerprint
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.remember
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.io.map
@ -144,7 +145,7 @@ private fun SettingBiometrics(
leading = icon<RowScope>(Icons.Outlined.Fingerprint),
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -1,10 +1,11 @@
package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.model.BiometricStatus
@ -100,7 +101,7 @@ private fun SettingBiometricsRequireConfirmation(
FlatItem(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -2,12 +2,13 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetCheckPasskeys
@ -59,7 +60,7 @@ private fun SettingCheckPasskeys(
FlatItem(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -2,12 +2,13 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
@ -60,7 +61,7 @@ private fun SettingCheckPwnedPasswords(
FlatItem(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -2,12 +2,13 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetCheckPwnedServices
@ -59,7 +60,7 @@ private fun SettingCheckPwnedServices(
FlatItem(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -2,12 +2,13 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetCheckTwoFA
@ -60,7 +61,7 @@ private fun SettingCheckTwoFA(
FlatItem(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.RowScope
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.CloseFullscreen
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetCloseToTray
@ -73,7 +74,7 @@ private fun SettingCloseToTray(
leading = icon<RowScope>(Icons.Outlined.CloseFullscreen),
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -4,11 +4,12 @@ import androidx.compose.animation.Crossfade
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Visibility
import androidx.compose.material.icons.outlined.VisibilityOff
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetConcealFields
@ -72,7 +73,7 @@ private fun SettingScreenshotsFields(
},
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.BugReport
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.platform.crashlyticsIsEnabledFlow
import com.artemchep.keyguard.platform.crashlyticsSetEnabled
@ -63,7 +64,7 @@ private fun SettingCrashlytics(
valueOrNull = checked,
) {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = it,

View File

@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.AccountCircle
import androidx.compose.material3.Icon
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetGravatar
@ -70,7 +71,7 @@ private fun SettingGravatar(
},
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -1,10 +1,11 @@
package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetKeepScreenOn
@ -62,7 +63,7 @@ private fun SettingKeepScreenOn(
FlatItem(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -5,7 +5,7 @@ import androidx.compose.foundation.layout.RowScope
import androidx.compose.foundation.layout.padding
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.TextFormat
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.material3.TextButton
@ -14,6 +14,7 @@ import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.getValue
import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
@ -86,7 +87,7 @@ private fun SettingMarkdown(
leading = icon<RowScope>(Icons.Outlined.TextFormat),
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.RowScope
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.outlined.Label
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetNavLabel
@ -66,7 +67,7 @@ private fun SettingNavLabel(
leading = icon<RowScope>(Icons.AutoMirrored.Outlined.Label),
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -1,10 +1,11 @@
package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetDebugScreenDelay
@ -55,7 +56,7 @@ private fun SettingDebugScreenDelay(
FlatItem(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.RowScope
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Screenshot
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetAllowScreenshots
@ -70,7 +71,7 @@ private fun SettingScreenshotsFields(
leading = icon<RowScope>(Icons.Outlined.Screenshot),
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -1,10 +1,11 @@
package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetDebugPremium
@ -55,7 +56,7 @@ private fun SettingDebugPremium(
FlatItem(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -2,11 +2,12 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.RowScope
import androidx.compose.material.icons.Icons
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetThemeUseAmoledDark
@ -70,7 +71,7 @@ private fun SettingThemeUseAmoledDark(
leading = icon<RowScope>(Icons.Stub),
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.RowScope
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Tablet
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetAllowTwoPanelLayoutInLandscape
@ -68,7 +69,7 @@ private fun SettingTwoPanelLayoutLandscape(
leading = icon<RowScope>(Icons.Outlined.Tablet),
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.RowScope
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.PhoneAndroid
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetAllowTwoPanelLayoutInPortrait
@ -68,7 +69,7 @@ private fun SettingTwoPanelLayoutPortrait(
leading = icon<RowScope>(Icons.Outlined.PhoneAndroid),
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.RowScope
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.OpenInBrowser
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetUseExternalBrowser
@ -74,7 +75,7 @@ private fun SettingUseExternalBrowser(
leading = icon<RowScope>(Icons.Outlined.OpenInBrowser),
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -2,11 +2,12 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.RowScope
import androidx.compose.material.icons.Icons
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetVaultLockAfterReboot
@ -80,7 +81,7 @@ private fun SettingLockAfterReboot(
leading = icon<RowScope>(Icons.Stub),
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.foundation.layout.RowScope
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.MobileOff
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetVaultLockAfterScreenOff
@ -75,7 +76,7 @@ private fun SettingLockAfterScreenOff(
leading = icon<RowScope>(Icons.Outlined.MobileOff),
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -7,12 +7,13 @@ import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Key
import androidx.compose.material.icons.outlined.Memory
import androidx.compose.material.icons.outlined.Storage
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
@ -80,7 +81,7 @@ private fun SettingVaultPersist(
leading = icon<RowScope>(Icons.Outlined.Key, secondaryIcon),
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -7,7 +7,7 @@ import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.material.icons.Icons
import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
@ -17,6 +17,7 @@ import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.getValue
import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
@ -91,7 +92,7 @@ private fun SettingMarkdown(
leading = icon<RowScope>(Icons.Outlined.KeyguardWebsite),
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -1,10 +1,11 @@
package com.artemchep.keyguard.feature.home.settings.component
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.unit.Dp
import arrow.core.partially1
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.GetPurchased
@ -56,7 +57,7 @@ private fun SettingWriteAccess(
FlatItem(
trailing = {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
Switch(
checked = checked,

View File

@ -2632,7 +2632,7 @@ private suspend fun RememberStateFlowScope.produceCardState(
label = translate(Res.string.card_number),
initialValue = card?.number,
keyboardOptions = KeyboardOptions(
autoCorrect = false,
autoCorrectEnabled = false,
keyboardType = KeyboardType.Number,
),
visualTransformation = GenericSeparatorVisualTransformation(),
@ -2791,7 +2791,7 @@ private suspend fun RememberStateFlowScope.produceCardState(
initialValue = card?.code,
singleLine = true,
keyboardOptions = KeyboardOptions(
autoCorrect = false,
autoCorrectEnabled = false,
keyboardType = KeyboardType.Number,
),
lens = CreateRequest.card.code,
@ -3049,7 +3049,7 @@ private suspend fun RememberStateFlowScope.produceIdentityState(
initialValue = args.autofill?.email ?: identity?.email,
singleLine = true,
keyboardOptions = KeyboardOptions(
autoCorrect = false,
autoCorrectEnabled = false,
keyboardType = KeyboardType.Email,
),
lens = CreateRequest.identity.email,
@ -3067,7 +3067,7 @@ private suspend fun RememberStateFlowScope.produceIdentityState(
initialValue = args.autofill?.phone ?: identity?.phone,
singleLine = true,
keyboardOptions = KeyboardOptions(
autoCorrect = false,
autoCorrectEnabled = false,
keyboardType = KeyboardType.Phone,
),
lens = CreateRequest.identity.phone,
@ -3113,7 +3113,7 @@ private suspend fun RememberStateFlowScope.produceIdentityState(
initialValue = identity?.passportNumber,
singleLine = true,
keyboardOptions = KeyboardOptions(
autoCorrect = false,
autoCorrectEnabled = false,
),
lens = CreateRequest.identity.passportNumber,
)

View File

@ -151,7 +151,7 @@ fun CollectionsScreenContent(
) {
OrganizationsScreenItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = it,
)
}

View File

@ -143,7 +143,7 @@ fun SearchTextField(
keyboardOptions = KeyboardOptions(
keyboardType = KeyboardType.Text,
imeAction = ImeAction.Done,
autoCorrect = false,
autoCorrectEnabled = false,
),
singleLine = true,
)

View File

@ -34,7 +34,7 @@ import androidx.compose.material3.DropdownMenu
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ProvideTextStyle
import androidx.compose.material3.Text
@ -712,7 +712,7 @@ fun FlatItemLayout2(
) {
if (leading != null) {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
leading()
}

View File

@ -162,7 +162,7 @@ fun FoldersScreenContent(
) {
FoldersScreenItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = it,
)
}

View File

@ -154,7 +154,7 @@ fun FoldersScreenContent(
) {
OrganizationsScreenItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = it,
)
}

View File

@ -553,7 +553,7 @@ fun VaultHomeScreenListPane(
if (model is VaultItem2.QuickFilters && !tabletUi) {
Box(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
) {
val arg2 = LocalAppMode.current
val llll = remember(state.filters) {
@ -587,7 +587,7 @@ fun VaultHomeScreenListPane(
} else {
VaultListItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = model,
)
}

View File

@ -34,7 +34,7 @@ data class VaultListState(
companion object;
sealed interface Content {
companion object
companion object;
data object Skeleton : Content

View File

@ -230,7 +230,7 @@ fun JustDeleteMeListScreen(
) { item ->
AppItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -231,7 +231,7 @@ fun JustGetMyDataListScreen(
) { item ->
AppItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -194,7 +194,7 @@ private fun LogsScreenContent(
items(items, key = { it.id }) { item ->
LogItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -228,7 +228,7 @@ fun PasskeysListScreen(
) { item ->
AppItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -34,7 +34,7 @@ data class SendListState(
companion object;
sealed interface Content {
companion object
companion object;
data object Skeleton : Content

View File

@ -400,7 +400,7 @@ private fun SendScreenContent(
) { model ->
VaultSendItemText(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = model,
)
}

View File

@ -237,7 +237,7 @@ fun SendViewScreen(
) { model ->
VaultViewItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = model,
)
}

View File

@ -104,7 +104,7 @@ private fun SyncContent(
}
TestK(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -228,7 +228,7 @@ fun TwoFaServiceListScreen(
) { item ->
AppItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -204,7 +204,7 @@ fun EmailRelayListScreen(
) { item ->
UrlOverrideItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -171,7 +171,7 @@ private fun LazyListScope.populateGeneratorPaneMasterContent(
items(state.items, key = { it.id }) { item ->
GeneratorHistoryItem(
modifier = Modifier
.animateItemPlacement(),
.animateItem(),
item = item,
)
}

View File

@ -145,7 +145,7 @@ fun YubiKeyManual(
label = stringResource(Res.string.verification_code),
value = fieldState.value,
keyboardOptions = KeyboardOptions(
autoCorrect = true,
autoCorrectEnabled = true,
keyboardType = KeyboardType.Text,
),
)

View File

@ -3,9 +3,9 @@ package com.artemchep.keyguard.platform.lifecycle
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.remember
import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver
import androidx.lifecycle.compose.LocalLifecycleOwner
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow

View File

@ -33,7 +33,7 @@ import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.LocalAbsoluteTonalElevation
import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
import androidx.compose.material3.LocalTextStyle
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
@ -521,7 +521,7 @@ fun FlatItemLayout(
) {
if (leading != null) {
CompositionLocalProvider(
LocalMinimumInteractiveComponentEnforcement provides false,
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
) {
leading()
}

View File

@ -3,6 +3,7 @@ package com.artemchep.keyguard.ui
//import androidx.compose.ui.awt.awtEventOrNull
import androidx.compose.animation.core.MutableTransitionState
import androidx.compose.animation.core.animateFloat
import androidx.compose.animation.core.rememberTransition
import androidx.compose.animation.core.tween
import androidx.compose.animation.core.updateTransition
import androidx.compose.foundation.background
@ -62,7 +63,7 @@ fun WunderPopup(
}
// Menu open/close animation.
val transition = updateTransition(expandedStates, "DropDownMenu")
val transition = rememberTransition(expandedStates, "DropDownMenu")
val alpha by transition.animateFloat(
transitionSpec = {
if (false isTransitioningTo true) {

View File

@ -83,7 +83,7 @@ class CipherEncryptorImpl(
"Cipher-text '$c.???' is not valid!"
}
val (cipherTypeRaw, cipherContent) = cipherSeq
val cipherType = CipherEncryptor.Type.values()
val cipherType = CipherEncryptor.Type.entries
.firstOrNull { it.type == cipherTypeRaw }
?: error("Cipher type $cipherTypeRaw is not supported!")
val cipherArgs = cipherContent

View File

@ -57,7 +57,7 @@ class CipherInputStreamDecoder(
}
val type = buffer[offset].let { byte ->
CipherEncryptor.Type.values()
CipherEncryptor.Type.entries
.first { it.byte == byte }
}
return when (type) {

View File

@ -36,7 +36,7 @@ class FileEncryptorImpl(
key: ByteArray,
): ByteArray {
val type = data[0].let { byte ->
CipherEncryptor.Type.values().first { it.byte == byte }
CipherEncryptor.Type.entries.first { it.byte == byte }
}
return when (type) {

View File

@ -81,7 +81,7 @@ class MessagePackHubProtocol : HubProtocol {
try {
MessagePack.newDefaultUnpacker(payload).use { unpacker ->
val itemCount = unpacker.unpackArrayHeader()
val messageType = HubMessageType.values()[unpacker.unpackInt() - 1]
val messageType = HubMessageType.entries[unpacker.unpackInt() - 1]
when (messageType) {
HubMessageType.INVOCATION -> hubMessages.add(
createInvocationMessage(
@ -545,7 +545,7 @@ class MessagePackHubProtocol : HubProtocol {
if (itemClass == Short::class.java || itemClass == Short::class.javaPrimitiveType) {
item = item.toShort()
} else if (itemClass == Char::class.java || itemClass == Char::class.javaPrimitiveType) {
item = item.toShort().toChar()
item = item.toInt().toChar()
} else if (itemClass == Byte::class.java || itemClass == Byte::class.javaPrimitiveType) {
item = item.toByte()
}

View File

@ -23,6 +23,7 @@ android.enableJetifier=false
kotlin.code.style=official
kotlin.daemon.jvmargs=-Xmx4096m
kotlin.mpp.androidSourceSetLayoutVersion=2
kotlin.mpp.applyDefaultHierarchyTemplate=false
# Enables namespacing of each library's R class so that its R class includes only the
# resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library

View File

@ -2,9 +2,9 @@
# @keep
androidMinSdk = "26"
# @keep
androidCompileSdk = "34"
androidCompileSdk = "35"
# @keep
androidTargetSdk = "34"
androidTargetSdk = "35"
# @keep
jdk = "17"
# @keep
@ -12,32 +12,32 @@ appVersionName = "1.5.2"
# @keep
appVersionCode = "6"
# https://github.com/google/accompanist
accompanist = "0.34.0"
accompanist = "0.36.0"
androidBillingClient = "7.0.0"
# https://mvnrepository.com/artifact/com.android.tools/desugar_jdk_libs
androidDesugar = "2.0.4"
androidDesugar = "2.1.2"
# https://mvnrepository.com/artifact/com.android.tools.build/gradle?repo=google
androidPlugin = "8.5.2"
androidxActivity = "1.9.1"
androidPlugin = "8.6.0"
androidxActivity = "1.9.2"
androidxAppCompat = "1.7.0"
androidxAutofill = "1.3.0-alpha01"
androidxBaselineProfile = "1.2.4"
androidxBenchmarkMacroJUnit4 = "1.2.4"
androidxBaselineProfile = "1.3.0"
androidxBenchmarkMacroJUnit4 = "1.3.0"
androidxBiometricKtx = "1.2.0-alpha05"
androidxBrowser = "1.8.0"
androidxCamera = "1.4.0-rc01"
androidxCoreKtx = "1.13.1"
androidxCoreSplash = "1.2.0-alpha01"
androidxCoreSplash = "1.2.0-alpha02"
androidxCoreShortcuts = "1.1.0"
androidxCredentials = "1.2.2"
androidxDatastore = "1.1.1"
androidxLifecycle = "2.8.4"
androidxLifecycle = "2.8.5"
androidxProfileInstaller = "1.3.1"
androidxRoom = "2.6.1"
androidxSecurityCryptoKtx = "1.1.0-alpha06"
androidxTestEspresso = "3.6.0-alpha01"
androidxTestExtJUnit = "1.2.0-alpha01"
androidxTestUiAutomator = "2.3.0-alpha05"
androidxTestEspresso = "3.6.1"
androidxTestExtJUnit = "1.2.1"
androidxTestUiAutomator = "2.3.0"
androidxWork = "2.9.1"
# https://github.com/harawata/appdirs
appDirs = "1.2.2"
@ -50,14 +50,14 @@ buildkonfigPlugin = "0.15.1"
# https://mvnrepository.com/artifact/commons-codec/commons-codec
commonsCodec = "1.17.1"
# https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
commonsLang3 = "3.16.0"
commonsLang3 = "3.17.0"
# https://github.com/JetBrains/compose-multiplatform
composeMultiplatform = "1.7.0-beta01"
composeMultiplatform = "1.7.0-beta02"
# https://github.com/DevSrSouza/compose-icons
composeOpenIcons = "1.1.0"
conscrypt = "2.5.2"
crashlyticsPlugin = "3.0.2"
firebase = "33.2.0"
firebase = "33.3.0"
# https://github.com/tfcporciuncula/flow-preferences
flowPreferences = "1.9.1"
# https://github.com/bumptech/glide
@ -74,16 +74,16 @@ kodeinDi = "7.22.0"
# https://github.com/JetBrains/kotlin
kotlin = "2.0.20"
# https://github.com/Kotlin/kotlinx.collections.immutable
kotlinCollections = "0.3.7"
kotlinCollections = "0.3.8"
# https://github.com/Kotlin/kotlinx.coroutines
kotlinCoroutines = "1.8.1"
kotlinCoroutines = "1.9.0"
# https://github.com/Kotlin/kotlinx-datetime
kotlinDatetime = "0.6.1"
kotlinDsl = "4.3.0"
# https://github.com/Kotlin/kotlinx.serialization
kotlinSerialization = "1.7.2"
# https://github.com/google/ksp/releases
kspPlugin = "2.0.20-1.0.24"
kspPlugin = "2.0.20-1.0.25"
# https://github.com/pinterest/ktlint/releases
# @keep
ktlint = "0.50.0"
@ -93,7 +93,7 @@ ktlintPlugin = "12.1.1"
# Keep in sync with https://github.com/Kamel-Media/Kamel/blob/main/gradle/libs.versions.toml#L24
ktor = "2.3.12"
# https://github.com/skydoves/landscapist
landscapist = "2.3.6"
landscapist = "2.3.8"
# https://github.com/cashapp/licensee
licenseCheckPlugin = "1.11.0"
# https://github.com/tony19/logback-android
@ -133,7 +133,7 @@ versionsPlugin = "0.51.0"
# https://github.com/MayakaApps/ComposeWindowStyler
windowStyler = "0.3.2"
# https://github.com/Yubico/yubikit-android
yubiKit = "2.6.0"
yubiKit = "2.7.0"
# https://github.com/srikanth-lingala/zip4j
zip4j = "2.11.5"
# https://github.com/nulab/zxcvbn4j
@ -167,6 +167,7 @@ androidx-espresso-core = { module = "androidx.test.espresso:espresso-core", vers
androidx-junit = { module = "androidx.test.ext:junit", version.ref = "androidxTestExtJUnit" }
androidx-lifecycle-common = { module = "androidx.lifecycle:lifecycle-common", version.ref = "androidxLifecycle" }
androidx-lifecycle-runtime = { module = "androidx.lifecycle:lifecycle-runtime", version.ref = "androidxLifecycle" }
androidx-lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidxLifecycle" }
androidx-lifecycle-livedata-ktx = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "androidxLifecycle" }
androidx-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", version.ref = "androidxLifecycle" }
androidx-lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "androidxLifecycle" }