From efde471bef73bd87a71b065a71d3279f605dd001 Mon Sep 17 00:00:00 2001
From: Miuzarte <982809597@qq.com>
Date: Mon, 1 Jun 2026 00:38:23 +0800
Subject: [PATCH] disable bring into view while preview is on top of config
---
.../miuzarte/scrcpyforandroid/pages/DeviceTabScreen.kt | 2 +-
.../scrcpyforandroid/pages/ScrcpyAllOptionsScreen.kt | 2 +-
.../github/miuzarte/scrcpyforandroid/pages/SettingsScreen.kt | 5 ++++-
app/src/main/res/values-zh/strings.xml | 1 +
app/src/main/res/values/strings.xml | 1 +
5 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/DeviceTabScreen.kt b/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/DeviceTabScreen.kt
index d5cf458..d9298fc 100644
--- a/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/DeviceTabScreen.kt
+++ b/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/DeviceTabScreen.kt
@@ -493,7 +493,7 @@ internal fun DeviceTabPage(
forwardKeyRepeat = sessionInfo?.forwardKeyRepeat ?: true,
)
},
- autoBringIntoView = pendingScrollToPreview && !directControlEnabled,
+ autoBringIntoView = pendingScrollToPreview && !directControlEnabled && !asBundle.previewCardOnTop,
onAutoBringIntoViewConsumed = { viewModel.clearPendingScrollToPreview() },
onTouchActiveChanged = {
if (directControlEnabled) onPreviewGestureLockChanged(it)
diff --git a/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/ScrcpyAllOptionsScreen.kt b/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/ScrcpyAllOptionsScreen.kt
index 682b04c..4a24f04 100644
--- a/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/ScrcpyAllOptionsScreen.kt
+++ b/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/ScrcpyAllOptionsScreen.kt
@@ -78,7 +78,7 @@ internal fun ScrcpyAllOptionsScreen(
ScrcpyOptions.GLOBAL_PROFILE_ID
} else {
DeviceShortcuts.unmarshalFrom(qdBundleShared.quickDevicesList)
- .get(currentTarget.host, currentTarget.port)
+ .firstOrNull { it.matchesAddress(currentTarget) }
?.scrcpyProfileId
?: ScrcpyOptions.GLOBAL_PROFILE_ID
}
diff --git a/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/SettingsScreen.kt b/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/SettingsScreen.kt
index 0e2f52d..af474c3 100644
--- a/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/SettingsScreen.kt
+++ b/app/src/main/java/io/github/miuzarte/scrcpyforandroid/pages/SettingsScreen.kt
@@ -434,7 +434,10 @@ fun SettingsPage(
summary = stringResource(R.string.pref_summary_preview_card_on_top),
checked = asBundle.previewCardOnTop,
onCheckedChange = {
- asBundle = asBundle.copy(previewCardOnTop = it)
+ asBundle = asBundle.copy(
+ previewCardOnTop = it,
+ )
+ if (it) AppRuntime.snackbar(R.string.pref_tips_preview_card_on_top)
},
)
ArrowSlider(
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index ed85381..3900b7e 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -174,6 +174,7 @@
启用后设备页仅保留更多参数、所有应用、最近任务和启动/停止按钮
使预览卡显示在配置卡上方
启用后设备页预览卡和虚拟按钮将显示在 Scrcpy 配置卡的上方
+ 推荐同时启用“隐藏设备页日志框”
预览卡高度
设备页预览卡高度
快速设备排序
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9c506b7..82d1dc8 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -174,6 +174,7 @@
When enabled, the device page only keeps More parameters, All apps, Recent tasks, and Start/Stop buttons
Show preview card above config
When enabled, the preview card and virtual buttons appear above the Scrcpy config card on the device page
+ It is recommended to also enable \"Hide device page log box\"
Preview card height
Preview card height on device page
Quick device sort