in frontend/frontend-flutter/lib/main.dart [263:338]
void _addData(String data, bool isHistory) {
List<MostPopularQ>? mostPopularQuestionsList = <MostPopularQ>[];
int lenghtTmp = 0;
String timeString = "";
timeString = displayDateTime();
if (data.length == 0) return;
print("Main: _addData : BEFORE ADD : nodes.length = ${nodes.length}");
print("Main: _addData : BEFORE ADD : data = ${data}");
print("Main: _addData : BEFORE ADD : nodes = ${nodes}");
if (isHistory)
nodes.add(TreeNode(timeString + "|||" + data)); //displayDateTime()
else
nodes.add(TreeNode(data));
//add questions to mostPopularQuestionsMap
if (mostPopularQuestionsMap!.containsKey(data)) {
print('Main: _addData : mostPopularQuestionsMap contains $data');
print(
'Main: _addData : mostPopularQuestionsMap : BEFORE INCREMENT : (mostPopularQuestionsMap![data] as MostPopularQ).count = ${(mostPopularQuestionsMap![data] as MostPopularQ).count}');
mostPopularQuestionsMap![data]!.count =
mostPopularQuestionsMap![data]!.count + 1;
mostPopularQuestionsMap![data]!.time = timeString;
print(
'Main: _addData : mostPopularQuestionsMap : AFTER INCREMENT : (mostPopularQuestionsMap![data] as MostPopularQ).count = ${(mostPopularQuestionsMap![data] as MostPopularQ).count}');
} else {
print('Main: _addData : mostPopularQuestionsMap does not contain $data');
mostPopularQuestionsMap![data] = MostPopularQ(data, 1, timeString);
}
var sortedByValueMap = Map.fromEntries(
mostPopularQuestionsMap!.entries.toList()
..sort((e1, e2) => e2.value.count.compareTo(e1.value.count)));
print(
'Main: _addData : sortedByValueMap.length = ${sortedByValueMap.length}');
print('Main: _addData : sortedByValueMap = $sortedByValueMap');
int countEntries = 0;
for (var entry in sortedByValueMap.entries) {
mostPopularQuestionsList!.add(entry.value);
if (countEntries == 2 || countEntries == sortedByValueMap.length - 1)
break;
countEntries++;
}
//countEntries = 0;
print(
"Main: _addData : BEFORE FILLING : mostPopularQuestionsList.length = ${mostPopularQuestionsList.length}");
print(
"Main: _addData : BEFORE FILLING : mostPopularQuestionsList = ${mostPopularQuestionsList}");
lenghtTmp = mostPopularQuestionsList.length;
//Fill mostPopularQuestionsList with dummy entries if there are not 3 most popular questions
for (int i = 0; i <= (2 - lenghtTmp); i++) {
mostPopularQuestionsList!.add(MostPopularQ("", 0, ""));
}
print(
"Main: _addData : AFTER FILLING : mostPopularQuestionsList.length = ${mostPopularQuestionsList.length}");
print(
"Main: _addData : AFTER FILLING : mostPopularQuestionsList = ${mostPopularQuestionsList}");
//Update the 3 most popular questions
BlocProvider.of<UpdatePopularQuestionsCubit>(context)
.updateMostPopularQuestions(
mostPopularQuestionsList: mostPopularQuestionsList!,
time: timeString);
print("Main: _addData : AFTER : nodes.length = ${nodes.length}");
print("Main: _addData : AFTER : nodes = ${nodes}");
}