mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-10 22:06:11 +00:00
improve(android): align command palette row affordances (#101072)
* android: tidy command palette row affordances * docs(android): credit command palette polish --------- Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com> Co-authored-by: Peter Steinberger <steipete@gmail.com>
This commit is contained in:
@@ -963,7 +963,7 @@
|
||||
},
|
||||
{
|
||||
"kind": "ui-named-argument",
|
||||
"line": 208,
|
||||
"line": 206,
|
||||
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/CommandPalette.kt",
|
||||
"source": "Open ${row.title}",
|
||||
"surface": "android",
|
||||
@@ -971,7 +971,7 @@
|
||||
},
|
||||
{
|
||||
"kind": "ui-named-argument",
|
||||
"line": 262,
|
||||
"line": 246,
|
||||
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/CommandPalette.kt",
|
||||
"source": "Open session",
|
||||
"surface": "android",
|
||||
@@ -979,7 +979,7 @@
|
||||
},
|
||||
{
|
||||
"kind": "conditional-branch",
|
||||
"line": 297,
|
||||
"line": 304,
|
||||
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/CommandPalette.kt",
|
||||
"source": "Connect Gateway to view providers",
|
||||
"surface": "android",
|
||||
@@ -987,7 +987,7 @@
|
||||
},
|
||||
{
|
||||
"kind": "conditional-branch",
|
||||
"line": 299,
|
||||
"line": 306,
|
||||
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/CommandPalette.kt",
|
||||
"source": "$readyProviderCount providers ready",
|
||||
"surface": "android",
|
||||
@@ -995,7 +995,7 @@
|
||||
},
|
||||
{
|
||||
"kind": "conditional-branch",
|
||||
"line": 300,
|
||||
"line": 307,
|
||||
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/CommandPalette.kt",
|
||||
"source": "No ready providers",
|
||||
"surface": "android",
|
||||
@@ -1003,7 +1003,7 @@
|
||||
},
|
||||
{
|
||||
"kind": "conditional-branch",
|
||||
"line": 304,
|
||||
"line": 311,
|
||||
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/CommandPalette.kt",
|
||||
"source": "Main session",
|
||||
"surface": "android",
|
||||
|
||||
@@ -10,6 +10,8 @@ Android notification forwarding now excludes native WhatsApp, Telegram, Telegram
|
||||
|
||||
Assistant messages now offer a long-press Listen action with gateway TTS playback, on-device fallback, and tap-to-stop status.
|
||||
|
||||
Android command-palette rows now align icon and navigation affordances consistently and truncate long session details cleanly. Thanks @IWhatsskill.
|
||||
|
||||
The Settings About screen now shows the animated mascot with the app tagline plus Website, Docs, GitHub, and Discord links.
|
||||
|
||||
Adds a read-only Files browser for agent workspaces with directory navigation, text and image previews, and system share export.
|
||||
|
||||
@@ -198,17 +198,12 @@ private fun CommandActionRow(row: CommandItem) {
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(9.dp),
|
||||
) {
|
||||
Icon(imageVector = row.icon, contentDescription = null, modifier = Modifier.size(19.dp), tint = ClawTheme.colors.text)
|
||||
CommandRowIcon(icon = row.icon)
|
||||
Column(modifier = Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(1.dp)) {
|
||||
Text(text = row.title, style = ClawTheme.type.body, color = ClawTheme.colors.text, maxLines = 1, overflow = TextOverflow.Ellipsis)
|
||||
Text(text = row.subtitle, style = ClawTheme.type.caption, color = ClawTheme.colors.textMuted, maxLines = 1, overflow = TextOverflow.Ellipsis)
|
||||
}
|
||||
Icon(
|
||||
imageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight,
|
||||
contentDescription = "Open ${row.title}",
|
||||
modifier = Modifier.size(17.dp),
|
||||
tint = ClawTheme.colors.textMuted,
|
||||
)
|
||||
CommandRowChevron(contentDescription = "Open ${row.title}")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -242,31 +237,43 @@ private fun CommandSessionListRow(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(8.dp),
|
||||
) {
|
||||
Surface(
|
||||
modifier = Modifier.size(30.dp),
|
||||
shape = CircleShape,
|
||||
color = ClawTheme.colors.canvas,
|
||||
border = BorderStroke(1.dp, ClawTheme.colors.borderStrong),
|
||||
) {
|
||||
Box(contentAlignment = Alignment.Center) {
|
||||
Icon(imageVector = Icons.Outlined.ChatBubbleOutline, contentDescription = null, modifier = Modifier.size(15.dp), tint = ClawTheme.colors.text)
|
||||
}
|
||||
}
|
||||
CommandRowIcon(icon = Icons.Outlined.ChatBubbleOutline)
|
||||
Column(modifier = Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(1.dp)) {
|
||||
Text(text = row.title, style = ClawTheme.type.body, color = ClawTheme.colors.text, maxLines = 1)
|
||||
Text(text = row.subtitle, style = ClawTheme.type.caption, color = ClawTheme.colors.textSubtle, maxLines = 1)
|
||||
Text(text = row.title, style = ClawTheme.type.body, color = ClawTheme.colors.text, maxLines = 1, overflow = TextOverflow.Ellipsis)
|
||||
Text(text = row.subtitle, style = ClawTheme.type.caption, color = ClawTheme.colors.textSubtle, maxLines = 1, overflow = TextOverflow.Ellipsis)
|
||||
}
|
||||
Text(text = row.metadata, style = ClawTheme.type.caption, color = ClawTheme.colors.textMuted)
|
||||
Icon(
|
||||
imageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight,
|
||||
contentDescription = "Open session",
|
||||
modifier = Modifier.size(17.dp),
|
||||
tint = ClawTheme.colors.textMuted,
|
||||
)
|
||||
Text(text = row.metadata, style = ClawTheme.type.caption, color = ClawTheme.colors.textMuted, maxLines = 1, overflow = TextOverflow.Ellipsis)
|
||||
CommandRowChevron(contentDescription = "Open session")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun CommandRowIcon(icon: ImageVector) {
|
||||
Surface(
|
||||
modifier = Modifier.size(30.dp),
|
||||
shape = CircleShape,
|
||||
color = ClawTheme.colors.canvas,
|
||||
border = BorderStroke(1.dp, ClawTheme.colors.borderStrong),
|
||||
) {
|
||||
Box(contentAlignment = Alignment.Center) {
|
||||
Icon(imageVector = icon, contentDescription = null, modifier = Modifier.size(15.dp), tint = ClawTheme.colors.text)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun CommandRowChevron(contentDescription: String) {
|
||||
Box(modifier = Modifier.size(24.dp), contentAlignment = Alignment.Center) {
|
||||
Icon(
|
||||
imageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight,
|
||||
contentDescription = contentDescription,
|
||||
modifier = Modifier.size(17.dp),
|
||||
tint = ClawTheme.colors.textMuted,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun CommandAvatar(text: String) {
|
||||
Surface(
|
||||
|
||||
Reference in New Issue
Block a user