From 4e07b71ee8dc704a336c1daf4425d388a0683741 Mon Sep 17 00:00:00 2001 From: "zhimin.liu" Date: Mon, 13 Jul 2026 18:08:17 +0800 Subject: [PATCH] feat():build in local Android and run in honor pad. --- .../pages/FileManagerScreen.kt | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/FileManagerScreen.kt b/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/FileManagerScreen.kt index f2dfe2e..901b5e8 100644 --- a/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/FileManagerScreen.kt +++ b/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/FileManagerScreen.kt @@ -2,8 +2,11 @@ package io.github.miuzarte.scrcpyforandroid.pages import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts +import androidx.compose.foundation.clickable import androidx.compose.foundation.combinedClickable +import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.layout.* +import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState @@ -706,3 +709,43 @@ private fun buildDetailsText( } return details.toString() } + +private data class BreadcrumbItem( + val path: String, + val text: String, +) + +@Composable +private fun BreadcrumbBar( + items: List, + onItemClick: (Int) -> Unit, + highlightIndex: Int, + modifier: Modifier = Modifier, +) { + Row( + modifier = modifier + .fillMaxWidth() + .horizontalScroll(rememberScrollState()) + .padding(horizontal = UiSpacing.Medium), + verticalAlignment = Alignment.CenterVertically, + ) { + items.forEachIndexed { index, item -> + if (index > 0) { + Text( + text = " / ", + color = colorScheme.onSurface.copy(alpha = 0.5f), + fontSize = 12.sp, + ) + } + val isHighlighted = index == highlightIndex + Text( + text = item.text, + color = if (isHighlighted) colorScheme.primary else colorScheme.onSurface, + fontSize = 12.sp, + modifier = Modifier + .clickable(onClick = { onItemClick(index) }) + .padding(vertical = 4.dp), + ) + } + } +}