fix: save activities to analytics room for corresponding language (#5514)
This commit is contained in:
parent
85a2b9efe9
commit
ed6c2ff5ad
2 changed files with 14 additions and 4 deletions
|
|
@ -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<void> _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,
|
||||
|
|
|
|||
|
|
@ -128,12 +128,14 @@ class AnalyticsUpdateService {
|
|||
await future;
|
||||
}
|
||||
|
||||
Future<void> sendActivityAnalytics(String roomId) async {
|
||||
final analyticsRoom = await _getAnalyticsRoom();
|
||||
Future<void> 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<void> blockConstruct(ConstructIdentifier constructId) async {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue