移除 XPRoomViewController 中的测试按钮及相关逻辑,优化 RoomAnimationView 的动画取消和清理逻辑,新增 TurboModeStateManager 的静默设置功能,确保在不发送通知的情况下更新 Turbo 模式状态。同时,修复 XPEffectPanelViewController 中的开关状态更新逻辑,提升代码可维护性和用户体验。

This commit is contained in:
edwinQQQ
2025-09-10 17:47:51 +08:00
parent 58ff7805bf
commit 5646168553
7 changed files with 35 additions and 60 deletions

View File

@@ -232,7 +232,17 @@ BannerSchedulerDelegate
return;
}
[self cancelAllAnimations];
//
[self pop_removeAllAnimations];
//
NSArray *containers = @[self.bannerContainer, self.topContainer, self.middleContainer, self.bottomContainer];
for (UIView *container in containers) {
if (!container) continue;
for (UIView *subview in container.subviews) {
[subview pop_removeAllAnimations];
}
}
}
@@ -251,7 +261,8 @@ BannerSchedulerDelegate
return;
}
[self cleanupAllSubviews];
//
[self forceCleanupAllSubviews];
}
- (void)forceCleanupAllSubviews {

View File

@@ -15,6 +15,7 @@ NS_ASSUME_NONNULL_BEGIN
// 全局 turbo mode 开关(不按房间)
- (void)setTurboModeEnabled:(BOOL)enabled;
- (void)setTurboModeEnabledSilently:(BOOL)enabled; // 🔧 新增:静默设置,不发送通知
- (BOOL)isTurboModeEnabled;
// 将当前全局 turbo mode 应用到指定房间的三个开关(礼物特效临时、两全局屏幕持久化)

View File

@@ -195,6 +195,15 @@
userInfo:@{@"enabled": @(enabled)}];
}
// 🔧 turbo mode
- (void)setTurboModeEnabledSilently:(BOOL)enabled {
self.globalTurboEnabled = enabled;
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"TurboMode_Global"];
[[NSUserDefaults standardUserDefaults] synchronize];
NSLog(@"🎮 TurboModeStateManager: 全局 turbo mode 静默设置为 %@", enabled ? @"开启" : @"关闭");
}
- (BOOL)isTurboModeEnabled {
return self.globalTurboEnabled;
}

View File

@@ -205,12 +205,14 @@
BOOL currentTurboMode = [[TurboModeStateManager sharedManager] isTurboModeEnabled];
if (currentTurboMode && isOn) {
// turbo mode turbo mode
[[TurboModeStateManager sharedManager] setTurboModeEnabled:NO];
// turbo mode turbo mode
[[TurboModeStateManager sharedManager] setTurboModeEnabledSilently:NO];
// 🔧 使 TurboModeStateManager
// 🔧
TurboModeStateManager *manager = [TurboModeStateManager sharedManager];
if (sender.tag == 1) { //
if (sender.tag == 0) { //
[manager updateGiftEffectsForRoom:self.roomId enabled:YES];
} else if (sender.tag == 1) { //
[manager setGlobalGiftScreenEnabledForRoom:self.roomId enabled:YES];
} else if (sender.tag == 2) { //
[manager setGlobalGameScreenEnabledForRoom:self.roomId enabled:YES];
@@ -218,7 +220,7 @@
[manager setCpMicEnabledForRoom:self.roomId enabled:YES];
}
NSLog(@"🎮 Turbo Mode 已自动关闭,开关 %ld 已开启", (long)sender.tag);
NSLog(@"🎮 Turbo Mode 已静默关闭,开关 %ld 已开启", (long)sender.tag);
return;
}

View File

@@ -62,16 +62,6 @@
rectView.userInteractionEnabled = NO;
rectView.tag = 56002;
#if DEBUG
// DEBUG50%
UILabel *label = [[UILabel alloc] init];
label.text = micPairText;
label.textColor = [[UIColor whiteColor] colorWithAlphaComponent:0.5];
label.font = [UIFont boldSystemFontOfSize:12];
label.textAlignment = NSTextAlignmentCenter;
label.frame = rectView.bounds;
[rectView addSubview:label];
#endif
//
[self.containerView addSubview:rectView];

View File

@@ -905,6 +905,11 @@
@kStrongify(self);
if (error || members.count == 0) {
#if DEBUG
[XNDJTDDLoadingTool showErrorWithMessage:error.localizedDescription];
#else
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"HttpRequestHelper4")];
#endif
self.isUpingMic = NO;
return;
}

View File

@@ -671,10 +671,6 @@ XPCandyTreeInsufficientBalanceViewDelegate>
[self.view addSubview:self.functionView];
[self.view addSubview:self.animationView];
// 🔧 Turbo Mode Tips
#if DEBUG
[self addTestButton];
#endif
}
- (void)__layoutTwentyMicStage {
@@ -3628,45 +3624,6 @@ XPCandyTreeInsufficientBalanceViewDelegate>
NSLog(@" - stageView.class: %@", NSStringFromClass([self.stageView class]));
}
#pragma mark -
- (void)addTestButton {
//
UIButton *testButton = [UIButton buttonWithType:UIButtonTypeSystem];
[testButton setTitle:@"🧪 Test Tips" forState:UIControlStateNormal];
[testButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
testButton.backgroundColor = [UIColor colorWithRed:0.2 green:0.6 blue:0.8 alpha:0.9];
testButton.layer.cornerRadius = 15.0;
testButton.layer.borderWidth = 1.0;
testButton.layer.borderColor = [UIColor whiteColor].CGColor;
//
[testButton addTarget:self action:@selector(testButtonTapped) forControlEvents:UIControlEventTouchUpInside];
//
[self.view addSubview:testButton];
// -
[testButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.view).offset(100); //
make.trailing.equalTo(self.view).offset(-20);
make.width.equalTo(@120);
make.height.equalTo(@35);
}];
NSLog(@"🎮 测试按钮已添加到房间界面 - 位置右上角距离顶部100距离右边20");
}
- (void)testButtonTapped {
NSLog(@"🎮 测试按钮被点击,准备模拟卡顿检测");
NSLog(@"🎮 当前时间:%@", [NSDate date]);
NSLog(@"🎮 房间状态:%@", self.roomInfo ? @"已进入" : @"未进入");
// BuglyManager
[[BuglyManager sharedManager] simulateLagDetection];
NSLog(@"🎮 卡顿检测模拟已触发,计数将增加");
}
/// StageView
- (void)drawSocialStageMidpointRects {