Exclude the word_focus_listening activity from the list of client compatible activities
This commit is contained in:
parent
acd5bad957
commit
fe41800e05
2 changed files with 32 additions and 2 deletions
|
|
@ -195,6 +195,8 @@ class MessageActivityRequest {
|
|||
|
||||
final String messageId;
|
||||
|
||||
final List<ActivityTypeEnum> clientCompatibleActivities;
|
||||
|
||||
MessageActivityRequest({
|
||||
required this.userL1,
|
||||
required this.userL2,
|
||||
|
|
@ -203,9 +205,28 @@ class MessageActivityRequest {
|
|||
required this.messageId,
|
||||
required this.existingActivities,
|
||||
required this.activityQualityFeedback,
|
||||
});
|
||||
clientCompatibleActivities,
|
||||
}) : clientCompatibleActivities =
|
||||
clientCompatibleActivities ?? ActivityTypeEnum.values;
|
||||
|
||||
factory MessageActivityRequest.fromJson(Map<String, dynamic> json) {
|
||||
final clientCompatibleActivitiesEntry =
|
||||
json['client_version_compatible_activity_types'];
|
||||
List<ActivityTypeEnum>? clientCompatibleActivities;
|
||||
if (clientCompatibleActivitiesEntry != null &&
|
||||
clientCompatibleActivitiesEntry is List) {
|
||||
clientCompatibleActivities = clientCompatibleActivitiesEntry
|
||||
.map(
|
||||
(e) => ActivityTypeEnum.values.firstWhereOrNull(
|
||||
(element) =>
|
||||
element.string == e as String ||
|
||||
element.string.split('.').last == e,
|
||||
),
|
||||
)
|
||||
.where((entry) => entry != null)
|
||||
.cast<ActivityTypeEnum>()
|
||||
.toList();
|
||||
}
|
||||
return MessageActivityRequest(
|
||||
userL1: json['user_l1'] as String,
|
||||
userL2: json['user_l2'] as String,
|
||||
|
|
@ -224,6 +245,10 @@ class MessageActivityRequest {
|
|||
json['activity_quality_feedback'] as Map<String, dynamic>,
|
||||
)
|
||||
: null,
|
||||
clientCompatibleActivities: clientCompatibleActivities != null &&
|
||||
clientCompatibleActivities.isNotEmpty
|
||||
? clientCompatibleActivities
|
||||
: ActivityTypeEnum.values,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -241,7 +266,7 @@ class MessageActivityRequest {
|
|||
// the server will only return activities of these types
|
||||
// this for backwards compatibility with old clients
|
||||
'client_version_compatible_activity_types':
|
||||
ActivityTypeEnum.values.map((e) => e.string).toList(),
|
||||
clientCompatibleActivities.map((e) => e.string).toList(),
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -148,6 +148,11 @@ class PracticeActivityCardState extends State<PracticeActivityCard> {
|
|||
.map((activity) => activity.activityRequestMetaData)
|
||||
.toList(),
|
||||
activityQualityFeedback: activityFeedback,
|
||||
clientCompatibleActivities: widget.tts.isLanguageFullySupported
|
||||
? ActivityTypeEnum.values
|
||||
: ActivityTypeEnum.values
|
||||
.where((type) => type != ActivityTypeEnum.wordFocusListening)
|
||||
.toList(),
|
||||
),
|
||||
widget.pangeaMessageEvent,
|
||||
);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue