only add hidden message activities if the rep event langCode is the user's l2 (#1036)

pull/1490/head
ggurdin 12 months ago committed by GitHub
parent f66697330e
commit 3e920a420a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -2,6 +2,7 @@ import 'dart:math';
import 'package:fluffychat/pangea/controllers/get_analytics_controller.dart';
import 'package:fluffychat/pangea/enum/activity_type_enum.dart';
import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart';
import 'package:fluffychat/pangea/models/pangea_token_model.dart';
import 'package:fluffychat/pangea/models/practice_activities.dart/practice_activity_model.dart';
import 'package:flutter/foundation.dart';
@ -234,7 +235,7 @@ class MessageAnalyticsController {
MessageAnalyticsEntry? get(
List<PangeaToken> tokens,
bool includeHiddenWordActivities,
PangeaMessageEvent pangeaMessageEvent,
) {
final String key = _key(tokens);
@ -242,6 +243,10 @@ class MessageAnalyticsController {
return _cache[key];
}
final bool includeHiddenWordActivities = !pangeaMessageEvent.ownMessage &&
pangeaMessageEvent.messageDisplayRepresentation?.tokens != null &&
pangeaMessageEvent.messageDisplayLangIsL2;
_cache[key] = MessageAnalyticsEntry(
tokens: tokens,
includeHiddenWordActivities: includeHiddenWordActivities,

@ -550,6 +550,10 @@ class PangeaMessageEvent {
String? get l1Code =>
MatrixState.pangeaController.languageController.userL1?.langCode;
/// Should almost always be true. Useful in the case that the message
/// display rep has the langCode "unk"
bool get messageDisplayLangIsL2 => messageDisplayLangCode == l2Code;
String get messageDisplayLangCode {
final bool immersionMode = MatrixState
.pangeaController.permissionsController

@ -153,9 +153,7 @@ class MessageOverlayController extends State<MessageSelectionOverlay>
MessageAnalyticsEntry? get messageAnalyticsEntry => tokens != null
? MatrixState.pangeaController.getAnalytics.perMessage.get(
tokens!,
// this logic should be in the controller
!pangeaMessageEvent.ownMessage &&
pangeaMessageEvent.messageDisplayRepresentation?.tokens != null,
pangeaMessageEvent,
)
: null;

@ -34,9 +34,7 @@ class MessageTokenText extends StatelessWidget {
MessageAnalyticsEntry? get messageAnalyticsEntry => _tokens != null
? MatrixState.pangeaController.getAnalytics.perMessage.get(
_tokens!,
// this logic should be in the controller
!_pangeaMessageEvent.ownMessage &&
_pangeaMessageEvent.messageDisplayRepresentation?.tokens != null,
_pangeaMessageEvent,
)
: null;

Loading…
Cancel
Save