dumpToStackInfo method

void dumpToStackInfo(
  1. BuildContext context,
  2. int index
)

Implementation

void dumpToStackInfo(BuildContext context, int index) {
  String targetMethodName = listViewDataList[index].name;

  final stackDataMap = <String, Map<String, List<ChannelItemInfo>>>{};

  allDataMap.forEach((dayStr, channelMap) {
    var stackMap = <String, List<ChannelItemInfo>>{};
    var allMethod = channelMap[targetMethodName];
    allMethod?.forEach((element) {
      List<ChannelItemInfo> item = [];
      if (stackMap.containsKey(element.invokeStackStr)) {
        item = stackMap[element.invokeStackStr]!;
      } else {
        stackMap[element.invokeStackStr] = item;
      }
      item.add(element);
    });
    stackDataMap[dayStr] = stackMap;
  });
  // print("stack $stackDataMap");

  StackDataManager dataManager =
      StackDataManager(targetMethodName, stackDataMap);
  Navigator.push(
    context,
    MaterialPageRoute(
        builder: (BuildContext context) => BasePage(dataManager)),
  );
}