diff --git a/lib/pangea/activity_sessions/activity_session_chat/activity_finished_status_message.dart b/lib/pangea/activity_sessions/activity_session_chat/activity_finished_status_message.dart index 971fa359f..dbd0b0578 100644 --- a/lib/pangea/activity_sessions/activity_session_chat/activity_finished_status_message.dart +++ b/lib/pangea/activity_sessions/activity_session_chat/activity_finished_status_message.dart @@ -9,6 +9,7 @@ import 'package:fluffychat/pangea/activity_sessions/activity_room_extension.dart import 'package:fluffychat/pangea/activity_summary/activity_summary_model.dart'; import 'package:fluffychat/pangea/common/utils/error_handler.dart'; import 'package:fluffychat/pangea/common/widgets/error_indicator.dart'; +import 'package:fluffychat/pangea/languages/p_language_store.dart'; import 'package:fluffychat/widgets/matrix.dart'; class ActivityFinishedStatusMessage extends StatelessWidget { @@ -28,10 +29,17 @@ class ActivityFinishedStatusMessage extends StatelessWidget { Future _archiveToAnalytics() async { try { + final activityPlan = controller.room.activityPlan; + if (activityPlan == null) { + throw Exception("No activity plan found for room"); + } + + final lang = activityPlan.req.targetLanguage.split("-").first; + final langModel = PLanguageStore.byLangCode(lang)!; await controller.room.archiveActivity(); await MatrixState .pangeaController.matrixState.analyticsDataService.updateService - .sendActivityAnalytics(controller.room.id); + .sendActivityAnalytics(controller.room.id, langModel); } catch (e, s) { ErrorHandler.logError( e: e, diff --git a/lib/pangea/analytics_data/analytics_update_service.dart b/lib/pangea/analytics_data/analytics_update_service.dart index d2bfd164e..e0cd2d66c 100644 --- a/lib/pangea/analytics_data/analytics_update_service.dart +++ b/lib/pangea/analytics_data/analytics_update_service.dart @@ -128,12 +128,14 @@ class AnalyticsUpdateService { await future; } - Future sendActivityAnalytics(String roomId) async { - final analyticsRoom = await _getAnalyticsRoom(); + Future sendActivityAnalytics(String roomId, LanguageModel lang) async { + final analyticsRoom = await _getAnalyticsRoom(l2Override: lang); if (analyticsRoom == null) return; await analyticsRoom.addActivityRoomId(roomId); - dataService.updateDispatcher.sendActivityAnalyticsUpdate(roomId); + if (lang.langCodeShort == _l2?.langCodeShort) { + dataService.updateDispatcher.sendActivityAnalyticsUpdate(roomId); + } } Future blockConstruct(ConstructIdentifier constructId) async {