fullTaskNameAtFrame method
Implementation
String fullTaskNameAtFrame([List<String>? subTasks]) {
subTasks?.removeWhere((val) => val.isEmpty);
String currentTaskMethodName = "unknown";
// Capture the stack trace
final frames = StackTrace.current.toString().split('\n');
// Find the first frame that is not part of this manager infrastructure
for (var frame in frames) {
if (frame.contains('ManagersResultData') ||
frame.contains('StackTrace') ||
frame.isEmpty ||
frame.startsWith('<')) {
continue;
}
final currentTaskInfo = getClassAndMethodName(frame);
if (currentTaskInfo != null) {
currentTaskMethodName = currentTaskInfo.split(".").last;
break;
}
}
final taskFullName =
currentTaskMethodName +
((subTasks == null || subTasks.isEmpty)
? ""
: ".${subTasks.join(".")}");
succeedTasks.add(taskFullName);
return taskFullName;
}