diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index 7c9385d..e43756d 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -524,7 +524,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/RunnerRelease.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 160;
+ CURRENT_PROJECT_VERSION = 100;
DEVELOPMENT_TEAM = S9YG87C297;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@@ -533,7 +533,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 1.6.0;
+ MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.org.yumiparty;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -715,7 +715,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/RunnerDebug.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 160;
+ CURRENT_PROJECT_VERSION = 100;
DEVELOPMENT_TEAM = S9YG87C297;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@@ -724,7 +724,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 1.6.0;
+ MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.org.yumiparty;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -744,7 +744,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/RunnerRelease.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 160;
+ CURRENT_PROJECT_VERSION = 100;
DEVELOPMENT_TEAM = S9YG87C297;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@@ -753,7 +753,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 1.6.0;
+ MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.org.yumiparty;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 7a762e6..76689b7 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -31,8 +31,8 @@
yumi
CFBundlePackageType
APPL
- CFBundleShortVersionString
- $(FLUTTER_BUILD_NAME)
+ CFBundleShortVersionString
+ 1.0.0
CFBundleSignature
????
CFBundleURLTypes
@@ -56,8 +56,8 @@
- CFBundleVersion
- $(FLUTTER_BUILD_NUMBER)
+ CFBundleVersion
+ 100
LSRequiresIPhoneOS
NSCameraUsageDescription
diff --git a/lib/modules/gift/gift_page.dart b/lib/modules/gift/gift_page.dart
index d693ead..12efe0d 100644
--- a/lib/modules/gift/gift_page.dart
+++ b/lib/modules/gift/gift_page.dart
@@ -1761,6 +1761,42 @@ class _GiftPageState extends State with TickerProviderStateMixin {
'hasFullScreenEffect=$hasFullScreenEffect '
'effectsEnabled=${SCGlobalConfig.isGiftSpecialEffects}',
);
+ if (gift.giftSourceUrl != null && gift.special != null) {
+ if (scGiftHasFullScreenEffect(gift.special)) {
+ if (SCGlobalConfig.allowsHighCostAnimations &&
+ SCGlobalConfig.isGiftSpecialEffects &&
+ (rtcProvider?.shouldShowRoomVisualEffects ?? false)) {
+ _giftFxLog(
+ 'local trigger player play '
+ 'path=${gift.giftSourceUrl} '
+ 'giftId=${gift.id} '
+ 'giftName=${gift.giftName} '
+ 'animationCount=$animationCount',
+ );
+ SCGiftVapSvgaManager().play(gift.giftSourceUrl!);
+ } else {
+ _giftFxLog(
+ 'skip local play because visual effects disabled '
+ 'giftId=${gift.id} '
+ 'isGiftSpecialEffects=${SCGlobalConfig.isGiftSpecialEffects} '
+ 'roomVisible=${rtcProvider?.shouldShowRoomVisualEffects ?? false}',
+ );
+ }
+ } else {
+ _giftFxLog(
+ 'skip local play because special does not include '
+ '${SCGiftType.ANIMSCION.name}/$kSCGiftAnimationSpecialAlias/${SCGiftType.GLOBAL_GIFT.name} '
+ 'giftId=${gift.id} special=${gift.special}',
+ );
+ }
+ } else {
+ _giftFxLog(
+ 'skip local play because giftSourceUrl or special is null '
+ 'giftId=${gift.id} '
+ 'giftSourceUrl=${gift.giftSourceUrl} '
+ 'special=${gift.special}',
+ );
+ }
Provider.of(
navigatorKey.currentState!.context,
listen: false,
@@ -1826,42 +1862,6 @@ class _GiftPageState extends State with TickerProviderStateMixin {
),
);
}
- if (gift.giftSourceUrl != null && gift.special != null) {
- if (scGiftHasFullScreenEffect(gift.special)) {
- if (SCGlobalConfig.allowsHighCostAnimations &&
- SCGlobalConfig.isGiftSpecialEffects &&
- (rtcProvider?.shouldShowRoomVisualEffects ?? false)) {
- _giftFxLog(
- 'local trigger player play '
- 'path=${gift.giftSourceUrl} '
- 'giftId=${gift.id} '
- 'giftName=${gift.giftName} '
- 'animationCount=$animationCount',
- );
- SCGiftVapSvgaManager().play(gift.giftSourceUrl!);
- } else {
- _giftFxLog(
- 'skip local play because visual effects disabled '
- 'giftId=${gift.id} '
- 'isGiftSpecialEffects=${SCGlobalConfig.isGiftSpecialEffects} '
- 'roomVisible=${rtcProvider?.shouldShowRoomVisualEffects ?? false}',
- );
- }
- } else {
- _giftFxLog(
- 'skip local play because special does not include '
- '${SCGiftType.ANIMSCION.name}/$kSCGiftAnimationSpecialAlias/${SCGiftType.GLOBAL_GIFT.name} '
- 'giftId=${gift.id} special=${gift.special}',
- );
- }
- } else {
- _giftFxLog(
- 'skip local play because giftSourceUrl or special is null '
- 'giftId=${gift.id} '
- 'giftSourceUrl=${gift.giftSourceUrl} '
- 'special=${gift.special}',
- );
- }
}
}
diff --git a/lib/modules/room/voice_room_page.dart b/lib/modules/room/voice_room_page.dart
index 47cfbf4..2f85c93 100644
--- a/lib/modules/room/voice_room_page.dart
+++ b/lib/modules/room/voice_room_page.dart
@@ -727,35 +727,43 @@ class _VoiceRoomPageState extends State
targetGroupKey == null ||
_markGiftVisualBatchForPlayback(msg, targetGroupKey);
if (shouldPlayBatchVisuals) {
- var giftModel = LGiftModel();
- giftModel.labelId = _buildGiftTickerLabelId(msg, targetGroupKey);
- giftModel.sendUserName = msg.user?.userNickname ?? "";
- giftModel.sendToUserName = _resolveGiftTickerTargetName(
- msg,
- targetUserIds,
+ SCRoomEffectScheduler().scheduleDeferredEffect(
+ debugLabel: 'room_gift_ticker_${msg.type}_${msg.gift?.id ?? ""}',
+ action: () {
+ if (!mounted) {
+ return;
+ }
+ var giftModel = LGiftModel();
+ giftModel.labelId = _buildGiftTickerLabelId(msg, targetGroupKey);
+ giftModel.sendUserName = msg.user?.userNickname ?? "";
+ giftModel.sendToUserName = _resolveGiftTickerTargetName(
+ msg,
+ targetUserIds,
+ );
+ giftModel.sendUserPic = msg.user?.userAvatar ?? "";
+ giftModel.giftPic = msg.gift?.giftPhoto ?? "";
+ giftModel.giftCount = msg.number ?? 0;
+ giftModel.giftCountStepUnit = _resolveGiftCountStepUnit(msg);
+ unawaited(
+ warmImageResource(
+ giftModel.sendUserPic,
+ logicalWidth: 26.w,
+ logicalHeight: 26.w,
+ ),
+ );
+ unawaited(
+ warmImageResource(
+ giftModel.giftPic,
+ logicalWidth: 34.w,
+ logicalHeight: 34.w,
+ ),
+ );
+ Provider.of(
+ context,
+ listen: false,
+ ).enqueueGiftAnimation(giftModel);
+ },
);
- giftModel.sendUserPic = msg.user?.userAvatar ?? "";
- giftModel.giftPic = msg.gift?.giftPhoto ?? "";
- giftModel.giftCount = msg.number ?? 0;
- giftModel.giftCountStepUnit = _resolveGiftCountStepUnit(msg);
- unawaited(
- warmImageResource(
- giftModel.sendUserPic,
- logicalWidth: 26.w,
- logicalHeight: 26.w,
- ),
- );
- unawaited(
- warmImageResource(
- giftModel.giftPic,
- logicalWidth: 34.w,
- logicalHeight: 34.w,
- ),
- );
- Provider.of(
- context,
- listen: false,
- ).enqueueGiftAnimation(giftModel);
} else {
debugPrint(
'[GiftFx][voice] skip gift ticker by visual batch dedupe '
diff --git a/lib/shared/data_sources/sources/local/floating_screen_manager.dart b/lib/shared/data_sources/sources/local/floating_screen_manager.dart
index c2f36f5..c075317 100644
--- a/lib/shared/data_sources/sources/local/floating_screen_manager.dart
+++ b/lib/shared/data_sources/sources/local/floating_screen_manager.dart
@@ -85,13 +85,13 @@ class OverlayManager {
SCFloatingMessage message, {
required String debugLabel,
}) {
- unawaited(_warmMessageImages(message));
SCRoomEffectScheduler().scheduleDeferredEffect(
debugLabel: debugLabel,
action: () {
if (_isDisposed || _isSuppressed) {
return;
}
+ unawaited(_warmMessageImages(message));
_messageQueue.add(message);
_safeScheduleNext();
},