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.kodein.kodein.di.framework.compose)
|
||||||
api(libs.androidx.lifecycle.common)
|
api(libs.androidx.lifecycle.common)
|
||||||
api(libs.androidx.lifecycle.runtime)
|
api(libs.androidx.lifecycle.runtime)
|
||||||
|
api(libs.androidx.lifecycle.runtime.compose)
|
||||||
api(libs.ktor.ktor.client.core)
|
api(libs.ktor.ktor.client.core)
|
||||||
api(libs.ktor.ktor.client.logging)
|
api(libs.ktor.ktor.client.logging)
|
||||||
api(libs.ktor.ktor.client.content.negotiation)
|
api(libs.ktor.ktor.client.content.negotiation)
|
||||||
|
|
|
@ -114,7 +114,7 @@ class KeyguardClipboardService : Service(), DIAware {
|
||||||
) : Args
|
) : Args
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
object Cancel : Args
|
data object Cancel : Args
|
||||||
}
|
}
|
||||||
|
|
||||||
private data class CopyValueEvent(
|
private data class CopyValueEvent(
|
||||||
|
|
|
@ -44,12 +44,12 @@ class SubscriptionServiceAndroid(
|
||||||
private val billingManager: BillingManager,
|
private val billingManager: BillingManager,
|
||||||
) : SubscriptionService {
|
) : SubscriptionService {
|
||||||
companion object {
|
companion object {
|
||||||
private val SkuListSubscription = listOf(
|
private val SkuListSubscription = setOf(
|
||||||
"premium",
|
"premium",
|
||||||
"premium_3m",
|
"premium_3m",
|
||||||
)
|
)
|
||||||
|
|
||||||
private val SkuListProduct = listOf(
|
private val SkuListProduct = setOf(
|
||||||
"premium_lifetime",
|
"premium_lifetime",
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -144,7 +144,7 @@ class SubscriptionServiceAndroid(
|
||||||
.run {
|
.run {
|
||||||
val existingPurchase = receipts
|
val existingPurchase = receipts
|
||||||
?.firstOrNull {
|
?.firstOrNull {
|
||||||
SkuListSubscription.intersect(it.products)
|
it.products.intersect(SkuListSubscription)
|
||||||
.isNotEmpty()
|
.isNotEmpty()
|
||||||
}
|
}
|
||||||
if (existingPurchase != null && it.productId !in existingPurchase.products) {
|
if (existingPurchase != null && it.productId !in existingPurchase.products) {
|
||||||
|
|
|
@ -232,7 +232,7 @@ fun ChangePasswordScreen(
|
||||||
) { item ->
|
) { item ->
|
||||||
AppItem(
|
AppItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -409,7 +409,7 @@ private fun getApps(
|
||||||
ApplicationInfo.FLAG_SYSTEM or ApplicationInfo.FLAG_UPDATED_SYSTEM_APP
|
ApplicationInfo.FLAG_SYSTEM or ApplicationInfo.FLAG_UPDATED_SYSTEM_APP
|
||||||
applicationInfo.flags.and(mask) != 0
|
applicationInfo.flags.and(mask) != 0
|
||||||
}
|
}
|
||||||
val label = info.loadLabel(pm)?.toString().orEmpty()
|
val label = info.loadLabel(pm).toString()
|
||||||
val installTime = packageInfo.firstInstallTime
|
val installTime = packageInfo.firstInstallTime
|
||||||
AppInfo(
|
AppInfo(
|
||||||
packageName = info.activityInfo.packageName,
|
packageName = info.activityInfo.packageName,
|
||||||
|
|
|
@ -5,8 +5,8 @@ import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.rememberUpdatedState
|
import androidx.compose.runtime.rememberUpdatedState
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.platform.LocalLifecycleOwner
|
|
||||||
import androidx.fragment.app.FragmentActivity
|
import androidx.fragment.app.FragmentActivity
|
||||||
|
import androidx.lifecycle.compose.LocalLifecycleOwner
|
||||||
import androidx.lifecycle.whenResumed
|
import androidx.lifecycle.whenResumed
|
||||||
import arrow.core.left
|
import arrow.core.left
|
||||||
import arrow.core.right
|
import arrow.core.right
|
||||||
|
|
|
@ -114,6 +114,7 @@ private fun getPermissionItems(context: Context) = kotlin.run {
|
||||||
|
|
||||||
val result = info
|
val result = info
|
||||||
.requestedPermissions
|
.requestedPermissions
|
||||||
|
.orEmpty()
|
||||||
.mapNotNull { permission ->
|
.mapNotNull { permission ->
|
||||||
kotlin.runCatching {
|
kotlin.runCatching {
|
||||||
val permissionInfo = pm.getPermissionInfo(permission, 0)
|
val permissionInfo = pm.getPermissionInfo(permission, 0)
|
||||||
|
|
|
@ -21,10 +21,10 @@ import androidx.compose.runtime.*
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||||
import androidx.compose.ui.platform.LocalLifecycleOwner
|
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.viewinterop.AndroidView
|
import androidx.compose.ui.viewinterop.AndroidView
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
|
import androidx.lifecycle.compose.LocalLifecycleOwner
|
||||||
import com.artemchep.keyguard.feature.navigation.NavigationIcon
|
import com.artemchep.keyguard.feature.navigation.NavigationIcon
|
||||||
import com.artemchep.keyguard.feature.navigation.RouteResultTransmitter
|
import com.artemchep.keyguard.feature.navigation.RouteResultTransmitter
|
||||||
import com.artemchep.keyguard.res.Res
|
import com.artemchep.keyguard.res.Res
|
||||||
|
@ -172,7 +172,7 @@ private fun ScanQrCamera(
|
||||||
val preview = Preview.Builder()
|
val preview = Preview.Builder()
|
||||||
.build()
|
.build()
|
||||||
.also {
|
.also {
|
||||||
it.setSurfaceProvider(previewView.surfaceProvider)
|
it.surfaceProvider = previewView.surfaceProvider
|
||||||
}
|
}
|
||||||
val imageAnalysis = ImageAnalysis.Builder()
|
val imageAnalysis = ImageAnalysis.Builder()
|
||||||
.setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST)
|
.setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST)
|
||||||
|
|
|
@ -1,13 +1,17 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?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
|
Users can access their own servers even if
|
||||||
it's not though an HTTPS connection.
|
it's not though an HTTPS connection.
|
||||||
-->
|
-->
|
||||||
<base-config cleartextTrafficPermitted="true">
|
<base-config
|
||||||
|
cleartextTrafficPermitted="true"
|
||||||
|
tools:ignore="InsecureBaseConfiguration">
|
||||||
<trust-anchors>
|
<trust-anchors>
|
||||||
<certificates src="system" />
|
<certificates src="system" />
|
||||||
<certificates src="user" />
|
<certificates
|
||||||
|
src="user"
|
||||||
|
tools:ignore="AcceptsUserCertificates" />
|
||||||
</trust-anchors>
|
</trust-anchors>
|
||||||
</base-config>
|
</base-config>
|
||||||
<!--
|
<!--
|
||||||
|
|
|
@ -608,7 +608,7 @@ fun DSecret.gett(
|
||||||
return@forEach
|
return@forEach
|
||||||
}
|
}
|
||||||
|
|
||||||
val variant = variants.removeFirst()
|
val variant = variants.removeAt(0)
|
||||||
val value = get(
|
val value = get(
|
||||||
hint = variant.hint,
|
hint = variant.hint,
|
||||||
getTotpCode = getTotpCode,
|
getTotpCode = getTotpCode,
|
||||||
|
|
|
@ -672,7 +672,7 @@ private fun AttachmentTextField(
|
||||||
placeholder = "File name",
|
placeholder = "File name",
|
||||||
value = state.name,
|
value = state.name,
|
||||||
keyboardOptions = KeyboardOptions(
|
keyboardOptions = KeyboardOptions(
|
||||||
autoCorrect = false,
|
autoCorrectEnabled = false,
|
||||||
keyboardType = KeyboardType.Text,
|
keyboardType = KeyboardType.Text,
|
||||||
),
|
),
|
||||||
singleLine = true,
|
singleLine = true,
|
||||||
|
|
|
@ -139,7 +139,7 @@ fun AttachmentsScreen(
|
||||||
items(items, key = { it.key }) { item ->
|
items(items, key = { it.key }) { item ->
|
||||||
Item(
|
Item(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -416,7 +416,7 @@ private fun ColumnScope.LoginOtpScreenContentAuthenticator(
|
||||||
fontFamily = monoFontFamily,
|
fontFamily = monoFontFamily,
|
||||||
),
|
),
|
||||||
keyboardOptions = KeyboardOptions(
|
keyboardOptions = KeyboardOptions(
|
||||||
autoCorrect = false,
|
autoCorrectEnabled = false,
|
||||||
keyboardType = KeyboardType.Number,
|
keyboardType = KeyboardType.Number,
|
||||||
imeAction = ImeAction.Go,
|
imeAction = ImeAction.Go,
|
||||||
),
|
),
|
||||||
|
@ -488,7 +488,7 @@ private fun ColumnScope.LoginOtpScreenContentEmail(
|
||||||
fontFamily = monoFontFamily,
|
fontFamily = monoFontFamily,
|
||||||
),
|
),
|
||||||
keyboardOptions = KeyboardOptions(
|
keyboardOptions = KeyboardOptions(
|
||||||
autoCorrect = false,
|
autoCorrectEnabled = false,
|
||||||
keyboardType = KeyboardType.Number,
|
keyboardType = KeyboardType.Number,
|
||||||
imeAction = ImeAction.Go,
|
imeAction = ImeAction.Go,
|
||||||
),
|
),
|
||||||
|
|
|
@ -267,7 +267,7 @@ private fun ConfirmationStringItem(
|
||||||
keyboardOptions = when {
|
keyboardOptions = when {
|
||||||
item.password ->
|
item.password ->
|
||||||
KeyboardOptions(
|
KeyboardOptions(
|
||||||
autoCorrect = false,
|
autoCorrectEnabled = false,
|
||||||
keyboardType = KeyboardType.Password,
|
keyboardType = KeyboardType.Password,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -214,7 +214,7 @@ fun DuplicatesListScreen(
|
||||||
) { model ->
|
) { model ->
|
||||||
VaultListItem(
|
VaultListItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = model,
|
item = model,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -110,7 +110,7 @@ private fun FeedbackContent(
|
||||||
label = stringResource(Res.string.contactus_message_label),
|
label = stringResource(Res.string.contactus_message_label),
|
||||||
value = state.message,
|
value = state.message,
|
||||||
keyboardOptions = KeyboardOptions(
|
keyboardOptions = KeyboardOptions(
|
||||||
autoCorrect = true,
|
autoCorrectEnabled = true,
|
||||||
keyboardType = KeyboardType.Text,
|
keyboardType = KeyboardType.Text,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
|
@ -245,7 +245,7 @@ fun CipherFiltersListScreen(
|
||||||
) { item ->
|
) { item ->
|
||||||
FilterItem(
|
FilterItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -226,7 +226,7 @@ fun EmailRelayListScreen(
|
||||||
) { item ->
|
) { item ->
|
||||||
AppItem(
|
AppItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,7 +131,7 @@ private fun LazyListScope.populateGeneratorPaneMasterContent(
|
||||||
items(state.items, key = { it.id }) { item ->
|
items(state.items, key = { it.id }) { item ->
|
||||||
GeneratorHistoryItem(
|
GeneratorHistoryItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -250,7 +250,7 @@ fun WordlistListScreen(
|
||||||
) { item ->
|
) { item ->
|
||||||
WordlistItem(
|
WordlistItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -256,7 +256,7 @@ fun WordlistViewScreen(
|
||||||
) { item ->
|
) { item ->
|
||||||
AppItem(
|
AppItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,11 +2,12 @@ package com.artemchep.keyguard.feature.home.settings.component
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.RowScope
|
import androidx.compose.foundation.layout.RowScope
|
||||||
import androidx.compose.material.icons.Icons
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetAppIcons
|
import com.artemchep.keyguard.common.usecase.GetAppIcons
|
||||||
|
@ -67,7 +68,7 @@ private fun SettingAppIcons(
|
||||||
leading = icon<RowScope>(Icons.Stub),
|
leading = icon<RowScope>(Icons.Stub),
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
package com.artemchep.keyguard.feature.home.settings.component
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetAutofillCopyTotp
|
import com.artemchep.keyguard.common.usecase.GetAutofillCopyTotp
|
||||||
|
@ -64,7 +65,7 @@ private fun SettingAutofillCopyTotp(
|
||||||
FlatItem(
|
FlatItem(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
package com.artemchep.keyguard.feature.home.settings.component
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetAutofillInlineSuggestions
|
import com.artemchep.keyguard.common.usecase.GetAutofillInlineSuggestions
|
||||||
|
@ -61,7 +62,7 @@ private fun SettingAutofillInlineSuggestions(
|
||||||
FlatItem(
|
FlatItem(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
package com.artemchep.keyguard.feature.home.settings.component
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetAutofillManualSelection
|
import com.artemchep.keyguard.common.usecase.GetAutofillManualSelection
|
||||||
|
@ -61,7 +62,7 @@ private fun SettingAutofillManualSelection(
|
||||||
FlatItem(
|
FlatItem(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
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.Spacer
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.material3.LocalContentColor
|
import androidx.compose.material3.LocalContentColor
|
||||||
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
|
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Switch
|
import androidx.compose.material3.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
|
@ -70,7 +71,7 @@ private fun SettingAutofillRespectAutofillOff(
|
||||||
FlatItemLayout(
|
FlatItemLayout(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
package com.artemchep.keyguard.feature.home.settings.component
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetAutofillSaveRequest
|
import com.artemchep.keyguard.common.usecase.GetAutofillSaveRequest
|
||||||
|
@ -69,7 +70,7 @@ private fun SettingAutofillSaveRequest(
|
||||||
FlatItem(
|
FlatItem(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
package com.artemchep.keyguard.feature.home.settings.component
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetAutofillSaveUri
|
import com.artemchep.keyguard.common.usecase.GetAutofillSaveUri
|
||||||
|
@ -69,7 +70,7 @@ private fun SettingAutofillSaveUri(
|
||||||
FlatItem(
|
FlatItem(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -3,12 +3,13 @@ package com.artemchep.keyguard.feature.home.settings.component
|
||||||
import androidx.compose.foundation.layout.RowScope
|
import androidx.compose.foundation.layout.RowScope
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.outlined.Fingerprint
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.io.map
|
import com.artemchep.keyguard.common.io.map
|
||||||
|
@ -144,7 +145,7 @@ private fun SettingBiometrics(
|
||||||
leading = icon<RowScope>(Icons.Outlined.Fingerprint),
|
leading = icon<RowScope>(Icons.Outlined.Fingerprint),
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
package com.artemchep.keyguard.feature.home.settings.component
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.model.BiometricStatus
|
import com.artemchep.keyguard.common.model.BiometricStatus
|
||||||
|
@ -100,7 +101,7 @@ private fun SettingBiometricsRequireConfirmation(
|
||||||
FlatItem(
|
FlatItem(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
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.Column
|
||||||
import androidx.compose.foundation.layout.padding
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetCheckPasskeys
|
import com.artemchep.keyguard.common.usecase.GetCheckPasskeys
|
||||||
|
@ -59,7 +60,7 @@ private fun SettingCheckPasskeys(
|
||||||
FlatItem(
|
FlatItem(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
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.Column
|
||||||
import androidx.compose.foundation.layout.padding
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
|
@ -60,7 +61,7 @@ private fun SettingCheckPwnedPasswords(
|
||||||
FlatItem(
|
FlatItem(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
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.Column
|
||||||
import androidx.compose.foundation.layout.padding
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetCheckPwnedServices
|
import com.artemchep.keyguard.common.usecase.GetCheckPwnedServices
|
||||||
|
@ -59,7 +60,7 @@ private fun SettingCheckPwnedServices(
|
||||||
FlatItem(
|
FlatItem(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
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.Column
|
||||||
import androidx.compose.foundation.layout.padding
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetCheckTwoFA
|
import com.artemchep.keyguard.common.usecase.GetCheckTwoFA
|
||||||
|
@ -60,7 +61,7 @@ private fun SettingCheckTwoFA(
|
||||||
FlatItem(
|
FlatItem(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
|
||||||
import androidx.compose.foundation.layout.RowScope
|
import androidx.compose.foundation.layout.RowScope
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.outlined.CloseFullscreen
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetCloseToTray
|
import com.artemchep.keyguard.common.usecase.GetCloseToTray
|
||||||
|
@ -73,7 +74,7 @@ private fun SettingCloseToTray(
|
||||||
leading = icon<RowScope>(Icons.Outlined.CloseFullscreen),
|
leading = icon<RowScope>(Icons.Outlined.CloseFullscreen),
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -4,11 +4,12 @@ import androidx.compose.animation.Crossfade
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.outlined.Visibility
|
import androidx.compose.material.icons.outlined.Visibility
|
||||||
import androidx.compose.material.icons.outlined.VisibilityOff
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetConcealFields
|
import com.artemchep.keyguard.common.usecase.GetConcealFields
|
||||||
|
@ -72,7 +73,7 @@ private fun SettingScreenshotsFields(
|
||||||
},
|
},
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
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.Icons
|
||||||
import androidx.compose.material.icons.outlined.BugReport
|
import androidx.compose.material.icons.outlined.BugReport
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
|
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
|
||||||
import androidx.compose.material3.Switch
|
import androidx.compose.material3.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.platform.crashlyticsIsEnabledFlow
|
import com.artemchep.keyguard.platform.crashlyticsIsEnabledFlow
|
||||||
import com.artemchep.keyguard.platform.crashlyticsSetEnabled
|
import com.artemchep.keyguard.platform.crashlyticsSetEnabled
|
||||||
|
@ -63,7 +64,7 @@ private fun SettingCrashlytics(
|
||||||
valueOrNull = checked,
|
valueOrNull = checked,
|
||||||
) {
|
) {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = it,
|
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.Icons
|
||||||
import androidx.compose.material.icons.outlined.AccountCircle
|
import androidx.compose.material.icons.outlined.AccountCircle
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
|
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
|
||||||
import androidx.compose.material3.Switch
|
import androidx.compose.material3.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetGravatar
|
import com.artemchep.keyguard.common.usecase.GetGravatar
|
||||||
|
@ -70,7 +71,7 @@ private fun SettingGravatar(
|
||||||
},
|
},
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
package com.artemchep.keyguard.feature.home.settings.component
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetKeepScreenOn
|
import com.artemchep.keyguard.common.usecase.GetKeepScreenOn
|
||||||
|
@ -62,7 +63,7 @@ private fun SettingKeepScreenOn(
|
||||||
FlatItem(
|
FlatItem(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -5,7 +5,7 @@ import androidx.compose.foundation.layout.RowScope
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.outlined.TextFormat
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.material3.TextButton
|
import androidx.compose.material3.TextButton
|
||||||
|
@ -14,6 +14,7 @@ import androidx.compose.runtime.CompositionLocalProvider
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.rememberUpdatedState
|
import androidx.compose.runtime.rememberUpdatedState
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
|
@ -86,7 +87,7 @@ private fun SettingMarkdown(
|
||||||
leading = icon<RowScope>(Icons.Outlined.TextFormat),
|
leading = icon<RowScope>(Icons.Outlined.TextFormat),
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
|
||||||
import androidx.compose.foundation.layout.RowScope
|
import androidx.compose.foundation.layout.RowScope
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.automirrored.outlined.Label
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetNavLabel
|
import com.artemchep.keyguard.common.usecase.GetNavLabel
|
||||||
|
@ -66,7 +67,7 @@ private fun SettingNavLabel(
|
||||||
leading = icon<RowScope>(Icons.AutoMirrored.Outlined.Label),
|
leading = icon<RowScope>(Icons.AutoMirrored.Outlined.Label),
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
package com.artemchep.keyguard.feature.home.settings.component
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetDebugScreenDelay
|
import com.artemchep.keyguard.common.usecase.GetDebugScreenDelay
|
||||||
|
@ -55,7 +56,7 @@ private fun SettingDebugScreenDelay(
|
||||||
FlatItem(
|
FlatItem(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
|
||||||
import androidx.compose.foundation.layout.RowScope
|
import androidx.compose.foundation.layout.RowScope
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.outlined.Screenshot
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetAllowScreenshots
|
import com.artemchep.keyguard.common.usecase.GetAllowScreenshots
|
||||||
|
@ -70,7 +71,7 @@ private fun SettingScreenshotsFields(
|
||||||
leading = icon<RowScope>(Icons.Outlined.Screenshot),
|
leading = icon<RowScope>(Icons.Outlined.Screenshot),
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
package com.artemchep.keyguard.feature.home.settings.component
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetDebugPremium
|
import com.artemchep.keyguard.common.usecase.GetDebugPremium
|
||||||
|
@ -55,7 +56,7 @@ private fun SettingDebugPremium(
|
||||||
FlatItem(
|
FlatItem(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -2,11 +2,12 @@ package com.artemchep.keyguard.feature.home.settings.component
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.RowScope
|
import androidx.compose.foundation.layout.RowScope
|
||||||
import androidx.compose.material.icons.Icons
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetThemeUseAmoledDark
|
import com.artemchep.keyguard.common.usecase.GetThemeUseAmoledDark
|
||||||
|
@ -70,7 +71,7 @@ private fun SettingThemeUseAmoledDark(
|
||||||
leading = icon<RowScope>(Icons.Stub),
|
leading = icon<RowScope>(Icons.Stub),
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
|
||||||
import androidx.compose.foundation.layout.RowScope
|
import androidx.compose.foundation.layout.RowScope
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.outlined.Tablet
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetAllowTwoPanelLayoutInLandscape
|
import com.artemchep.keyguard.common.usecase.GetAllowTwoPanelLayoutInLandscape
|
||||||
|
@ -68,7 +69,7 @@ private fun SettingTwoPanelLayoutLandscape(
|
||||||
leading = icon<RowScope>(Icons.Outlined.Tablet),
|
leading = icon<RowScope>(Icons.Outlined.Tablet),
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
|
||||||
import androidx.compose.foundation.layout.RowScope
|
import androidx.compose.foundation.layout.RowScope
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.outlined.PhoneAndroid
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetAllowTwoPanelLayoutInPortrait
|
import com.artemchep.keyguard.common.usecase.GetAllowTwoPanelLayoutInPortrait
|
||||||
|
@ -68,7 +69,7 @@ private fun SettingTwoPanelLayoutPortrait(
|
||||||
leading = icon<RowScope>(Icons.Outlined.PhoneAndroid),
|
leading = icon<RowScope>(Icons.Outlined.PhoneAndroid),
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
|
||||||
import androidx.compose.foundation.layout.RowScope
|
import androidx.compose.foundation.layout.RowScope
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.outlined.OpenInBrowser
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetUseExternalBrowser
|
import com.artemchep.keyguard.common.usecase.GetUseExternalBrowser
|
||||||
|
@ -74,7 +75,7 @@ private fun SettingUseExternalBrowser(
|
||||||
leading = icon<RowScope>(Icons.Outlined.OpenInBrowser),
|
leading = icon<RowScope>(Icons.Outlined.OpenInBrowser),
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -2,11 +2,12 @@ package com.artemchep.keyguard.feature.home.settings.component
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.RowScope
|
import androidx.compose.foundation.layout.RowScope
|
||||||
import androidx.compose.material.icons.Icons
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetVaultLockAfterReboot
|
import com.artemchep.keyguard.common.usecase.GetVaultLockAfterReboot
|
||||||
|
@ -80,7 +81,7 @@ private fun SettingLockAfterReboot(
|
||||||
leading = icon<RowScope>(Icons.Stub),
|
leading = icon<RowScope>(Icons.Stub),
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -3,11 +3,12 @@ package com.artemchep.keyguard.feature.home.settings.component
|
||||||
import androidx.compose.foundation.layout.RowScope
|
import androidx.compose.foundation.layout.RowScope
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.outlined.MobileOff
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetVaultLockAfterScreenOff
|
import com.artemchep.keyguard.common.usecase.GetVaultLockAfterScreenOff
|
||||||
|
@ -75,7 +76,7 @@ private fun SettingLockAfterScreenOff(
|
||||||
leading = icon<RowScope>(Icons.Outlined.MobileOff),
|
leading = icon<RowScope>(Icons.Outlined.MobileOff),
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
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.Key
|
||||||
import androidx.compose.material.icons.outlined.Memory
|
import androidx.compose.material.icons.outlined.Memory
|
||||||
import androidx.compose.material.icons.outlined.Storage
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
|
@ -80,7 +81,7 @@ private fun SettingVaultPersist(
|
||||||
leading = icon<RowScope>(Icons.Outlined.Key, secondaryIcon),
|
leading = icon<RowScope>(Icons.Outlined.Key, secondaryIcon),
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -7,7 +7,7 @@ import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material3.LocalContentColor
|
import androidx.compose.material3.LocalContentColor
|
||||||
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
|
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Switch
|
import androidx.compose.material3.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
|
@ -17,6 +17,7 @@ import androidx.compose.runtime.CompositionLocalProvider
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.rememberUpdatedState
|
import androidx.compose.runtime.rememberUpdatedState
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
|
@ -91,7 +92,7 @@ private fun SettingMarkdown(
|
||||||
leading = icon<RowScope>(Icons.Outlined.KeyguardWebsite),
|
leading = icon<RowScope>(Icons.Outlined.KeyguardWebsite),
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
package com.artemchep.keyguard.feature.home.settings.component
|
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.Switch
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.ui.unit.Dp
|
||||||
import arrow.core.partially1
|
import arrow.core.partially1
|
||||||
import com.artemchep.keyguard.common.io.launchIn
|
import com.artemchep.keyguard.common.io.launchIn
|
||||||
import com.artemchep.keyguard.common.usecase.GetPurchased
|
import com.artemchep.keyguard.common.usecase.GetPurchased
|
||||||
|
@ -56,7 +57,7 @@ private fun SettingWriteAccess(
|
||||||
FlatItem(
|
FlatItem(
|
||||||
trailing = {
|
trailing = {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
Switch(
|
Switch(
|
||||||
checked = checked,
|
checked = checked,
|
||||||
|
|
|
@ -2632,7 +2632,7 @@ private suspend fun RememberStateFlowScope.produceCardState(
|
||||||
label = translate(Res.string.card_number),
|
label = translate(Res.string.card_number),
|
||||||
initialValue = card?.number,
|
initialValue = card?.number,
|
||||||
keyboardOptions = KeyboardOptions(
|
keyboardOptions = KeyboardOptions(
|
||||||
autoCorrect = false,
|
autoCorrectEnabled = false,
|
||||||
keyboardType = KeyboardType.Number,
|
keyboardType = KeyboardType.Number,
|
||||||
),
|
),
|
||||||
visualTransformation = GenericSeparatorVisualTransformation(),
|
visualTransformation = GenericSeparatorVisualTransformation(),
|
||||||
|
@ -2791,7 +2791,7 @@ private suspend fun RememberStateFlowScope.produceCardState(
|
||||||
initialValue = card?.code,
|
initialValue = card?.code,
|
||||||
singleLine = true,
|
singleLine = true,
|
||||||
keyboardOptions = KeyboardOptions(
|
keyboardOptions = KeyboardOptions(
|
||||||
autoCorrect = false,
|
autoCorrectEnabled = false,
|
||||||
keyboardType = KeyboardType.Number,
|
keyboardType = KeyboardType.Number,
|
||||||
),
|
),
|
||||||
lens = CreateRequest.card.code,
|
lens = CreateRequest.card.code,
|
||||||
|
@ -3049,7 +3049,7 @@ private suspend fun RememberStateFlowScope.produceIdentityState(
|
||||||
initialValue = args.autofill?.email ?: identity?.email,
|
initialValue = args.autofill?.email ?: identity?.email,
|
||||||
singleLine = true,
|
singleLine = true,
|
||||||
keyboardOptions = KeyboardOptions(
|
keyboardOptions = KeyboardOptions(
|
||||||
autoCorrect = false,
|
autoCorrectEnabled = false,
|
||||||
keyboardType = KeyboardType.Email,
|
keyboardType = KeyboardType.Email,
|
||||||
),
|
),
|
||||||
lens = CreateRequest.identity.email,
|
lens = CreateRequest.identity.email,
|
||||||
|
@ -3067,7 +3067,7 @@ private suspend fun RememberStateFlowScope.produceIdentityState(
|
||||||
initialValue = args.autofill?.phone ?: identity?.phone,
|
initialValue = args.autofill?.phone ?: identity?.phone,
|
||||||
singleLine = true,
|
singleLine = true,
|
||||||
keyboardOptions = KeyboardOptions(
|
keyboardOptions = KeyboardOptions(
|
||||||
autoCorrect = false,
|
autoCorrectEnabled = false,
|
||||||
keyboardType = KeyboardType.Phone,
|
keyboardType = KeyboardType.Phone,
|
||||||
),
|
),
|
||||||
lens = CreateRequest.identity.phone,
|
lens = CreateRequest.identity.phone,
|
||||||
|
@ -3113,7 +3113,7 @@ private suspend fun RememberStateFlowScope.produceIdentityState(
|
||||||
initialValue = identity?.passportNumber,
|
initialValue = identity?.passportNumber,
|
||||||
singleLine = true,
|
singleLine = true,
|
||||||
keyboardOptions = KeyboardOptions(
|
keyboardOptions = KeyboardOptions(
|
||||||
autoCorrect = false,
|
autoCorrectEnabled = false,
|
||||||
),
|
),
|
||||||
lens = CreateRequest.identity.passportNumber,
|
lens = CreateRequest.identity.passportNumber,
|
||||||
)
|
)
|
||||||
|
|
|
@ -151,7 +151,7 @@ fun CollectionsScreenContent(
|
||||||
) {
|
) {
|
||||||
OrganizationsScreenItem(
|
OrganizationsScreenItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = it,
|
item = it,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -143,7 +143,7 @@ fun SearchTextField(
|
||||||
keyboardOptions = KeyboardOptions(
|
keyboardOptions = KeyboardOptions(
|
||||||
keyboardType = KeyboardType.Text,
|
keyboardType = KeyboardType.Text,
|
||||||
imeAction = ImeAction.Done,
|
imeAction = ImeAction.Done,
|
||||||
autoCorrect = false,
|
autoCorrectEnabled = false,
|
||||||
),
|
),
|
||||||
singleLine = true,
|
singleLine = true,
|
||||||
)
|
)
|
||||||
|
|
|
@ -34,7 +34,7 @@ import androidx.compose.material3.DropdownMenu
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.LocalContentColor
|
import androidx.compose.material3.LocalContentColor
|
||||||
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
|
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.ProvideTextStyle
|
import androidx.compose.material3.ProvideTextStyle
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
|
@ -712,7 +712,7 @@ fun FlatItemLayout2(
|
||||||
) {
|
) {
|
||||||
if (leading != null) {
|
if (leading != null) {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
leading()
|
leading()
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,7 +162,7 @@ fun FoldersScreenContent(
|
||||||
) {
|
) {
|
||||||
FoldersScreenItem(
|
FoldersScreenItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = it,
|
item = it,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -154,7 +154,7 @@ fun FoldersScreenContent(
|
||||||
) {
|
) {
|
||||||
OrganizationsScreenItem(
|
OrganizationsScreenItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = it,
|
item = it,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -553,7 +553,7 @@ fun VaultHomeScreenListPane(
|
||||||
if (model is VaultItem2.QuickFilters && !tabletUi) {
|
if (model is VaultItem2.QuickFilters && !tabletUi) {
|
||||||
Box(
|
Box(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
) {
|
) {
|
||||||
val arg2 = LocalAppMode.current
|
val arg2 = LocalAppMode.current
|
||||||
val llll = remember(state.filters) {
|
val llll = remember(state.filters) {
|
||||||
|
@ -587,7 +587,7 @@ fun VaultHomeScreenListPane(
|
||||||
} else {
|
} else {
|
||||||
VaultListItem(
|
VaultListItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = model,
|
item = model,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ data class VaultListState(
|
||||||
companion object;
|
companion object;
|
||||||
|
|
||||||
sealed interface Content {
|
sealed interface Content {
|
||||||
companion object
|
companion object;
|
||||||
|
|
||||||
data object Skeleton : Content
|
data object Skeleton : Content
|
||||||
|
|
||||||
|
|
|
@ -230,7 +230,7 @@ fun JustDeleteMeListScreen(
|
||||||
) { item ->
|
) { item ->
|
||||||
AppItem(
|
AppItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -231,7 +231,7 @@ fun JustGetMyDataListScreen(
|
||||||
) { item ->
|
) { item ->
|
||||||
AppItem(
|
AppItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -194,7 +194,7 @@ private fun LogsScreenContent(
|
||||||
items(items, key = { it.id }) { item ->
|
items(items, key = { it.id }) { item ->
|
||||||
LogItem(
|
LogItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -228,7 +228,7 @@ fun PasskeysListScreen(
|
||||||
) { item ->
|
) { item ->
|
||||||
AppItem(
|
AppItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ data class SendListState(
|
||||||
companion object;
|
companion object;
|
||||||
|
|
||||||
sealed interface Content {
|
sealed interface Content {
|
||||||
companion object
|
companion object;
|
||||||
|
|
||||||
data object Skeleton : Content
|
data object Skeleton : Content
|
||||||
|
|
||||||
|
|
|
@ -400,7 +400,7 @@ private fun SendScreenContent(
|
||||||
) { model ->
|
) { model ->
|
||||||
VaultSendItemText(
|
VaultSendItemText(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = model,
|
item = model,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -237,7 +237,7 @@ fun SendViewScreen(
|
||||||
) { model ->
|
) { model ->
|
||||||
VaultViewItem(
|
VaultViewItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = model,
|
item = model,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,7 +104,7 @@ private fun SyncContent(
|
||||||
}
|
}
|
||||||
TestK(
|
TestK(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -228,7 +228,7 @@ fun TwoFaServiceListScreen(
|
||||||
) { item ->
|
) { item ->
|
||||||
AppItem(
|
AppItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -204,7 +204,7 @@ fun EmailRelayListScreen(
|
||||||
) { item ->
|
) { item ->
|
||||||
UrlOverrideItem(
|
UrlOverrideItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -171,7 +171,7 @@ private fun LazyListScope.populateGeneratorPaneMasterContent(
|
||||||
items(state.items, key = { it.id }) { item ->
|
items(state.items, key = { it.id }) { item ->
|
||||||
GeneratorHistoryItem(
|
GeneratorHistoryItem(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.animateItemPlacement(),
|
.animateItem(),
|
||||||
item = item,
|
item = item,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,7 +145,7 @@ fun YubiKeyManual(
|
||||||
label = stringResource(Res.string.verification_code),
|
label = stringResource(Res.string.verification_code),
|
||||||
value = fieldState.value,
|
value = fieldState.value,
|
||||||
keyboardOptions = KeyboardOptions(
|
keyboardOptions = KeyboardOptions(
|
||||||
autoCorrect = true,
|
autoCorrectEnabled = true,
|
||||||
keyboardType = KeyboardType.Text,
|
keyboardType = KeyboardType.Text,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
|
@ -3,9 +3,9 @@ package com.artemchep.keyguard.platform.lifecycle
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.DisposableEffect
|
import androidx.compose.runtime.DisposableEffect
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.platform.LocalLifecycleOwner
|
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.lifecycle.LifecycleEventObserver
|
import androidx.lifecycle.LifecycleEventObserver
|
||||||
|
import androidx.lifecycle.compose.LocalLifecycleOwner
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.LocalAbsoluteTonalElevation
|
import androidx.compose.material3.LocalAbsoluteTonalElevation
|
||||||
import androidx.compose.material3.LocalContentColor
|
import androidx.compose.material3.LocalContentColor
|
||||||
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
|
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
|
||||||
import androidx.compose.material3.LocalTextStyle
|
import androidx.compose.material3.LocalTextStyle
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Surface
|
import androidx.compose.material3.Surface
|
||||||
|
@ -521,7 +521,7 @@ fun FlatItemLayout(
|
||||||
) {
|
) {
|
||||||
if (leading != null) {
|
if (leading != null) {
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalMinimumInteractiveComponentEnforcement provides false,
|
LocalMinimumInteractiveComponentSize provides Dp.Unspecified,
|
||||||
) {
|
) {
|
||||||
leading()
|
leading()
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.artemchep.keyguard.ui
|
||||||
//import androidx.compose.ui.awt.awtEventOrNull
|
//import androidx.compose.ui.awt.awtEventOrNull
|
||||||
import androidx.compose.animation.core.MutableTransitionState
|
import androidx.compose.animation.core.MutableTransitionState
|
||||||
import androidx.compose.animation.core.animateFloat
|
import androidx.compose.animation.core.animateFloat
|
||||||
|
import androidx.compose.animation.core.rememberTransition
|
||||||
import androidx.compose.animation.core.tween
|
import androidx.compose.animation.core.tween
|
||||||
import androidx.compose.animation.core.updateTransition
|
import androidx.compose.animation.core.updateTransition
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
|
@ -62,7 +63,7 @@ fun WunderPopup(
|
||||||
}
|
}
|
||||||
|
|
||||||
// Menu open/close animation.
|
// Menu open/close animation.
|
||||||
val transition = updateTransition(expandedStates, "DropDownMenu")
|
val transition = rememberTransition(expandedStates, "DropDownMenu")
|
||||||
val alpha by transition.animateFloat(
|
val alpha by transition.animateFloat(
|
||||||
transitionSpec = {
|
transitionSpec = {
|
||||||
if (false isTransitioningTo true) {
|
if (false isTransitioningTo true) {
|
||||||
|
|
|
@ -83,7 +83,7 @@ class CipherEncryptorImpl(
|
||||||
"Cipher-text '$c.???' is not valid!"
|
"Cipher-text '$c.???' is not valid!"
|
||||||
}
|
}
|
||||||
val (cipherTypeRaw, cipherContent) = cipherSeq
|
val (cipherTypeRaw, cipherContent) = cipherSeq
|
||||||
val cipherType = CipherEncryptor.Type.values()
|
val cipherType = CipherEncryptor.Type.entries
|
||||||
.firstOrNull { it.type == cipherTypeRaw }
|
.firstOrNull { it.type == cipherTypeRaw }
|
||||||
?: error("Cipher type $cipherTypeRaw is not supported!")
|
?: error("Cipher type $cipherTypeRaw is not supported!")
|
||||||
val cipherArgs = cipherContent
|
val cipherArgs = cipherContent
|
||||||
|
|
|
@ -57,7 +57,7 @@ class CipherInputStreamDecoder(
|
||||||
}
|
}
|
||||||
|
|
||||||
val type = buffer[offset].let { byte ->
|
val type = buffer[offset].let { byte ->
|
||||||
CipherEncryptor.Type.values()
|
CipherEncryptor.Type.entries
|
||||||
.first { it.byte == byte }
|
.first { it.byte == byte }
|
||||||
}
|
}
|
||||||
return when (type) {
|
return when (type) {
|
||||||
|
|
|
@ -36,7 +36,7 @@ class FileEncryptorImpl(
|
||||||
key: ByteArray,
|
key: ByteArray,
|
||||||
): ByteArray {
|
): ByteArray {
|
||||||
val type = data[0].let { byte ->
|
val type = data[0].let { byte ->
|
||||||
CipherEncryptor.Type.values().first { it.byte == byte }
|
CipherEncryptor.Type.entries.first { it.byte == byte }
|
||||||
}
|
}
|
||||||
|
|
||||||
return when (type) {
|
return when (type) {
|
||||||
|
|
|
@ -81,7 +81,7 @@ class MessagePackHubProtocol : HubProtocol {
|
||||||
try {
|
try {
|
||||||
MessagePack.newDefaultUnpacker(payload).use { unpacker ->
|
MessagePack.newDefaultUnpacker(payload).use { unpacker ->
|
||||||
val itemCount = unpacker.unpackArrayHeader()
|
val itemCount = unpacker.unpackArrayHeader()
|
||||||
val messageType = HubMessageType.values()[unpacker.unpackInt() - 1]
|
val messageType = HubMessageType.entries[unpacker.unpackInt() - 1]
|
||||||
when (messageType) {
|
when (messageType) {
|
||||||
HubMessageType.INVOCATION -> hubMessages.add(
|
HubMessageType.INVOCATION -> hubMessages.add(
|
||||||
createInvocationMessage(
|
createInvocationMessage(
|
||||||
|
@ -545,7 +545,7 @@ class MessagePackHubProtocol : HubProtocol {
|
||||||
if (itemClass == Short::class.java || itemClass == Short::class.javaPrimitiveType) {
|
if (itemClass == Short::class.java || itemClass == Short::class.javaPrimitiveType) {
|
||||||
item = item.toShort()
|
item = item.toShort()
|
||||||
} else if (itemClass == Char::class.java || itemClass == Char::class.javaPrimitiveType) {
|
} 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) {
|
} else if (itemClass == Byte::class.java || itemClass == Byte::class.javaPrimitiveType) {
|
||||||
item = item.toByte()
|
item = item.toByte()
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,7 @@ android.enableJetifier=false
|
||||||
kotlin.code.style=official
|
kotlin.code.style=official
|
||||||
kotlin.daemon.jvmargs=-Xmx4096m
|
kotlin.daemon.jvmargs=-Xmx4096m
|
||||||
kotlin.mpp.androidSourceSetLayoutVersion=2
|
kotlin.mpp.androidSourceSetLayoutVersion=2
|
||||||
|
kotlin.mpp.applyDefaultHierarchyTemplate=false
|
||||||
# Enables namespacing of each library's R class so that its R class includes only the
|
# 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,
|
# resources declared in the library itself and none from the library's dependencies,
|
||||||
# thereby reducing the size of the R class for that library
|
# thereby reducing the size of the R class for that library
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
# @keep
|
# @keep
|
||||||
androidMinSdk = "26"
|
androidMinSdk = "26"
|
||||||
# @keep
|
# @keep
|
||||||
androidCompileSdk = "34"
|
androidCompileSdk = "35"
|
||||||
# @keep
|
# @keep
|
||||||
androidTargetSdk = "34"
|
androidTargetSdk = "35"
|
||||||
# @keep
|
# @keep
|
||||||
jdk = "17"
|
jdk = "17"
|
||||||
# @keep
|
# @keep
|
||||||
|
@ -12,32 +12,32 @@ appVersionName = "1.5.2"
|
||||||
# @keep
|
# @keep
|
||||||
appVersionCode = "6"
|
appVersionCode = "6"
|
||||||
# https://github.com/google/accompanist
|
# https://github.com/google/accompanist
|
||||||
accompanist = "0.34.0"
|
accompanist = "0.36.0"
|
||||||
androidBillingClient = "7.0.0"
|
androidBillingClient = "7.0.0"
|
||||||
# https://mvnrepository.com/artifact/com.android.tools/desugar_jdk_libs
|
# 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
|
# https://mvnrepository.com/artifact/com.android.tools.build/gradle?repo=google
|
||||||
androidPlugin = "8.5.2"
|
androidPlugin = "8.6.0"
|
||||||
androidxActivity = "1.9.1"
|
androidxActivity = "1.9.2"
|
||||||
androidxAppCompat = "1.7.0"
|
androidxAppCompat = "1.7.0"
|
||||||
androidxAutofill = "1.3.0-alpha01"
|
androidxAutofill = "1.3.0-alpha01"
|
||||||
androidxBaselineProfile = "1.2.4"
|
androidxBaselineProfile = "1.3.0"
|
||||||
androidxBenchmarkMacroJUnit4 = "1.2.4"
|
androidxBenchmarkMacroJUnit4 = "1.3.0"
|
||||||
androidxBiometricKtx = "1.2.0-alpha05"
|
androidxBiometricKtx = "1.2.0-alpha05"
|
||||||
androidxBrowser = "1.8.0"
|
androidxBrowser = "1.8.0"
|
||||||
androidxCamera = "1.4.0-rc01"
|
androidxCamera = "1.4.0-rc01"
|
||||||
androidxCoreKtx = "1.13.1"
|
androidxCoreKtx = "1.13.1"
|
||||||
androidxCoreSplash = "1.2.0-alpha01"
|
androidxCoreSplash = "1.2.0-alpha02"
|
||||||
androidxCoreShortcuts = "1.1.0"
|
androidxCoreShortcuts = "1.1.0"
|
||||||
androidxCredentials = "1.2.2"
|
androidxCredentials = "1.2.2"
|
||||||
androidxDatastore = "1.1.1"
|
androidxDatastore = "1.1.1"
|
||||||
androidxLifecycle = "2.8.4"
|
androidxLifecycle = "2.8.5"
|
||||||
androidxProfileInstaller = "1.3.1"
|
androidxProfileInstaller = "1.3.1"
|
||||||
androidxRoom = "2.6.1"
|
androidxRoom = "2.6.1"
|
||||||
androidxSecurityCryptoKtx = "1.1.0-alpha06"
|
androidxSecurityCryptoKtx = "1.1.0-alpha06"
|
||||||
androidxTestEspresso = "3.6.0-alpha01"
|
androidxTestEspresso = "3.6.1"
|
||||||
androidxTestExtJUnit = "1.2.0-alpha01"
|
androidxTestExtJUnit = "1.2.1"
|
||||||
androidxTestUiAutomator = "2.3.0-alpha05"
|
androidxTestUiAutomator = "2.3.0"
|
||||||
androidxWork = "2.9.1"
|
androidxWork = "2.9.1"
|
||||||
# https://github.com/harawata/appdirs
|
# https://github.com/harawata/appdirs
|
||||||
appDirs = "1.2.2"
|
appDirs = "1.2.2"
|
||||||
|
@ -50,14 +50,14 @@ buildkonfigPlugin = "0.15.1"
|
||||||
# https://mvnrepository.com/artifact/commons-codec/commons-codec
|
# https://mvnrepository.com/artifact/commons-codec/commons-codec
|
||||||
commonsCodec = "1.17.1"
|
commonsCodec = "1.17.1"
|
||||||
# https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
|
# https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
|
||||||
commonsLang3 = "3.16.0"
|
commonsLang3 = "3.17.0"
|
||||||
# https://github.com/JetBrains/compose-multiplatform
|
# https://github.com/JetBrains/compose-multiplatform
|
||||||
composeMultiplatform = "1.7.0-beta01"
|
composeMultiplatform = "1.7.0-beta02"
|
||||||
# https://github.com/DevSrSouza/compose-icons
|
# https://github.com/DevSrSouza/compose-icons
|
||||||
composeOpenIcons = "1.1.0"
|
composeOpenIcons = "1.1.0"
|
||||||
conscrypt = "2.5.2"
|
conscrypt = "2.5.2"
|
||||||
crashlyticsPlugin = "3.0.2"
|
crashlyticsPlugin = "3.0.2"
|
||||||
firebase = "33.2.0"
|
firebase = "33.3.0"
|
||||||
# https://github.com/tfcporciuncula/flow-preferences
|
# https://github.com/tfcporciuncula/flow-preferences
|
||||||
flowPreferences = "1.9.1"
|
flowPreferences = "1.9.1"
|
||||||
# https://github.com/bumptech/glide
|
# https://github.com/bumptech/glide
|
||||||
|
@ -74,16 +74,16 @@ kodeinDi = "7.22.0"
|
||||||
# https://github.com/JetBrains/kotlin
|
# https://github.com/JetBrains/kotlin
|
||||||
kotlin = "2.0.20"
|
kotlin = "2.0.20"
|
||||||
# https://github.com/Kotlin/kotlinx.collections.immutable
|
# https://github.com/Kotlin/kotlinx.collections.immutable
|
||||||
kotlinCollections = "0.3.7"
|
kotlinCollections = "0.3.8"
|
||||||
# https://github.com/Kotlin/kotlinx.coroutines
|
# https://github.com/Kotlin/kotlinx.coroutines
|
||||||
kotlinCoroutines = "1.8.1"
|
kotlinCoroutines = "1.9.0"
|
||||||
# https://github.com/Kotlin/kotlinx-datetime
|
# https://github.com/Kotlin/kotlinx-datetime
|
||||||
kotlinDatetime = "0.6.1"
|
kotlinDatetime = "0.6.1"
|
||||||
kotlinDsl = "4.3.0"
|
kotlinDsl = "4.3.0"
|
||||||
# https://github.com/Kotlin/kotlinx.serialization
|
# https://github.com/Kotlin/kotlinx.serialization
|
||||||
kotlinSerialization = "1.7.2"
|
kotlinSerialization = "1.7.2"
|
||||||
# https://github.com/google/ksp/releases
|
# 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
|
# https://github.com/pinterest/ktlint/releases
|
||||||
# @keep
|
# @keep
|
||||||
ktlint = "0.50.0"
|
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
|
# Keep in sync with https://github.com/Kamel-Media/Kamel/blob/main/gradle/libs.versions.toml#L24
|
||||||
ktor = "2.3.12"
|
ktor = "2.3.12"
|
||||||
# https://github.com/skydoves/landscapist
|
# https://github.com/skydoves/landscapist
|
||||||
landscapist = "2.3.6"
|
landscapist = "2.3.8"
|
||||||
# https://github.com/cashapp/licensee
|
# https://github.com/cashapp/licensee
|
||||||
licenseCheckPlugin = "1.11.0"
|
licenseCheckPlugin = "1.11.0"
|
||||||
# https://github.com/tony19/logback-android
|
# https://github.com/tony19/logback-android
|
||||||
|
@ -133,7 +133,7 @@ versionsPlugin = "0.51.0"
|
||||||
# https://github.com/MayakaApps/ComposeWindowStyler
|
# https://github.com/MayakaApps/ComposeWindowStyler
|
||||||
windowStyler = "0.3.2"
|
windowStyler = "0.3.2"
|
||||||
# https://github.com/Yubico/yubikit-android
|
# https://github.com/Yubico/yubikit-android
|
||||||
yubiKit = "2.6.0"
|
yubiKit = "2.7.0"
|
||||||
# https://github.com/srikanth-lingala/zip4j
|
# https://github.com/srikanth-lingala/zip4j
|
||||||
zip4j = "2.11.5"
|
zip4j = "2.11.5"
|
||||||
# https://github.com/nulab/zxcvbn4j
|
# 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-junit = { module = "androidx.test.ext:junit", version.ref = "androidxTestExtJUnit" }
|
||||||
androidx-lifecycle-common = { module = "androidx.lifecycle:lifecycle-common", version.ref = "androidxLifecycle" }
|
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 = { 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-livedata-ktx = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "androidxLifecycle" }
|
||||||
androidx-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", 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" }
|
androidx-lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "androidxLifecycle" }
|
||||||
|
|
Loading…
Reference in New Issue