diff --git a/lib/pangea/controllers/my_analytics_controller.dart b/lib/pangea/controllers/my_analytics_controller.dart index deafd8f2a..4b7c8cc96 100644 --- a/lib/pangea/controllers/my_analytics_controller.dart +++ b/lib/pangea/controllers/my_analytics_controller.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:developer'; import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; +import 'package:fluffychat/pangea/enum/construct_type_enum.dart'; import 'package:fluffychat/pangea/models/student_analytics_summary_model.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:flutter/foundation.dart'; @@ -96,7 +97,7 @@ class MyAnalyticsController { saveFutures.add( analyticsRoom.saveConstructUsesSameLemma( uses.key, - uses.value.first.constructType!, + uses.value.first.constructType ?? ConstructType.grammar, uses.value, isEdit: isEdit, ), diff --git a/lib/pangea/models/construct_analytics_event.dart b/lib/pangea/models/construct_analytics_event.dart index a97950cdd..176d84bbd 100644 --- a/lib/pangea/models/construct_analytics_event.dart +++ b/lib/pangea/models/construct_analytics_event.dart @@ -36,6 +36,7 @@ class ConstructEvent { Client client, ) async { _contentCache ??= ConstructUses.fromJson(event.content); + if (_contentCache == null || _event.stateKey == null) return; final previousLength = _contentCache!.uses.length; _contentCache!.uses.removeWhere( (element) => removeIds.contains(element.msgId),