Ensure that list item contents always fill max width

This commit is contained in:
MM20 2022-06-12 14:50:43 +02:00
parent e318664b6e
commit 6312ca93ba
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389

View File

@ -2,29 +2,19 @@ package de.mm20.launcher2.ui.launcher.search.common.list
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material.DismissDirection
import androidx.compose.material.DismissValue
import androidx.compose.material.ExperimentalMaterialApi
import androidx.compose.material.rememberDismissState
import androidx.compose.material3.SnackbarResult
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.layout.boundsInWindow
import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.lifecycle.lifecycleScope
import de.mm20.launcher2.search.data.*
import de.mm20.launcher2.ui.R
import de.mm20.launcher2.ui.component.InnerCard
import de.mm20.launcher2.ui.launcher.search.calendar.CalendarItem
import de.mm20.launcher2.ui.launcher.search.contacts.ContactItem
import de.mm20.launcher2.ui.launcher.search.files.FileItem
import de.mm20.launcher2.ui.launcher.search.shortcut.AppShortcutItem
import de.mm20.launcher2.ui.locals.LocalFavoritesEnabled
import de.mm20.launcher2.ui.locals.LocalSnackbarHostState
import kotlinx.coroutines.launch
@OptIn(ExperimentalMaterialApi::class, androidx.compose.foundation.ExperimentalFoundationApi::class)
@Composable
@ -45,11 +35,13 @@ fun ListItem(modifier: Modifier = Modifier, item: Searchable) {
when (item) {
is Contact -> {
ContactItem(
modifier = Modifier.combinedClickable(
enabled = !showDetails,
onClick = { showDetails = true },
onLongClick = { showDetails = true }
),
modifier = Modifier
.fillMaxWidth()
.combinedClickable(
enabled = !showDetails,
onClick = { showDetails = true },
onLongClick = { showDetails = true }
),
contact = item,
showDetails = showDetails,
onBack = { showDetails = false }
@ -57,7 +49,9 @@ fun ListItem(modifier: Modifier = Modifier, item: Searchable) {
}
is File -> {
FileItem(
modifier = Modifier.combinedClickable(
modifier = Modifier
.fillMaxWidth()
.combinedClickable(
enabled = !showDetails,
onClick = {
if (!viewModel.launch(context, bounds)) {
@ -73,7 +67,9 @@ fun ListItem(modifier: Modifier = Modifier, item: Searchable) {
}
is CalendarEvent -> {
CalendarItem(
modifier = Modifier.combinedClickable(
modifier = Modifier
.fillMaxWidth()
.combinedClickable(
enabled = !showDetails,
onClick = { showDetails = true },
onLongClick = { showDetails = true }
@ -86,7 +82,9 @@ fun ListItem(modifier: Modifier = Modifier, item: Searchable) {
is AppShortcut -> {
AppShortcutItem(
shortcut = item,
modifier = Modifier.combinedClickable(
modifier = Modifier
.fillMaxWidth()
.combinedClickable(
enabled = !showDetails,
onClick = {
if (!viewModel.launch(context, bounds)) {