tweaking activity selection
This commit is contained in:
parent
121f06cb3b
commit
4c9cd60e95
4 changed files with 27 additions and 7 deletions
|
|
@ -127,14 +127,30 @@ class MessageAnalyticsEntry {
|
|||
}
|
||||
|
||||
// limit to 3 activities
|
||||
return queue.take(3).toList();
|
||||
final limited = queue.take(3).toList();
|
||||
|
||||
debugPrint("activities for ${PangeaToken.reconstructText(_tokens)}");
|
||||
for (final activity in limited) {
|
||||
debugPrint("activity: ${activity.activityType}");
|
||||
for (final token in activity.tokens) {
|
||||
debugPrint("token: ${token.analyticsDebugPrint}");
|
||||
}
|
||||
}
|
||||
|
||||
return limited;
|
||||
}
|
||||
|
||||
/// Adds a word focus listening activity to the front of the queue
|
||||
/// And limits to 3 activities
|
||||
void addForWordMeaning(PangeaToken selectedToken) {
|
||||
final int index = _activityQueue.isNotEmpty &&
|
||||
_activityQueue.first.activityType ==
|
||||
ActivityTypeEnum.hiddenWordListening
|
||||
? 1
|
||||
: 0;
|
||||
|
||||
_activityQueue.insert(
|
||||
0,
|
||||
index,
|
||||
TargetTokensAndActivityType(
|
||||
tokens: [selectedToken],
|
||||
activityType: ActivityTypeEnum.wordMeaning,
|
||||
|
|
|
|||
|
|
@ -140,6 +140,9 @@ class PangeaToken {
|
|||
bool get isContentWord =>
|
||||
["NOUN", "VERB", "ADJ", "ADV"].contains(pos) && lemma.saveVocab;
|
||||
|
||||
String get analyticsDebugPrint =>
|
||||
"content: ${text.content} isContentWord: $isContentWord total_xp:$xp vocab_construct_xp: ${vocabConstruct.points} daysSincelastUseInWordMeaning ${daysSinceLastUseByType(ActivityTypeEnum.wordMeaning)}";
|
||||
|
||||
bool get canBeDefined =>
|
||||
[
|
||||
"ADJ",
|
||||
|
|
@ -249,9 +252,11 @@ class PangeaToken {
|
|||
switch (a) {
|
||||
case ActivityTypeEnum.wordMeaning:
|
||||
if (isContentWord) {
|
||||
return vocabConstruct.points < 15 || daysSinceLastUseByType(a) > 2;
|
||||
return vocabConstruct.points < 10 || daysSinceLastUseByType(a) > 7;
|
||||
} else if (canBeDefined) {
|
||||
return !_didActivity(a) && vocabConstruct.points < 5;
|
||||
} else {
|
||||
return vocabConstruct.points < 5 || daysSinceLastUseByType(a) > 7;
|
||||
return false;
|
||||
}
|
||||
case ActivityTypeEnum.wordFocusListening:
|
||||
return !_didActivitySuccessfully(a) || daysSinceLastUseByType(a) > 30;
|
||||
|
|
|
|||
|
|
@ -86,8 +86,7 @@ class MessageOverlayController extends State<MessageSelectionOverlay>
|
|||
}
|
||||
|
||||
debugPrint(
|
||||
"selected token: ${widget._initialSelectedToken?.text.content} total_xp:${widget._initialSelectedToken?.xp} vocab_construct_xp: ${widget._initialSelectedToken?.vocabConstruct.points} daysSincelastUseInWordMeaning ${widget._initialSelectedToken?.daysSinceLastUseByType(ActivityTypeEnum.wordMeaning)}",
|
||||
);
|
||||
"selected token ${widget._initialSelectedToken?.analyticsDebugPrint}");
|
||||
debugPrint(
|
||||
"${widget._initialSelectedToken?.vocabConstruct.uses.map((u) => "${u.useType} ${u.timeStamp}").join(", ")}",
|
||||
);
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ class PracticeActivityCardState extends State<PracticeActivityCard> {
|
|||
}
|
||||
|
||||
debugPrint(
|
||||
"client requesting ${nextActivitySpecs.activityType.string} for: ${nextActivitySpecs.tokens.map((t) => t.text.content).join(' ')}",
|
||||
"client requesting ${nextActivitySpecs.activityType.string} for: ${nextActivitySpecs.tokens.map((t) => "word: ${t.text.content} xp: ${t.xp}").join(' ')}",
|
||||
);
|
||||
|
||||
final PracticeActivityModelResponse? activityResponse =
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue