deps: update miuix to 0.9.0

This commit is contained in:
Miuzarte
2026-04-10 13:16:28 +08:00
parent 3f94d91564
commit da2bb9e227
11 changed files with 73 additions and 75 deletions

View File

@@ -41,7 +41,7 @@
## 构建 ## 构建
- JDK 17+ - JDK 17+
- Android SDK`compileSdk 36` / `buildTools 36.0.0` - Android SDK`compileSdk 37` / `buildTools 36.0.0`
- Android NDK `28.2.13676358` - Android NDK `28.2.13676358`
```bash ```bash

View File

@@ -14,11 +14,7 @@ val configuredAbiList = (project.findProperty("abiList") as String?)
android { android {
namespace = "io.github.miuzarte.scrcpyforandroid" namespace = "io.github.miuzarte.scrcpyforandroid"
compileSdk { compileSdk = 37
version = release(36) {
minorApiLevel = 1
}
}
defaultConfig { defaultConfig {
applicationId = "io.github.miuzarte.scrcpyforandroid" applicationId = "io.github.miuzarte.scrcpyforandroid"
@@ -91,7 +87,8 @@ dependencies {
implementation(libs.androidx.compose.material.icons.extended) implementation(libs.androidx.compose.material.icons.extended)
implementation(libs.androidx.navigation3.runtime) implementation(libs.androidx.navigation3.runtime)
implementation(libs.material) implementation(libs.material)
implementation(libs.miuix) implementation(libs.miuix.ui)
implementation(libs.miuix.preference)
implementation(libs.miuix.icons) implementation(libs.miuix.icons)
implementation(libs.miuix.navigation3.ui) implementation(libs.miuix.navigation3.ui)
implementation("io.github.vvb2060.ndk:boringssl:20250114") implementation("io.github.vvb2060.ndk:boringssl:20250114")

View File

@@ -73,7 +73,7 @@ import top.yukonga.miuix.kmp.basic.ScrollBehavior
import top.yukonga.miuix.kmp.basic.Text import top.yukonga.miuix.kmp.basic.Text
import top.yukonga.miuix.kmp.basic.TextField import top.yukonga.miuix.kmp.basic.TextField
import top.yukonga.miuix.kmp.basic.TopAppBar import top.yukonga.miuix.kmp.basic.TopAppBar
import top.yukonga.miuix.kmp.extra.SuperListPopup import top.yukonga.miuix.kmp.overlay.OverlayListPopup
import top.yukonga.miuix.kmp.theme.MiuixTheme import top.yukonga.miuix.kmp.theme.MiuixTheme
import java.net.InetSocketAddress import java.net.InetSocketAddress
import java.net.Socket import java.net.Socket
@@ -995,7 +995,7 @@ private fun DeviceMenuPopup(
canClearLogs: Boolean, canClearLogs: Boolean,
onClearLogs: () -> Unit, onClearLogs: () -> Unit,
) { ) {
SuperListPopup( OverlayListPopup(
show = show, show = show,
popupPositionProvider = ListPopupDefaults.ContextMenuPositionProvider, popupPositionProvider = ListPopupDefaults.ContextMenuPositionProvider,
alignment = PopupPositionProvider.Align.TopEnd, alignment = PopupPositionProvider.Align.TopEnd,

View File

@@ -24,7 +24,7 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import top.yukonga.miuix.kmp.extra.SuperBottomSheet import top.yukonga.miuix.kmp.overlay.OverlayBottomSheet
@Composable @Composable
fun ReorderDevicesScreen( fun ReorderDevicesScreen(
@@ -70,7 +70,7 @@ fun ReorderDevicesScreen(
} }
} }
SuperBottomSheet( OverlayBottomSheet(
show = show, show = show,
title = "快速设备排序", title = "快速设备排序",
onDismissRequest = onDismissRequest, onDismissRequest = onDismissRequest,

View File

@@ -61,10 +61,10 @@ import top.yukonga.miuix.kmp.basic.SpinnerEntry
import top.yukonga.miuix.kmp.basic.Text import top.yukonga.miuix.kmp.basic.Text
import top.yukonga.miuix.kmp.basic.TextField import top.yukonga.miuix.kmp.basic.TextField
import top.yukonga.miuix.kmp.basic.TopAppBar import top.yukonga.miuix.kmp.basic.TopAppBar
import top.yukonga.miuix.kmp.extra.SuperArrow import top.yukonga.miuix.kmp.preference.ArrowPreference
import top.yukonga.miuix.kmp.extra.SuperDropdown import top.yukonga.miuix.kmp.preference.OverlayDropdownPreference
import top.yukonga.miuix.kmp.extra.SuperSpinner import top.yukonga.miuix.kmp.preference.OverlaySpinnerPreference
import top.yukonga.miuix.kmp.extra.SuperSwitch import top.yukonga.miuix.kmp.preference.SwitchPreference
import kotlin.math.roundToInt import kotlin.math.roundToInt
@Composable @Composable
@@ -374,7 +374,7 @@ internal fun ScrcpyAllOptionsPage(
item { item {
Card { Card {
SuperSwitch( SwitchPreference(
title = "启动后关闭屏幕", title = "启动后关闭屏幕",
summary = "--turn-screen-off", summary = "--turn-screen-off",
checked = soBundle.turnScreenOff, checked = soBundle.turnScreenOff,
@@ -390,7 +390,7 @@ internal fun ScrcpyAllOptionsPage(
} }
}, },
) )
SuperSwitch( SwitchPreference(
title = "禁用控制", title = "禁用控制",
summary = "--no-control", summary = "--no-control",
checked = !soBundle.control, checked = !soBundle.control,
@@ -402,7 +402,7 @@ internal fun ScrcpyAllOptionsPage(
// 拦不住同时点, 弃用 // 拦不住同时点, 弃用
// enabled = audio || video, // enabled = audio || video,
) )
SuperSwitch( SwitchPreference(
title = "禁用视频", title = "禁用视频",
summary = "--no-video", summary = "--no-video",
checked = !soBundle.video, checked = !soBundle.video,
@@ -413,7 +413,7 @@ internal fun ScrcpyAllOptionsPage(
}, },
// enabled = audio || control, // enabled = audio || control,
) )
SuperSwitch( SwitchPreference(
title = "禁用音频", title = "禁用音频",
summary = "--no-audio", summary = "--no-audio",
checked = !soBundle.audio, checked = !soBundle.audio,
@@ -455,7 +455,7 @@ internal fun ScrcpyAllOptionsPage(
) )
}, },
) )
SuperSwitch( SwitchPreference(
title = "开始投屏时不唤醒屏幕", title = "开始投屏时不唤醒屏幕",
summary = "--no-power-on", summary = "--no-power-on",
checked = !soBundle.powerOn, checked = !soBundle.powerOn,
@@ -465,7 +465,7 @@ internal fun ScrcpyAllOptionsPage(
) )
}, },
) )
SuperSwitch( SwitchPreference(
title = "结束投屏时息屏", title = "结束投屏时息屏",
summary = "--power-off-on-close", summary = "--power-off-on-close",
checked = soBundle.powerOffOnClose, checked = soBundle.powerOffOnClose,
@@ -475,7 +475,7 @@ internal fun ScrcpyAllOptionsPage(
) )
}, },
) )
SuperSwitch( SwitchPreference(
title = "显示物理触控", title = "显示物理触控",
summary = "--show-touches", summary = "--show-touches",
checked = soBundle.showTouches, checked = soBundle.showTouches,
@@ -485,7 +485,7 @@ internal fun ScrcpyAllOptionsPage(
) )
}, },
) )
SuperSwitch( SwitchPreference(
title = "投屏时保持本机屏幕唤醒", title = "投屏时保持本机屏幕唤醒",
summary = "--disable-screensaver", summary = "--disable-screensaver",
checked = soBundle.disableScreensaver, checked = soBundle.disableScreensaver,
@@ -500,7 +500,7 @@ internal fun ScrcpyAllOptionsPage(
item { item {
Card { Card {
SuperDropdown( OverlayDropdownPreference(
title = "音频编码", title = "音频编码",
summary = "--audio-codec", summary = "--audio-codec",
items = audioCodecItems, items = audioCodecItems,
@@ -545,7 +545,7 @@ internal fun ScrcpyAllOptionsPage(
}, },
) )
SuperDropdown( OverlayDropdownPreference(
title = "视频编码", title = "视频编码",
summary = "--video-codec", summary = "--video-codec",
items = videoCodecItems, items = videoCodecItems,
@@ -604,7 +604,7 @@ internal fun ScrcpyAllOptionsPage(
item { item {
Card { Card {
SuperDropdown( OverlayDropdownPreference(
title = "视频来源", title = "视频来源",
summary = "--video-source", summary = "--video-source",
items = videoSourceItems, items = videoSourceItems,
@@ -709,7 +709,7 @@ internal fun ScrcpyAllOptionsPage(
.fillMaxWidth() .fillMaxWidth()
.padding(all = UiSpacing.Large), .padding(all = UiSpacing.Large),
) )
SuperDropdown( OverlayDropdownPreference(
title = "摄像头朝向", title = "摄像头朝向",
summary = "--camera-facing", summary = "--camera-facing",
items = cameraFacingItems, items = cameraFacingItems,
@@ -722,11 +722,11 @@ internal fun ScrcpyAllOptionsPage(
) )
}, },
) )
SuperArrow( ArrowPreference(
title = "获取 Camera Sizes", title = "获取 Camera Sizes",
summary = "--list-camera-sizes", summary = "--list-camera-sizes",
onClick = { onClick = {
if (refreshBusy) return@SuperArrow if (refreshBusy) return@ArrowPreference
scope.launch { scope.launch {
refreshBusy = true refreshBusy = true
snackbar.show("获取中") snackbar.show("获取中")
@@ -744,7 +744,7 @@ internal fun ScrcpyAllOptionsPage(
} }
}, },
) )
SuperDropdown( OverlayDropdownPreference(
title = "摄像头分辨率", title = "摄像头分辨率",
summary = "--camera-size", summary = "--camera-size",
items = cameraSizeDropdownItems, items = cameraSizeDropdownItems,
@@ -850,7 +850,7 @@ internal fun ScrcpyAllOptionsPage(
) )
}, },
) )
SuperSwitch( SwitchPreference(
title = "高帧率模式", title = "高帧率模式",
summary = "--camera-high-speed", summary = "--camera-high-speed",
checked = soBundle.cameraHighSpeed, checked = soBundle.cameraHighSpeed,
@@ -860,7 +860,7 @@ internal fun ScrcpyAllOptionsPage(
) )
}, },
) )
SuperSwitch( SwitchPreference(
title = "关闭虚拟显示器时保留内容", title = "关闭虚拟显示器时保留内容",
summary = "--no-vd-destroy-content", summary = "--no-vd-destroy-content",
checked = !soBundle.vdDestroyContent, checked = !soBundle.vdDestroyContent,
@@ -870,7 +870,7 @@ internal fun ScrcpyAllOptionsPage(
) )
}, },
) )
SuperSwitch( SwitchPreference(
title = "禁用虚拟显示器系统装饰", title = "禁用虚拟显示器系统装饰",
summary = "--no-vd-system-decorations", summary = "--no-vd-system-decorations",
checked = !soBundle.vdSystemDecorations, checked = !soBundle.vdSystemDecorations,
@@ -888,7 +888,7 @@ internal fun ScrcpyAllOptionsPage(
item { item {
Card { Card {
SuperDropdown( OverlayDropdownPreference(
title = "音频来源", title = "音频来源",
summary = "--audio-source", summary = "--audio-source",
items = audioSourceItems, items = audioSourceItems,
@@ -899,7 +899,7 @@ internal fun ScrcpyAllOptionsPage(
) )
}, },
) )
SuperSwitch( SwitchPreference(
title = "音频双路输出", title = "音频双路输出",
summary = "--audio-dup", summary = "--audio-dup",
checked = soBundle.audioDup, checked = soBundle.audioDup,
@@ -909,7 +909,7 @@ internal fun ScrcpyAllOptionsPage(
) )
}, },
) )
SuperSwitch( SwitchPreference(
title = "仅转发不播放", title = "仅转发不播放",
summary = "--no-audio-playback", summary = "--no-audio-playback",
checked = !soBundle.audioPlayback, checked = !soBundle.audioPlayback,
@@ -919,7 +919,7 @@ internal fun ScrcpyAllOptionsPage(
) )
}, },
) )
SuperSwitch( SwitchPreference(
title = "音频转发失败时终止", title = "音频转发失败时终止",
summary = "--require-audio", summary = "--require-audio",
checked = soBundle.requireAudio, checked = soBundle.requireAudio,
@@ -934,11 +934,11 @@ internal fun ScrcpyAllOptionsPage(
item { item {
Card { Card {
SuperArrow( ArrowPreference(
title = "获取编码器列表", title = "获取编码器列表",
summary = "--list-encoders", summary = "--list-encoders",
onClick = { onClick = {
if (refreshBusy) return@SuperArrow if (refreshBusy) return@ArrowPreference
scope.launch { scope.launch {
refreshBusy = true refreshBusy = true
snackbar.show("获取中") snackbar.show("获取中")
@@ -956,8 +956,8 @@ internal fun ScrcpyAllOptionsPage(
} }
}, },
) )
// TODO: 在 SuperSpinner / SuperDropdown 支持展开状态回调后, 在展开时触发获取 // TODO: 在 OverlaySpinnerPreference / OverlayDropdownPreference 支持展开状态回调后, 在展开时触发获取
SuperSpinner( OverlaySpinnerPreference(
title = "视频编码器", title = "视频编码器",
summary = "--video-encoder", summary = "--video-encoder",
items = videoEncoderEntries, items = videoEncoderEntries,
@@ -982,7 +982,7 @@ internal fun ScrcpyAllOptionsPage(
.fillMaxWidth() .fillMaxWidth()
.padding(all = UiSpacing.Large), .padding(all = UiSpacing.Large),
) )
SuperSpinner( OverlaySpinnerPreference(
title = "音频编码器", title = "音频编码器",
summary = "--audio-encoder", summary = "--audio-encoder",
items = audioEncoderEntries, items = audioEncoderEntries,

View File

@@ -56,9 +56,9 @@ import top.yukonga.miuix.kmp.basic.ScrollBehavior
import top.yukonga.miuix.kmp.basic.Text import top.yukonga.miuix.kmp.basic.Text
import top.yukonga.miuix.kmp.basic.TextField import top.yukonga.miuix.kmp.basic.TextField
import top.yukonga.miuix.kmp.basic.TopAppBar import top.yukonga.miuix.kmp.basic.TopAppBar
import top.yukonga.miuix.kmp.extra.SuperArrow import top.yukonga.miuix.kmp.preference.ArrowPreference
import top.yukonga.miuix.kmp.extra.SuperDropdown import top.yukonga.miuix.kmp.preference.OverlayDropdownPreference
import top.yukonga.miuix.kmp.extra.SuperSwitch import top.yukonga.miuix.kmp.preference.SwitchPreference
import kotlin.math.roundToInt import kotlin.math.roundToInt
import kotlin.system.exitProcess import kotlin.system.exitProcess
@@ -193,7 +193,7 @@ fun SettingsPage(
item { item {
SectionSmallTitle("主题", showLeadingSpacer = false) SectionSmallTitle("主题", showLeadingSpacer = false)
Card { Card {
SuperDropdown( OverlayDropdownPreference(
title = "外观模式", title = "外观模式",
summary = ThemeModes.baseOptions summary = ThemeModes.baseOptions
.getOrNull( .getOrNull(
@@ -213,7 +213,7 @@ fun SettingsPage(
asBundle = asBundle.copy(themeBaseIndex = it) asBundle = asBundle.copy(themeBaseIndex = it)
}, },
) )
SuperSwitch( SwitchPreference(
title = "Monet", title = "Monet",
summary = "开启后使用 Monet 动态配色", summary = "开启后使用 Monet 动态配色",
checked = asBundle.monet, checked = asBundle.monet,
@@ -227,7 +227,7 @@ fun SettingsPage(
item { item {
SectionSmallTitle("投屏") SectionSmallTitle("投屏")
Card { Card {
SuperSwitch( SwitchPreference(
title = "启用调试信息", title = "启用调试信息",
summary = "在全屏界面悬浮显示分辨率、帧率和触点信息", summary = "在全屏界面悬浮显示分辨率、帧率和触点信息",
checked = asBundle.fullscreenDebugInfo, checked = asBundle.fullscreenDebugInfo,
@@ -259,17 +259,17 @@ fun SettingsPage(
} }
}, },
) )
SuperArrow( ArrowPreference(
title = "快速设备排序", title = "快速设备排序",
summary = "手动排序设备页的快速设备", summary = "手动排序设备页的快速设备",
onClick = onOpenReorderDevices, onClick = onOpenReorderDevices,
) )
SuperArrow( ArrowPreference(
title = "虚拟按钮排序", title = "虚拟按钮排序",
summary = "手动排序预览/全屏时的虚拟按钮,并选择哪些按钮展示在外", summary = "手动排序预览/全屏时的虚拟按钮,并选择哪些按钮展示在外",
onClick = onOpenVirtualButtonOrder, onClick = onOpenVirtualButtonOrder,
) )
SuperSwitch( SwitchPreference(
title = "全屏显示虚拟按钮", title = "全屏显示虚拟按钮",
summary = "在全屏控制页底部显示返回键、主页键等虚拟按钮", summary = "在全屏控制页底部显示返回键、主页键等虚拟按钮",
checked = asBundle.showFullscreenVirtualButtons, checked = asBundle.showFullscreenVirtualButtons,
@@ -420,7 +420,7 @@ fun SettingsPage(
) )
} }
} }
SuperSwitch( SwitchPreference(
title = "配对时自动启用发现服务", title = "配对时自动启用发现服务",
summary = "打开配对弹窗后自动搜索可用配对端口", summary = "打开配对弹窗后自动搜索可用配对端口",
checked = asBundle.adbPairingAutoDiscoverOnDialogOpen, checked = asBundle.adbPairingAutoDiscoverOnDialogOpen,
@@ -430,7 +430,7 @@ fun SettingsPage(
) )
}, },
) )
SuperSwitch( SwitchPreference(
title = "自动重连已配对设备", title = "自动重连已配对设备",
summary = "自动发现开启无线调试的设备,更新快速设备的随机端口并尝试连接(效果比较随缘)", summary = "自动发现开启无线调试的设备,更新快速设备的随机端口并尝试连接(效果比较随缘)",
checked = asBundle.adbAutoReconnectPairedDevice, checked = asBundle.adbAutoReconnectPairedDevice,
@@ -448,7 +448,7 @@ fun SettingsPage(
// 应用启动时就会执行迁移与旧数据的删除 // 应用启动时就会执行迁移与旧数据的删除
SectionSmallTitle("应用", showLeadingSpacer = false) SectionSmallTitle("应用", showLeadingSpacer = false)
Card { Card {
SuperArrow( ArrowPreference(
title = "恢复旧版本配置", title = "恢复旧版本配置",
summary = "从旧版本的 SharedPreferences 恢复至 DataStore", summary = "从旧版本的 SharedPreferences 恢复至 DataStore",
onClick = { onClick = {
@@ -481,7 +481,7 @@ fun SettingsPage(
item { item {
SectionSmallTitle("关于", showLeadingSpacer = false) SectionSmallTitle("关于", showLeadingSpacer = false)
Card { Card {
SuperArrow( ArrowPreference(
title = "仓库发布页", title = "仓库发布页",
summary = "$updateSummary\n${AppUpdateChecker.REPO_URL.removePrefix("https://")}", summary = "$updateSummary\n${AppUpdateChecker.REPO_URL.removePrefix("https://")}",
onClick = { onClick = {

View File

@@ -33,7 +33,7 @@ import top.yukonga.miuix.kmp.basic.IconButton
import top.yukonga.miuix.kmp.basic.Scaffold import top.yukonga.miuix.kmp.basic.Scaffold
import top.yukonga.miuix.kmp.basic.ScrollBehavior import top.yukonga.miuix.kmp.basic.ScrollBehavior
import top.yukonga.miuix.kmp.basic.TopAppBar import top.yukonga.miuix.kmp.basic.TopAppBar
import top.yukonga.miuix.kmp.extra.SuperSwitch import top.yukonga.miuix.kmp.preference.SwitchPreference
@Composable @Composable
internal fun VirtualButtonOrderScreen( internal fun VirtualButtonOrderScreen(
@@ -106,7 +106,7 @@ internal fun VirtualButtonOrderPage(
// 按钮显示文本开关 // 按钮显示文本开关
item { item {
Card { Card {
SuperSwitch( SwitchPreference(
title = "按钮显示文本", title = "按钮显示文本",
summary = "超过3个建议关闭只对预览卡下方的虚拟按钮生效", summary = "超过3个建议关闭只对预览卡下方的虚拟按钮生效",
checked = asBundle.previewVirtualButtonShowText, checked = asBundle.previewVirtualButtonShowText,

View File

@@ -20,8 +20,8 @@ import top.yukonga.miuix.kmp.basic.ButtonDefaults
import top.yukonga.miuix.kmp.basic.Slider import top.yukonga.miuix.kmp.basic.Slider
import top.yukonga.miuix.kmp.basic.Text import top.yukonga.miuix.kmp.basic.Text
import top.yukonga.miuix.kmp.basic.TextButton import top.yukonga.miuix.kmp.basic.TextButton
import top.yukonga.miuix.kmp.extra.SuperArrow import top.yukonga.miuix.kmp.overlay.OverlayDialog
import top.yukonga.miuix.kmp.extra.SuperDialog import top.yukonga.miuix.kmp.preference.ArrowPreference
import top.yukonga.miuix.kmp.theme.MiuixTheme import top.yukonga.miuix.kmp.theme.MiuixTheme
@Composable @Composable
@@ -52,7 +52,7 @@ fun SuperSlider(
var showInputDialog by remember { mutableStateOf(false) } var showInputDialog by remember { mutableStateOf(false) }
var holdArrow by remember { mutableStateOf(false) } var holdArrow by remember { mutableStateOf(false) }
SuperArrow( ArrowPreference(
title = title, title = title,
summary = summary, summary = summary,
onClick = { onClick = {
@@ -119,7 +119,7 @@ private fun SliderInputDialog(
onDismissFinished: () -> Unit, onDismissFinished: () -> Unit,
onConfirm: (String) -> Unit, onConfirm: (String) -> Unit,
) { ) {
SuperDialog( OverlayDialog(
show = showDialog, show = showDialog,
title = title, title = title,
summary = summary, summary = summary,

View File

@@ -95,10 +95,10 @@ import top.yukonga.miuix.kmp.basic.Icon
import top.yukonga.miuix.kmp.basic.Text import top.yukonga.miuix.kmp.basic.Text
import top.yukonga.miuix.kmp.basic.TextButton import top.yukonga.miuix.kmp.basic.TextButton
import top.yukonga.miuix.kmp.basic.TextField import top.yukonga.miuix.kmp.basic.TextField
import top.yukonga.miuix.kmp.extra.SuperArrow import top.yukonga.miuix.kmp.overlay.OverlayDialog
import top.yukonga.miuix.kmp.extra.SuperDialog import top.yukonga.miuix.kmp.preference.ArrowPreference
import top.yukonga.miuix.kmp.extra.SuperDropdown import top.yukonga.miuix.kmp.preference.OverlayDropdownPreference
import top.yukonga.miuix.kmp.extra.SuperSwitch import top.yukonga.miuix.kmp.preference.SwitchPreference
import top.yukonga.miuix.kmp.theme.MiuixTheme import top.yukonga.miuix.kmp.theme.MiuixTheme
import top.yukonga.miuix.kmp.theme.MiuixTheme.isDynamicColor import top.yukonga.miuix.kmp.theme.MiuixTheme.isDynamicColor
import top.yukonga.miuix.kmp.utils.PressFeedbackType import top.yukonga.miuix.kmp.utils.PressFeedbackType
@@ -220,7 +220,7 @@ internal fun PairingCard(
val holdDownState = remember { mutableStateOf(false) } val holdDownState = remember { mutableStateOf(false) }
Card { Card {
SuperArrow( ArrowPreference(
title = "使用配对码配对设备", title = "使用配对码配对设备",
onClick = { onClick = {
showPairDialog.value = true showPairDialog.value = true
@@ -410,7 +410,7 @@ internal fun ConfigPanel(
} }
Card { Card {
SuperSwitch( SwitchPreference(
title = "音频转发", title = "音频转发",
summary = "转发设备音频到本机 (Android 11+)", summary = "转发设备音频到本机 (Android 11+)",
checked = soBundle.audio, checked = soBundle.audio,
@@ -419,7 +419,7 @@ internal fun ConfigPanel(
&& audioForwardingSupported, && audioForwardingSupported,
) )
SuperDropdown( OverlayDropdownPreference(
title = "音频编码", title = "音频编码",
summary = "--audio-codec", summary = "--audio-codec",
items = audioCodecItems, items = audioCodecItems,
@@ -465,7 +465,7 @@ internal fun ConfigPanel(
) )
} }
SuperDropdown( OverlayDropdownPreference(
title = "视频编码", title = "视频编码",
summary = "--video-codec", summary = "--video-codec",
items = videoCodecItems, items = videoCodecItems,
@@ -524,7 +524,7 @@ internal fun ConfigPanel(
enabled = !sessionStarted, enabled = !sessionStarted,
) )
SuperArrow( ArrowPreference(
title = "更多参数", title = "更多参数",
summary = "所有 scrcpy 参数", summary = "所有 scrcpy 参数",
onClick = onOpenAdvanced, onClick = onOpenAdvanced,
@@ -617,7 +617,7 @@ private fun PairingDialog(
} }
} }
SuperDialog( OverlayDialog(
show = showDialog, show = showDialog,
title = "使用配对码配对设备", title = "使用配对码配对设备",
summary = "使用六位数的配对码配对新设备", summary = "使用六位数的配对码配对新设备",

View File

@@ -46,7 +46,7 @@ import top.yukonga.miuix.kmp.basic.SpinnerDefaults
import top.yukonga.miuix.kmp.basic.SpinnerEntry import top.yukonga.miuix.kmp.basic.SpinnerEntry
import top.yukonga.miuix.kmp.basic.SpinnerItemImpl import top.yukonga.miuix.kmp.basic.SpinnerItemImpl
import top.yukonga.miuix.kmp.basic.Text import top.yukonga.miuix.kmp.basic.Text
import top.yukonga.miuix.kmp.extra.SuperListPopup import top.yukonga.miuix.kmp.overlay.OverlayListPopup
import top.yukonga.miuix.kmp.theme.MiuixTheme import top.yukonga.miuix.kmp.theme.MiuixTheme
enum class VirtualButtonAction( enum class VirtualButtonAction(
@@ -310,7 +310,7 @@ class VirtualButtonBar(
} }
} }
SuperListPopup( OverlayListPopup(
show = show, show = show,
popupPositionProvider = ListPopupDefaults.ContextMenuPositionProvider, popupPositionProvider = ListPopupDefaults.ContextMenuPositionProvider,
alignment = PopupPositionProvider.Align.TopEnd, alignment = PopupPositionProvider.Align.TopEnd,

View File

@@ -9,7 +9,7 @@ androidxNavigation3 = "1.1.0-beta01"
junit = "4.13.2" junit = "4.13.2"
androidxJunit = "1.3.0" androidxJunit = "1.3.0"
espressoCore = "3.7.0" espressoCore = "3.7.0"
miuix = "0.8.7" miuix = "0.9.0"
material = "1.13.0" material = "1.13.0"
runtime = "1.10.5" runtime = "1.10.5"
@@ -30,7 +30,8 @@ junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidxJunit" } androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidxJunit" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" } androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
material = { group = "com.google.android.material", name = "material", version.ref = "material" } material = { group = "com.google.android.material", name = "material", version.ref = "material" }
miuix = { group = "top.yukonga.miuix.kmp", name = "miuix", version.ref = "miuix" } miuix-ui = { group = "top.yukonga.miuix.kmp", name = "miuix-ui", version.ref = "miuix" }
miuix-preference = { group = "top.yukonga.miuix.kmp", name = "miuix-preference", version.ref = "miuix" }
miuix-icons = { group = "top.yukonga.miuix.kmp", name = "miuix-icons", version.ref = "miuix" } miuix-icons = { group = "top.yukonga.miuix.kmp", name = "miuix-icons", version.ref = "miuix" }
miuix-navigation3-ui = { group = "top.yukonga.miuix.kmp", name = "miuix-navigation3-ui", version.ref = "miuix" } miuix-navigation3-ui = { group = "top.yukonga.miuix.kmp", name = "miuix-navigation3-ui", version.ref = "miuix" }
androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime", version.ref = "runtime" } androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime", version.ref = "runtime" }