Updates navigation compose, lifecycle, fragment, activity and composeBoms

This commit is contained in:
Vitor Pamplona
2024-09-06 17:29:06 -04:00
parent c7fcc47b11
commit 8ede4eb3d6
8 changed files with 24 additions and 16 deletions

View File

@@ -25,13 +25,12 @@ import androidx.compose.foundation.clickable
import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.material.ripple.rememberRipple
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.semantics.Role import androidx.compose.ui.semantics.Role
import com.vitorpamplona.amethyst.ui.theme.Size24dp import com.vitorpamplona.amethyst.ui.theme.ripple24dp
@Composable @Composable
fun ClickableBox( fun ClickableBox(
@@ -43,7 +42,7 @@ fun ClickableBox(
modifier.clickable( modifier.clickable(
role = Role.Button, role = Role.Button,
interactionSource = remember { MutableInteractionSource() }, interactionSource = remember { MutableInteractionSource() },
indication = rememberRipple(bounded = false, radius = Size24dp), indication = ripple24dp,
onClick = onClick, onClick = onClick,
), ),
contentAlignment = Alignment.Center, contentAlignment = Alignment.Center,
@@ -64,7 +63,7 @@ fun ClickableBox(
modifier.combinedClickable( modifier.combinedClickable(
role = Role.Button, role = Role.Button,
interactionSource = remember { MutableInteractionSource() }, interactionSource = remember { MutableInteractionSource() },
indication = rememberRipple(bounded = false, radius = Size24dp), indication = ripple24dp,
onClick = onClick, onClick = onClick,
onLongClick = onLongClick, onLongClick = onLongClick,
), ),

View File

@@ -141,7 +141,10 @@ private fun RenderBottomMenu(
HorizontalDivider( HorizontalDivider(
thickness = DividerThickness, thickness = DividerThickness,
) )
NavigationBar(tonalElevation = Size0dp) { NavigationBar(
containerColor = MaterialTheme.colorScheme.background,
tonalElevation = Size0dp,
) {
bottomNavigationItems.forEach { item -> bottomNavigationItems.forEach { item ->
HasNewItemsIcon(item == selectedRoute, item, accountViewModel, nav) HasNewItemsIcon(item == selectedRoute, item, accountViewModel, nav)
} }

View File

@@ -38,7 +38,6 @@ import androidx.compose.foundation.layout.width
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Bolt import androidx.compose.material.icons.filled.Bolt
import androidx.compose.material.icons.outlined.Bolt import androidx.compose.material.icons.outlined.Bolt
import androidx.compose.material.ripple.rememberRipple
import androidx.compose.material3.Button import androidx.compose.material3.Button
import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.CircularProgressIndicator
@@ -85,6 +84,7 @@ import com.vitorpamplona.amethyst.ui.theme.Font14SP
import com.vitorpamplona.amethyst.ui.theme.QuoteBorder import com.vitorpamplona.amethyst.ui.theme.QuoteBorder
import com.vitorpamplona.amethyst.ui.theme.mediumImportanceLink import com.vitorpamplona.amethyst.ui.theme.mediumImportanceLink
import com.vitorpamplona.amethyst.ui.theme.placeholderText import com.vitorpamplona.amethyst.ui.theme.placeholderText
import com.vitorpamplona.amethyst.ui.theme.ripple24dp
import com.vitorpamplona.quartz.events.EmptyTagList import com.vitorpamplona.quartz.events.EmptyTagList
import com.vitorpamplona.quartz.events.ImmutableListOfLists import com.vitorpamplona.quartz.events.ImmutableListOfLists
import com.vitorpamplona.quartz.events.toImmutableListOfLists import com.vitorpamplona.quartz.events.toImmutableListOfLists
@@ -357,7 +357,7 @@ fun ZapVote(
Modifier.combinedClickable( Modifier.combinedClickable(
role = Role.Button, role = Role.Button,
interactionSource = remember { MutableInteractionSource() }, interactionSource = remember { MutableInteractionSource() },
indication = rememberRipple(bounded = false, radius = 24.dp), indication = ripple24dp,
onClick = { onClick = {
if (!accountViewModel.isWriteable()) { if (!accountViewModel.isWriteable()) {
accountViewModel.toast( accountViewModel.toast(

View File

@@ -48,7 +48,6 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.material.ripple.rememberRipple
import androidx.compose.material3.Button import androidx.compose.material3.Button
import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.CardDefaults import androidx.compose.material3.CardDefaults
@@ -129,7 +128,6 @@ import com.vitorpamplona.amethyst.ui.theme.Size19Modifier
import com.vitorpamplona.amethyst.ui.theme.Size20Modifier import com.vitorpamplona.amethyst.ui.theme.Size20Modifier
import com.vitorpamplona.amethyst.ui.theme.Size20dp import com.vitorpamplona.amethyst.ui.theme.Size20dp
import com.vitorpamplona.amethyst.ui.theme.Size22Modifier import com.vitorpamplona.amethyst.ui.theme.Size22Modifier
import com.vitorpamplona.amethyst.ui.theme.Size24dp
import com.vitorpamplona.amethyst.ui.theme.Size28Modifier import com.vitorpamplona.amethyst.ui.theme.Size28Modifier
import com.vitorpamplona.amethyst.ui.theme.SmallBorder import com.vitorpamplona.amethyst.ui.theme.SmallBorder
import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonColumn import com.vitorpamplona.amethyst.ui.theme.ThemeComparisonColumn
@@ -137,6 +135,7 @@ import com.vitorpamplona.amethyst.ui.theme.TinyBorders
import com.vitorpamplona.amethyst.ui.theme.mediumImportanceLink import com.vitorpamplona.amethyst.ui.theme.mediumImportanceLink
import com.vitorpamplona.amethyst.ui.theme.placeholderText import com.vitorpamplona.amethyst.ui.theme.placeholderText
import com.vitorpamplona.amethyst.ui.theme.reactionBox import com.vitorpamplona.amethyst.ui.theme.reactionBox
import com.vitorpamplona.amethyst.ui.theme.ripple24dp
import com.vitorpamplona.amethyst.ui.theme.selectedReactionBoxModifier import com.vitorpamplona.amethyst.ui.theme.selectedReactionBoxModifier
import com.vitorpamplona.quartz.encoders.Nip30CustomEmoji import com.vitorpamplona.quartz.encoders.Nip30CustomEmoji
import com.vitorpamplona.quartz.events.BaseTextNoteEvent import com.vitorpamplona.quartz.events.BaseTextNoteEvent
@@ -1008,7 +1007,7 @@ fun ZapReaction(
iconSizeModifier.combinedClickable( iconSizeModifier.combinedClickable(
role = Role.Button, role = Role.Button,
interactionSource = remember { MutableInteractionSource() }, interactionSource = remember { MutableInteractionSource() },
indication = rememberRipple(bounded = false, radius = Size24dp), indication = ripple24dp,
onClick = { onClick = {
zapClick( zapClick(
baseNote, baseNote,

View File

@@ -23,6 +23,7 @@ package com.vitorpamplona.amethyst.ui.note
import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
@@ -65,6 +66,7 @@ import com.vitorpamplona.amethyst.ui.theme.Size17dp
import com.vitorpamplona.amethyst.ui.theme.StdStartPadding import com.vitorpamplona.amethyst.ui.theme.StdStartPadding
import com.vitorpamplona.amethyst.ui.theme.placeholderText import com.vitorpamplona.amethyst.ui.theme.placeholderText
import com.vitorpamplona.amethyst.ui.theme.relayIconModifier import com.vitorpamplona.amethyst.ui.theme.relayIconModifier
import com.vitorpamplona.amethyst.ui.theme.ripple24dp
import com.vitorpamplona.ammolite.relays.RelayBriefInfoCache import com.vitorpamplona.ammolite.relays.RelayBriefInfoCache
@Composable @Composable
@@ -154,6 +156,8 @@ fun RenderRelay(
Modifier Modifier
.size(Size17dp) .size(Size17dp)
.combinedClickable( .combinedClickable(
indication = ripple24dp,
interactionSource = MutableInteractionSource(),
onLongClick = { onLongClick = {
clipboardManager.setText(AnnotatedString(relay.url)) clipboardManager.setText(AnnotatedString(relay.url))
}, },

View File

@@ -258,7 +258,7 @@ fun SlidingCarousel(
VerticalPager( VerticalPager(
state = pagerState, state = pagerState,
beyondBoundsPageCount = 1, beyondViewportPageCount = 1,
modifier = Modifier.fillMaxSize(), modifier = Modifier.fillMaxSize(),
key = { index -> items.list.getOrNull(index)?.idHex ?: "$index" }, key = { index -> items.list.getOrNull(index)?.idHex ?: "$index" },
) { index -> ) { index ->

View File

@@ -34,6 +34,7 @@ import androidx.compose.foundation.layout.widthIn
import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Shapes import androidx.compose.material3.Shapes
import androidx.compose.material3.ripple
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.graphics.Color import androidx.compose.ui.graphics.Color
@@ -284,3 +285,5 @@ val reactionBox =
.padding(horizontal = 6.dp, vertical = 6.dp) .padding(horizontal = 6.dp, vertical = 6.dp)
.size(Size40dp) .size(Size40dp)
.padding(5.dp) .padding(5.dp)
val ripple24dp = ripple(bounded = false, radius = Size24dp)

View File

@@ -1,6 +1,6 @@
[versions] [versions]
accompanistAdaptive = "0.34.0" accompanistAdaptive = "0.34.0"
activityCompose = "1.9.1" activityCompose = "1.9.2"
agp = "8.6.0" agp = "8.6.0"
android-compileSdk = "34" android-compileSdk = "34"
android-minSdk = "26" android-minSdk = "26"
@@ -14,11 +14,11 @@ benchmarkJunit4 = "1.3.0"
biometricKtx = "1.2.0-alpha05" biometricKtx = "1.2.0-alpha05"
blurhash = "1.0.0" blurhash = "1.0.0"
coil = "2.7.0" coil = "2.7.0"
composeBom = "2024.08.00" composeBom = "2024.09.00"
coreKtx = "1.13.1" coreKtx = "1.13.1"
espressoCore = "3.6.1" espressoCore = "3.6.1"
firebaseBom = "33.2.0" firebaseBom = "33.2.0"
fragmentKtx = "1.8.2" fragmentKtx = "1.8.3"
gms = "4.4.2" gms = "4.4.2"
jacksonModuleKotlin = "2.17.2" jacksonModuleKotlin = "2.17.2"
jna = "5.14.0" jna = "5.14.0"
@@ -29,12 +29,12 @@ kotlinxSerialization = "1.7.2"
kotlinxSerializationPlugin = "2.0.0" kotlinxSerializationPlugin = "2.0.0"
languageId = "17.0.6" languageId = "17.0.6"
lazysodiumAndroid = "5.1.0" lazysodiumAndroid = "5.1.0"
lifecycleRuntimeKtx = "2.8.4" lifecycleRuntimeKtx = "2.8.5"
lightcompressor = "1.3.2" lightcompressor = "1.3.2"
markdown = "077a2cde64" markdown = "077a2cde64"
media3 = "1.4.1" media3 = "1.4.1"
mockk = "1.13.12" mockk = "1.13.12"
navigationCompose = "2.7.7" navigationCompose = "2.8.0"
okhttp = "5.0.0-alpha.14" okhttp = "5.0.0-alpha.14"
runner = "1.6.2" runner = "1.6.2"
rfc3986 = "0.1.0" rfc3986 = "0.1.0"