From b9fca6f03dcba7cdfdd3f1d425cc5090e39f152d Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Mon, 27 Apr 2026 00:30:01 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E8=BF=9E=E6=8E=A5=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=20PC=20=E7=AB=AF=E6=97=B6=E7=A6=81=E7=94=A8?= =?UTF-8?q?=E4=B8=8D=E6=94=AF=E6=8C=81=E7=9A=84=E5=AE=8C=E6=88=90=E5=90=8E?= =?UTF-8?q?=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Models/PostActionSetting.cs | 53 ++++++++++++++++--- .../TaskQueue/PostActionUserControl.xaml | 4 +- 2 files changed, 47 insertions(+), 10 deletions(-) diff --git a/src/MaaWpfGui/Models/PostActionSetting.cs b/src/MaaWpfGui/Models/PostActionSetting.cs index 0aa3291f89..d79072e021 100644 --- a/src/MaaWpfGui/Models/PostActionSetting.cs +++ b/src/MaaWpfGui/Models/PostActionSetting.cs @@ -122,6 +122,11 @@ public class PostActionSetting : PropertyChangedBase private bool _backToAndroidHome; + /// + /// Gets a value indicating whether AttachWindow 模式支持 Android 侧后处理动作。 + /// + public bool AndroidControlPostActionsEnabled => !_exitEmulator && !ConnectSettingsUserControlModel.Instance.UseAttachWindow; + public bool BackToAndroidHome { get => _backToAndroidHome; @@ -163,6 +168,8 @@ public class PostActionSetting : PropertyChangedBase return; } + NotifyOfPropertyChange(nameof(AndroidControlPostActionsEnabled)); + if (value) { ExitArknights = false; @@ -426,22 +433,51 @@ public class PostActionSetting : PropertyChangedBase Shutdown = _postActions.HasFlag(PostActions.Shutdown); Sleep = _postActions.HasFlag(PostActions.Sleep); Once = false; - ClearExitEmulatorForAttachWindow(); + ClearUnsupportedPostActionsForAttachWindow(); } /// - /// PC 端不支持退出模拟器:移除已保存的该标志,且不触发「取消如果没有其他 MAA」的联动。 + /// PC 端(窗口绑定)不支持 ADB 侧后处理动作:移除已保存的相关标志,且不触发额外联动。 /// - private void ClearExitEmulatorForAttachWindow() + private void ClearUnsupportedPostActionsForAttachWindow() { - if (!ConnectSettingsUserControlModel.Instance.UseAttachWindow || !_exitEmulator) + if (!ConnectSettingsUserControlModel.Instance.UseAttachWindow) { return; } - _exitEmulator = false; - _postActions &= ~PostActions.ExitEmulator; - NotifyOfPropertyChange(nameof(ExitEmulator)); + var changed = false; + + if (_backToAndroidHome) + { + _backToAndroidHome = false; + _postActions &= ~PostActions.BackToAndroidHome; + NotifyOfPropertyChange(nameof(BackToAndroidHome)); + changed = true; + } + + if (_exitArknights) + { + _exitArknights = false; + _postActions &= ~PostActions.ExitArknights; + NotifyOfPropertyChange(nameof(ExitArknights)); + changed = true; + } + + if (_exitEmulator) + { + _exitEmulator = false; + _postActions &= ~PostActions.ExitEmulator; + NotifyOfPropertyChange(nameof(ExitEmulator)); + changed = true; + } + + if (!changed) + { + return; + } + + NotifyOfPropertyChange(nameof(AndroidControlPostActionsEnabled)); RefreshDescription(); SaveActions(); } @@ -452,8 +488,9 @@ public class PostActionSetting : PropertyChangedBase { if (e.PropertyName is nameof(ConnectSettingsUserControlModel.ConnectConfig) or nameof(ConnectSettingsUserControlModel.UseAttachWindow)) { + NotifyOfPropertyChange(nameof(AndroidControlPostActionsEnabled)); NotifyOfPropertyChange(nameof(ExitEmulatorOptionEnabled)); - ClearExitEmulatorForAttachWindow(); + ClearUnsupportedPostActionsForAttachWindow(); } }; diff --git a/src/MaaWpfGui/Views/UserControl/TaskQueue/PostActionUserControl.xaml b/src/MaaWpfGui/Views/UserControl/TaskQueue/PostActionUserControl.xaml index ad5cae396c..790cacd595 100644 --- a/src/MaaWpfGui/Views/UserControl/TaskQueue/PostActionUserControl.xaml +++ b/src/MaaWpfGui/Views/UserControl/TaskQueue/PostActionUserControl.xaml @@ -32,14 +32,14 @@