Add customizations to app shortcuts

This commit is contained in:
MM20 2022-08-02 16:19:13 +02:00
parent 0bc344342a
commit 7c6d61f00e
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389

View File

@ -10,10 +10,7 @@ import androidx.compose.material.icons.rounded.*
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.SnackbarResult import androidx.compose.material3.SnackbarResult
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.*
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Rect import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.graphics.TransformOrigin import androidx.compose.ui.graphics.TransformOrigin
@ -32,6 +29,7 @@ import de.mm20.launcher2.ui.component.Toolbar
import de.mm20.launcher2.ui.component.ToolbarAction import de.mm20.launcher2.ui.component.ToolbarAction
import de.mm20.launcher2.ui.ktx.toDp import de.mm20.launcher2.ui.ktx.toDp
import de.mm20.launcher2.ui.ktx.toPixels import de.mm20.launcher2.ui.ktx.toPixels
import de.mm20.launcher2.ui.launcher.search.common.customattrs.CustomizeSearchableSheet
import de.mm20.launcher2.ui.locals.LocalFavoritesEnabled import de.mm20.launcher2.ui.locals.LocalFavoritesEnabled
import de.mm20.launcher2.ui.locals.LocalGridIconSize import de.mm20.launcher2.ui.locals.LocalGridIconSize
import de.mm20.launcher2.ui.locals.LocalSnackbarHostState import de.mm20.launcher2.ui.locals.LocalSnackbarHostState
@ -53,6 +51,8 @@ fun AppShortcutItem(
val lifecycleOwner = LocalLifecycleOwner.current val lifecycleOwner = LocalLifecycleOwner.current
val snackbarHostState = LocalSnackbarHostState.current val snackbarHostState = LocalSnackbarHostState.current
var edit by remember { mutableStateOf(false) }
val transition = updateTransition(showDetails, label = "AppShortcutItem") val transition = updateTransition(showDetails, label = "AppShortcutItem")
Column( Column(
@ -133,6 +133,14 @@ fun AppShortcutItem(
viewModel.openAppInfo(context) viewModel.openAppInfo(context)
}) })
toolbarActions.add(DefaultToolbarAction(
label = stringResource(R.string.menu_customize),
icon = Icons.Rounded.Edit,
action = { edit = true }
))
val isHidden by viewModel.isHidden.collectAsState(false) val isHidden by viewModel.isHidden.collectAsState(false)
val hideAction = if (isHidden) { val hideAction = if (isHidden) {
DefaultToolbarAction( DefaultToolbarAction(
@ -178,6 +186,13 @@ fun AppShortcutItem(
) )
} }
} }
if (edit) {
CustomizeSearchableSheet(
searchable = shortcut,
onDismiss = { edit = false }
)
}
} }
@OptIn(ExperimentalAnimationApi::class) @OptIn(ExperimentalAnimationApi::class)