最小化弹窗问题
This commit is contained in:
parent
84b68fbb4a
commit
95dcd7e625
@ -1928,16 +1928,20 @@ class RealTimeMessagingManager extends ChangeNotifier {
|
||||
currentContext,
|
||||
listen: false,
|
||||
);
|
||||
final isCurrentVisibleRoom =
|
||||
rtcProvider.shouldShowRoomVisualEffects &&
|
||||
rtcProvider.isVoiceRoomRouteVisible;
|
||||
final launch = _buildRoomRocketLaunchFromStatusPayload(
|
||||
rtcProvider: rtcProvider,
|
||||
payload: data,
|
||||
roomId: roomId,
|
||||
);
|
||||
if (_shouldHandleRoomRocketLaunchFromStatusPayload(
|
||||
rtcProvider: rtcProvider,
|
||||
payload: data,
|
||||
launch: launch,
|
||||
)) {
|
||||
if (isCurrentVisibleRoom &&
|
||||
_shouldHandleRoomRocketLaunchFromStatusPayload(
|
||||
rtcProvider: rtcProvider,
|
||||
payload: data,
|
||||
launch: launch,
|
||||
)) {
|
||||
_handleCurrentVisibleRoomRocketLaunch(
|
||||
rtcProvider: rtcProvider,
|
||||
launch: launch,
|
||||
@ -2004,6 +2008,9 @@ class RealTimeMessagingManager extends ChangeNotifier {
|
||||
if (!_isCurrentVoiceRoom(resolvedRoomId)) {
|
||||
return;
|
||||
}
|
||||
if (!_isCurrentVisibleVoiceRoom(resolvedRoomId)) {
|
||||
return;
|
||||
}
|
||||
|
||||
final initialRoomRecords = _roomRocketRewardRecordsFromPayload(data);
|
||||
unawaited(
|
||||
@ -2018,6 +2025,9 @@ class RealTimeMessagingManager extends ChangeNotifier {
|
||||
required RealTimeCommunicationManager rtcProvider,
|
||||
required RoomRocketLaunchBroadcastMessage launch,
|
||||
}) {
|
||||
if (!_isCurrentVisibleVoiceRoom(launch.roomId)) {
|
||||
return;
|
||||
}
|
||||
final launchKey = _roomRocketLaunchNoticeKey(launch);
|
||||
final looseLaunchKey = _roomRocketLaunchLooseKey(launch);
|
||||
final now = DateTime.now().millisecondsSinceEpoch;
|
||||
@ -2070,8 +2080,14 @@ class RealTimeMessagingManager extends ChangeNotifier {
|
||||
List<SCRoomRocketRewardRecordRes> initialRoomRecords =
|
||||
const <SCRoomRocketRewardRecordRes>[],
|
||||
}) async {
|
||||
if (!_isCurrentVisibleVoiceRoom(roomId)) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
final res = await SCChatRoomRepository().roomRocketRewardPopups(roomId);
|
||||
if (!_isCurrentVisibleVoiceRoom(roomId)) {
|
||||
return;
|
||||
}
|
||||
if (res.records.isEmpty && initialRoomRecords.isEmpty) {
|
||||
_scheduleRoomRocketRewardPopupRetry(
|
||||
roomId,
|
||||
@ -2128,7 +2144,7 @@ class RealTimeMessagingManager extends ChangeNotifier {
|
||||
const <SCRoomRocketRewardRecordRes>[],
|
||||
}) {
|
||||
if (attempt >= _roomRocketRewardPopupRetryDelays.length ||
|
||||
!_isCurrentVoiceRoom(roomId)) {
|
||||
!_isCurrentVisibleVoiceRoom(roomId)) {
|
||||
return;
|
||||
}
|
||||
_roomRocketRewardPopupRetryTimer?.cancel();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user