popNavigator method

dynamic popNavigator(
  1. BuildContext context, [
  2. bool useRootNavigator = false
])

Implementation

popNavigator(BuildContext context, [bool useRootNavigator = false]) {
  Tools.closeAllDialogs();
  Tools.closeAllFloating();
  if (context.mounted) {
    final navigator = Navigator.of(context);
    if (navigator.canPop()) {
      TCICLog.info('popNavigator: canPop', actionModule: ActionModule.tcicController.name, actionName: ActionName.popNavigator.name);
      setIsTCICDestroy(true);
      navigator.pop();
    } else {
      TCICLog.info('popNavigator: can not pop', actionModule: ActionModule.tcicController.name, actionName: ActionName.popNavigator.name);
    }
  } else {
    if (_rootContext != null) {
      final navigator = Navigator.of(_rootContext!);
      if (navigator.canPop()) {
        TCICLog.info('popNavigator: canPop', actionModule: ActionModule.tcicController.name, actionName: ActionName.popNavigator.name);
        setIsTCICDestroy(true);
        navigator.pop();
      } else {
        TCICLog.info('popNavigator: can not pop', actionModule: ActionModule.tcicController.name, actionName: ActionName.popNavigator.name);
      }
    } else {
      TCICLog.error("rootContext is null", actionModule: ActionModule.tcicController.name, actionName: ActionName.popNavigator.name);
      // 获取当前栈顶的context
    }
  }
  _eventbus.fire(MainEvent(type: EventTypeEnum.pagePop));
}