chore: Bump dependencies and migrate away from deprecated methods
This commit is contained in:
parent
3714670287
commit
d9b63d3aa2
|
@ -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)
|
||||
|
|
|
@ -114,7 +114,7 @@ class KeyguardClipboardService : Service(), DIAware {
|
|||
) : Args
|
||||
|
||||
@Parcelize
|
||||
object Cancel : Args
|
||||
data object Cancel : Args
|
||||
}
|
||||
|
||||
private data class CopyValueEvent(
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -232,7 +232,7 @@ fun ChangePasswordScreen(
|
|||
) { item ->
|
||||
AppItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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>
|
||||
<!--
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -672,7 +672,7 @@ private fun AttachmentTextField(
|
|||
placeholder = "File name",
|
||||
value = state.name,
|
||||
keyboardOptions = KeyboardOptions(
|
||||
autoCorrect = false,
|
||||
autoCorrectEnabled = false,
|
||||
keyboardType = KeyboardType.Text,
|
||||
),
|
||||
singleLine = true,
|
||||
|
|
|
@ -139,7 +139,7 @@ fun AttachmentsScreen(
|
|||
items(items, key = { it.key }) { item ->
|
||||
Item(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
),
|
||||
|
|
|
@ -267,7 +267,7 @@ private fun ConfirmationStringItem(
|
|||
keyboardOptions = when {
|
||||
item.password ->
|
||||
KeyboardOptions(
|
||||
autoCorrect = false,
|
||||
autoCorrectEnabled = false,
|
||||
keyboardType = KeyboardType.Password,
|
||||
)
|
||||
|
||||
|
|
|
@ -214,7 +214,7 @@ fun DuplicatesListScreen(
|
|||
) { model ->
|
||||
VaultListItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = model,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
),
|
||||
)
|
||||
|
|
|
@ -245,7 +245,7 @@ fun CipherFiltersListScreen(
|
|||
) { item ->
|
||||
FilterItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -226,7 +226,7 @@ fun EmailRelayListScreen(
|
|||
) { item ->
|
||||
AppItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -131,7 +131,7 @@ private fun LazyListScope.populateGeneratorPaneMasterContent(
|
|||
items(state.items, key = { it.id }) { item ->
|
||||
GeneratorHistoryItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -250,7 +250,7 @@ fun WordlistListScreen(
|
|||
) { item ->
|
||||
WordlistItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -256,7 +256,7 @@ fun WordlistViewScreen(
|
|||
) { item ->
|
||||
AppItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
)
|
||||
|
|
|
@ -151,7 +151,7 @@ fun CollectionsScreenContent(
|
|||
) {
|
||||
OrganizationsScreenItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = it,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -143,7 +143,7 @@ fun SearchTextField(
|
|||
keyboardOptions = KeyboardOptions(
|
||||
keyboardType = KeyboardType.Text,
|
||||
imeAction = ImeAction.Done,
|
||||
autoCorrect = false,
|
||||
autoCorrectEnabled = false,
|
||||
),
|
||||
singleLine = true,
|
||||
)
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -162,7 +162,7 @@ fun FoldersScreenContent(
|
|||
) {
|
||||
FoldersScreenItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = it,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -154,7 +154,7 @@ fun FoldersScreenContent(
|
|||
) {
|
||||
OrganizationsScreenItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = it,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ data class VaultListState(
|
|||
companion object;
|
||||
|
||||
sealed interface Content {
|
||||
companion object
|
||||
companion object;
|
||||
|
||||
data object Skeleton : Content
|
||||
|
||||
|
|
|
@ -230,7 +230,7 @@ fun JustDeleteMeListScreen(
|
|||
) { item ->
|
||||
AppItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -231,7 +231,7 @@ fun JustGetMyDataListScreen(
|
|||
) { item ->
|
||||
AppItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -194,7 +194,7 @@ private fun LogsScreenContent(
|
|||
items(items, key = { it.id }) { item ->
|
||||
LogItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -228,7 +228,7 @@ fun PasskeysListScreen(
|
|||
) { item ->
|
||||
AppItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ data class SendListState(
|
|||
companion object;
|
||||
|
||||
sealed interface Content {
|
||||
companion object
|
||||
companion object;
|
||||
|
||||
data object Skeleton : Content
|
||||
|
||||
|
|
|
@ -400,7 +400,7 @@ private fun SendScreenContent(
|
|||
) { model ->
|
||||
VaultSendItemText(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = model,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -237,7 +237,7 @@ fun SendViewScreen(
|
|||
) { model ->
|
||||
VaultViewItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = model,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -104,7 +104,7 @@ private fun SyncContent(
|
|||
}
|
||||
TestK(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -228,7 +228,7 @@ fun TwoFaServiceListScreen(
|
|||
) { item ->
|
||||
AppItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -204,7 +204,7 @@ fun EmailRelayListScreen(
|
|||
) { item ->
|
||||
UrlOverrideItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -171,7 +171,7 @@ private fun LazyListScope.populateGeneratorPaneMasterContent(
|
|||
items(state.items, key = { it.id }) { item ->
|
||||
GeneratorHistoryItem(
|
||||
modifier = Modifier
|
||||
.animateItemPlacement(),
|
||||
.animateItem(),
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -145,7 +145,7 @@ fun YubiKeyManual(
|
|||
label = stringResource(Res.string.verification_code),
|
||||
value = fieldState.value,
|
||||
keyboardOptions = KeyboardOptions(
|
||||
autoCorrect = true,
|
||||
autoCorrectEnabled = true,
|
||||
keyboardType = KeyboardType.Text,
|
||||
),
|
||||
)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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" }
|
||||
|
|
Loading…
Reference in New Issue